<?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>27180</bug_id>
          
          <creation_ts>2009-07-11 13:23:49 -0700</creation_ts>
          <short_desc>Cleanup DOM Storage dependencies.</short_desc>
          <delta_ts>2009-07-15 15:56:42 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27181</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jeremy Orlow">jorlow</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>131130</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-11 13:23:49 -0700</bug_when>
    <thetext>DOM Storage has some really bad dependencies.  Most of these are simply because of destructors or constructors.  There&apos;s also a lot of file included that could otherwise just be declared.  Clean this stuff up.

This will allow things like StorageAreaSync to take a StorageAreaImpl* (as it should) rather than a StorageArea* which previously weren&apos;t possible because the dependencies were such a tangled mess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131133</commentid>
    <comment_count>1</comment_count>
      <attachid>32617</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-11 13:47:08 -0700</bug_when>
    <thetext>Created attachment 32617
patch 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131142</commentid>
    <comment_count>2</comment_count>
      <attachid>32617</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-11 15:11:42 -0700</bug_when>
    <thetext>Comment on attachment 32617
patch 1

r=me

Having the reference counter be a friend class and a private destructor does seem slightly tighter than our usual reference counting idiom, which is good.

If it was me I wouldn&apos;t call these &quot;really bad dependencies&quot; or say &quot;such a tangled mess&quot; -- I would intend say something factual about how many extra includes there are and let the reader decide how bad it was.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131169</commentid>
    <comment_count>3</comment_count>
      <attachid>32625</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-12 07:22:29 -0700</bug_when>
    <thetext>Created attachment 32625
rev 2

Cleaned up the ChangeLog wording.

Ready to be landed, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131586</commentid>
    <comment_count>4</comment_count>
      <attachid>32625</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-07-14 09:25:31 -0700</bug_when>
    <thetext>Comment on attachment 32625
rev 2

Yes, this may be landed.  Technically, the lander should use Darin Adler&apos;s r+, not mine.   I&apos;m just confirming the ChangeLog update. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131593</commentid>
    <comment_count>5</comment_count>
      <attachid>32625</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-07-14 09:39:05 -0700</bug_when>
    <thetext>Comment on attachment 32625
rev 2

I&apos;ll set the review flag again just for clarity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131637</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-14 12:37:21 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/45864.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131653</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-14 13:41:30 -0700</bug_when>
    <thetext>This patch broke the Windows build due to Visual Studio complaints about the template friend declaration.

Reverted in http://trac.webkit.org/changeset/45866.

I&apos;m attaching the error log for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131654</commentid>
    <comment_count>8</comment_count>
      <attachid>32732</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-14 13:42:07 -0700</bug_when>
    <thetext>Created attachment 32732
Windows build failure output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131701</commentid>
    <comment_count>9</comment_count>
      <attachid>32732</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-07-14 15:14:45 -0700</bug_when>
    <thetext>Comment on attachment 32732
Windows build failure output.

See also:

http://build.webkit.org/builders/Windows%20Release%20%28Build%29/builds/2762/steps/compile-webkit/logs/stdio/text</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131737</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2009-07-14 16:10:12 -0700</bug_when>
    <thetext>Marking patches r- to remove from the application queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131791</commentid>
    <comment_count>11</comment_count>
      <attachid>32759</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-14 19:34:09 -0700</bug_when>
    <thetext>Created attachment 32759
rev 3

Removed the fancy private destructor stuff.  It&apos;s not that important.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>131804</commentid>
    <comment_count>12</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2009-07-14 20:35:07 -0700</bug_when>
    <thetext>I guess my original comment was overly terse.

I&apos;m very sorry the first patch had issues building on visual studio.  This time I built it on windows and on mac, and everything seemed good.

The only thing that changed is that I moved all the destructors back to being public and took out the friend statements.

This patch should be ready to land.  (Yes, famous last words.  :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132055</commentid>
    <comment_count>13</comment_count>
      <attachid>32759</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-07-15 15:25:02 -0700</bug_when>
    <thetext>Comment on attachment 32759
rev 3

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132064</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-07-15 15:56:42 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/45954</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32617</attachid>
            <date>2009-07-11 13:47:08 -0700</date>
            <delta_ts>2009-07-14 16:09:59 -0700</delta_ts>
            <desc>patch 1</desc>
            <filename>dependencies.v1.patch</filename>
            <type>text/plain</type>
            <size>14008</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTc1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMDktMDctMTEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2xlYW51cCBET00gU3RvcmFnZSBkZXBlbmRlbmNpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzE4MAorCisgICAgICAgIERPTSBTdG9yYWdlIGhh
cyBzb21lIHJlYWxseSBiYWQgZGVwZW5kZW5jaWVzLiAgTW9zdCBvZiB0aGVzZSBhcmUgc2ltcGx5
CisgICAgICAgIGJlY2F1c2Ugb2YgZGVzdHJ1Y3RvcnMgb3IgY29uc3RydWN0b3JzLiAgVGhlcmUn
cyBhbHNvIGEgbG90IG9mIGZpbGUKKyAgICAgICAgaW5jbHVkZWQgdGhhdCBjb3VsZCBvdGhlcndp
c2UganVzdCBiZSBkZWNsYXJlZC4gIENsZWFuIHRoaXMgc3R1ZmYgdXAuCisKKyAgICAgICAgVGhp
cyB3aWxsIGFsbG93IHRoaW5ncyBsaWtlIFN0b3JhZ2VBcmVhU3luYyB0byB0YWtlIGEgU3RvcmFn
ZUFyZWFJbXBsKgorICAgICAgICAoYXMgaXQgc2hvdWxkKSByYXRoZXIgdGhhbiBhIFN0b3JhZ2VB
cmVhKiB3aGljaCBwcmV2aW91c2x5IHdlcmVuJ3QKKyAgICAgICAgcG9zc2libGUgYmVjYXVzZSB0
aGUgZGVwZW5kZW5jaWVzIHdlcmUgc3VjaCBhIHRhbmdsZWQgbWVzcy4KKworICAgICAgICAqIHN0
b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3Jh
Z2VUYXNrOjp+TG9jYWxTdG9yYWdlVGFzayk6CisgICAgICAgICogc3RvcmFnZS9Mb2NhbFN0b3Jh
Z2VUYXNrLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlN0b3JhZ2U6On5TdG9yYWdlKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2UuaDoKKyAg
ICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VBcmVhLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwOgorICAgICAg
ICAqIHN0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdl
QXJlYVN5bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFTeW5jOjp+U3RvcmFn
ZUFyZWFTeW5jKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oOgorICAgICAg
ICAqIHN0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VF
dmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2
ZW50KToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VFdmVudC5oOgorICAgICAgICAqIHN0b3Jh
Z2UvU3RvcmFnZU5hbWVzcGFjZS5oOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFj
ZUltcGwuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuaDoKKyAg
ICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdG9yYWdlU3luY01hbmFnZXI6On5TdG9yYWdlU3luY01hbmFnZXIpOgorICAgICAgICAqIHN0
b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmg6CisKIDIwMDktMDctMTEgIEJyYWR5IEVpZHNvbiAg
PGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KSW5k
ZXg6IFdlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5jcHAJKHJldmlzaW9uIDQ1NzUzKQorKysg
V2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
OSw2ICs0OSwxMCBAQCBMb2NhbFN0b3JhZ2VUYXNrOjpMb2NhbFN0b3JhZ2VUYXNrKFR5cGUgCiAg
ICAgQVNTRVJUKG1fdHlwZSA9PSBUZXJtaW5hdGVUaHJlYWQpOwogfQogCitMb2NhbFN0b3JhZ2VU
YXNrOjp+TG9jYWxTdG9yYWdlVGFzaygpCit7Cit9CisKIHZvaWQgTG9jYWxTdG9yYWdlVGFzazo6
cGVyZm9ybVRhc2soKQogewogICAgIHN3aXRjaCAobV90eXBlKSB7CkluZGV4OiBXZWJDb3JlL3N0
b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmgJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9zdG9yYWdlL0xv
Y2FsU3RvcmFnZVRhc2suaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcGVyZm9ybVRhc2soKTsKIAogICAgIHByaXZhdGU6
CisgICAgICAgIGZyaWVuZCBjbGFzcyBUaHJlYWRTYWZlU2hhcmVkPExvY2FsU3RvcmFnZVRhc2s+
OworICAgICAgICB+TG9jYWxTdG9yYWdlVGFzaygpOworCiAgICAgICAgIExvY2FsU3RvcmFnZVRh
c2soVHlwZSwgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYVN5bmM+KTsKICAgICAgICAgTG9jYWxTdG9y
YWdlVGFzayhUeXBlLCBQYXNzUmVmUHRyPExvY2FsU3RvcmFnZVRocmVhZD4pOwogCkluZGV4OiBX
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2UuY3BwCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsNiArNDcsMTAgQEAgU3RvcmFnZTo6U3RvcmFnZShG
cmFtZSogZnJhbWUsIFBhc3NSZWZQdAogICAgIEFTU0VSVChtX3N0b3JhZ2VBcmVhKTsKIH0KIAor
U3RvcmFnZTo6flN0b3JhZ2UoKQoreworfQorCiB1bnNpZ25lZCBTdG9yYWdlOjpsZW5ndGgoKSBj
b25zdAogewogICAgIGlmICghbV9mcmFtZSkKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuaAkocmV2aXNpb24gNDU3
NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4
ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKLSNpbmNsdWRlICJTdG9yYWdl
QXJlYS5oIgotCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM3LDYgKzM1LDcgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOworICAgIGNsYXNzIFN0b3JhZ2VBcmVh
OwogICAgIGNsYXNzIFN0cmluZzsKICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCkBA
IC01Niw2ICs1NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkaXNjb25u
ZWN0RnJhbWUoKSB7IG1fZnJhbWUgPSAwOyB9CiAKICAgICBwcml2YXRlOgorICAgICAgICBmcmll
bmQgY2xhc3MgUmVmQ291bnRlZDxTdG9yYWdlPjsKKyAgICAgICAgflN0b3JhZ2UoKTsKKwogICAg
ICAgICBTdG9yYWdlKEZyYW1lKiwgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYT4pOwogICAgICAgICAg
ICAgCiAgICAgICAgIEZyYW1lKiBtX2ZyYW1lOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VBcmVhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuY3Bw
CShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAK
ICNpbmNsdWRlICJTdG9yYWdlQXJlYUltcGwuaCIKKyNpbmNsdWRlICJTdG9yYWdlU3luY01hbmFn
ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZUFyZWEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaAko
cmV2aXNpb24gNDU3NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksMjMgKzI5LDE0IEBACiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgot
I2luY2x1ZGUgIlN0b3JhZ2VBcmVhU3luYy5oIgotI2luY2x1ZGUgIlN0b3JhZ2VNYXAuaCIKLSNp
bmNsdWRlICJTdG9yYWdlU3luY01hbmFnZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwotICAgIGNsYXNzIFBhZ2U7
CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47Ci0gICAgY2xhc3MgU3RvcmFnZUFyZWFTeW5jOwot
ICAgIGNsYXNzIFN0b3JhZ2VNYXA7CiAgICAgY2xhc3MgU3RvcmFnZVN5bmNNYW5hZ2VyOwogICAg
IHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNvZGU7CiAgICAgZW51bSBTdG9yYWdlVHlwZSB7IExvY2Fs
U3RvcmFnZSwgU2Vzc2lvblN0b3JhZ2UgfTsKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
QXJlYUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUlt
cGwuY3BwCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUlt
cGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoRE9N
X1NUT1JBR0UpCiAKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVz
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkluZGV4
OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5oCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUv
c3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOCArMzAsMTQg
QEAKIAogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOworICAg
IGNsYXNzIFN0b3JhZ2VNYXA7CisgICAgY2xhc3MgU3RvcmFnZUFyZWFTeW5jOworCiAgICAgY2xh
c3MgU3RvcmFnZUFyZWFJbXBsIDogcHVibGljIFN0b3JhZ2VBcmVhIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VBcmVhPiBjcmVhdGUoU3RvcmFnZVR5cGUs
IFNlY3VyaXR5T3JpZ2luKiwgUGFzc1JlZlB0cjxTdG9yYWdlU3luY01hbmFnZXI+KTsKSW5kZXg6
IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICsz
Myw3IEBACiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJTUUxpdGVTdGF0ZW1l
bnQuaCIKICNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFu
YWdlci5oIgogI2luY2x1ZGUgIlN1ZGRlblRlcm1pbmF0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTY1LDEyICs2NiwxMCBAQCBTdG9yYWdlQXJlYVN5bmM6OlN0b3JhZ2VBcmVhU3lu
YyhQYXNzUmVmCiAgICAgICAgIG1faW1wb3J0Q29tcGxldGUgPSB0cnVlOwogfQogCi0jaWZuZGVm
IE5ERUJVRwogU3RvcmFnZUFyZWFTeW5jOjp+U3RvcmFnZUFyZWFTeW5jKCkKIHsKICAgICBBU1NF
UlQoIW1fc3luY1RpbWVyLmlzQWN0aXZlKCkpOwogfQotI2VuZGlmCiAKIHZvaWQgU3RvcmFnZUFy
ZWFTeW5jOjpzY2hlZHVsZUZpbmFsU3luYygpCiB7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZUFyZWFTeW5jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVh
U3luYy5oCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5
bmMuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOSArMjgsOSBAQAogCiAjaWYgRU5BQkxFKERPTV9T
VE9SQUdFKQogCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTUUxpdGVE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLSNpbmNsdWRlICJTdG9yYWdlU3lu
Y01hbmFnZXIuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAKQEAgLTQyLDEwICs0Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICBjbGFz
cyBTdG9yYWdlQXJlYVN5bmMgOiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlQXJlYVN5bmM+IHsK
ICAgICBwdWJsaWM6Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICB+U3RvcmFnZUFyZWFTeW5jKCk7
Ci0jZW5kaWYKLQogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYVN5bmM+IGNy
ZWF0ZShQYXNzUmVmUHRyPFN0b3JhZ2VTeW5jTWFuYWdlcj4gc3RvcmFnZVN5bmNNYW5hZ2VyLCBQ
YXNzUmVmUHRyPFN0b3JhZ2VBcmVhPiBzdG9yYWdlQXJlYSk7CiAgICAgICAgIAogICAgICAgICB2
b2lkIHNjaGVkdWxlRmluYWxTeW5jKCk7CkBAIC01NSw2ICs1MSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdm9pZCBzY2hlZHVsZUNsZWFyKCk7CiAgICAgICAgIAogICAgIHByaXZh
dGU6CisgICAgICAgIGZyaWVuZCBjbGFzcyBSZWZDb3VudGVkPFN0b3JhZ2VBcmVhU3luYz47Cisg
ICAgICAgIH5TdG9yYWdlQXJlYVN5bmMoKTsKKwogICAgICAgICBTdG9yYWdlQXJlYVN5bmMoUGFz
c1JlZlB0cjxTdG9yYWdlU3luY01hbmFnZXI+IHN0b3JhZ2VTeW5jTWFuYWdlciwgUGFzc1JlZlB0
cjxTdG9yYWdlQXJlYT4gc3RvcmFnZUFyZWEpOwogCiAgICAgICAgIHZvaWQgZGlzcGF0Y2hTdG9y
YWdlRXZlbnQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0
IFN0cmluZyYgbmV3VmFsdWUsIEZyYW1lKiBzb3VyY2VGcmFtZSk7CkluZGV4OiBXZWJDb3JlL3N0
b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZUV2ZW50LmNwcAkocmV2aXNpb24gNDU3NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZUV2ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsMjAgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCitQYXNzUmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFnZUV2ZW50OjpjcmVh
dGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZUV2ZW50KTsKK30KKworU3Rv
cmFnZUV2ZW50OjpTdG9yYWdlRXZlbnQoKQoreworfQorCitQYXNzUmVmUHRyPFN0b3JhZ2VFdmVu
dD4gU3RvcmFnZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBT
dHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1
ZSwgY29uc3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3Jh
Z2UqIHN0b3JhZ2VBcmVhKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZUV2ZW50
KHR5cGUsIGtleSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCB1cmksIHNvdXJjZSwgc3RvcmFnZUFyZWEp
KTsKK30KKwogU3RvcmFnZUV2ZW50OjpTdG9yYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3Ry
aW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBz
b3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQogICAgIDogRXZlbnQodHlwZSwgZmFsc2UsIHRy
dWUpCiAgICAgLCBtX2tleShrZXkpCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5oCShyZXZpc2lv
biA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksMjIgKzI5LDE3IEBACiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCiAjaW5jbHVk
ZSAiRXZlbnQuaCIKLSNpbmNsdWRlICJTdG9yYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRE9NV2luZG93OworICAg
IGNsYXNzIFN0b3JhZ2U7CiAKICAgICBjbGFzcyBTdG9yYWdlRXZlbnQgOiBwdWJsaWMgRXZlbnQg
ewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBj
cmVhdGUoKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3Jh
Z2VFdmVudCk7Ci0gICAgICAgIH0KLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwg
Y29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3Ry
aW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VB
cmVhKQotICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3JhZ2VF
dmVudCh0eXBlLCBrZXksIG9sZFZhbHVlLCBuZXdWYWx1ZSwgdXJpLCBzb3VyY2UsIHN0b3JhZ2VB
cmVhKSk7Ci0gICAgICAgIH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50
PiBjcmVhdGUoKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmks
IFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKTsKIAog
ICAgICAgICBjb25zdCBTdHJpbmcmIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CiAgICAg
ICAgIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX29sZFZhbHVlOyB9
CkBAIC02MSw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBi
b29sIGlzU3RvcmFnZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgcHJpdmF0
ZTogICAgCi0gICAgICAgIFN0b3JhZ2VFdmVudCgpIHsgfQorICAgICAgICBTdG9yYWdlRXZlbnQo
KTsKICAgICAgICAgU3RvcmFnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFs
dWUsIGNvbnN0IFN0cmluZyYgdXJpLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlLCBTdG9y
YWdlKiBzdG9yYWdlQXJlYSk7CiAgICAgICAgIAogICAgICAgICBTdHJpbmcgbV9rZXk7CkluZGV4
OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlLmgJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTYgKzI4
LDE1IEBACiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKLSNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbkhhc2guaCIKLSNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCiAKLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCisgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3MgU3RvcmFnZUFyZWE7
Ci0gICAgY2xhc3MgU3RvcmFnZVN5bmNNYW5hZ2VyOwogCiAgICAgLy8gVGhpcyBpbnRlcmZhY2Ug
aXMgcmVxdWlyZWQgZm9yIENocm9taXVtIHNpbmNlIHRoZXNlIGFjdGlvbnMgbmVlZCB0byBiZSBw
cm94aWVkIGJldHdlZW4gcHJvY2Vzc2VzLgogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2UgOiBw
dWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlTmFtZXNwYWNlPiB7CkluZGV4OiBXZWJDb3JlL3N0b3Jh
Z2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHAJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiAr
MjgsMTAgQEAKIAogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKIAorI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luSGFzaC5oIgorI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKKyNpbmNsdWRlICJTdG9yYWdl
QXJlYS5oIgorI2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFuYWdlci5oIgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmgJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDE0
IEBACiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgorI2luY2x1ZGUgIlN0b3JhZ2VB
cmVhLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgogCisjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2VJbXBsIDogcHVibGljIFN0b3JhZ2VOYW1lc3Bh
Y2UgewpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAJKHJldmlzaW9u
IDQ1NzUzKQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDYgKzMzLDggQEAKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5j
bHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKKyNpbmNsdWRlICJMb2NhbFN0
b3JhZ2VUYXNrLmgiCisjaW5jbHVkZSAiTG9jYWxTdG9yYWdlVGhyZWFkLmgiCiAjaW5jbHVkZSAi
UGFnZS5oIgogI2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhU3lu
Yy5oIgpAQCAtNTMsNiArNTUsMTAgQEAgU3RvcmFnZVN5bmNNYW5hZ2VyOjpTdG9yYWdlU3luY01h
bmFnZXIoYwogICAgIG1fdGhyZWFkLT5zdGFydCgpOwogfQogCitTdG9yYWdlU3luY01hbmFnZXI6
On5TdG9yYWdlU3luY01hbmFnZXIoKQoreworfQorCiBTdHJpbmcgU3RvcmFnZVN5bmNNYW5hZ2Vy
OjpmdWxsRGF0YWJhc2VGaWxlbmFtZShTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogICAgIEFT
U0VSVChvcmlnaW4pOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlU3luY01hbmFnZXIuaAkocmV2
aXNpb24gNDU3NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDE1ICsyOCwxOCBAQAogCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdF
KQogCi0jaW5jbHVkZSAiTG9jYWxTdG9yYWdlVGFzay5oIgotI2luY2x1ZGUgIkxvY2FsU3RvcmFn
ZVRocmVhZC5oIgotI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCi0jaW5jbHVkZSAiU3RvcmFnZUFy
ZWFTeW5jLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJl
YWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisgICAgY2xhc3MgTG9jYWxTdG9yYWdl
VGhyZWFkOworICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOworICAgIGNsYXNzIFN0b3JhZ2VBcmVh
U3luYzsKKwogICAgIGNsYXNzIFN0b3JhZ2VTeW5jTWFuYWdlciA6IHB1YmxpYyBUaHJlYWRTYWZl
U2hhcmVkPFN0b3JhZ2VTeW5jTWFuYWdlcj4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U3RvcmFnZVN5bmNNYW5hZ2VyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBwYXRo
KTsKQEAgLTQ3LDYgKzUwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGNs
b3NlKCk7CiAKICAgICBwcml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3MgVGhyZWFkU2FmZVNo
YXJlZDxTdG9yYWdlU3luY01hbmFnZXI+OworICAgICAgICB+U3RvcmFnZVN5bmNNYW5hZ2VyKCk7
CisKICAgICAgICAgU3RvcmFnZVN5bmNNYW5hZ2VyKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKICAg
ICAgICAgUmVmUHRyPExvY2FsU3RvcmFnZVRocmVhZD4gbV90aHJlYWQ7Cg==
</data>
<flag name="review"
          id="17027"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32625</attachid>
            <date>2009-07-12 07:22:29 -0700</date>
            <delta_ts>2009-07-14 13:42:07 -0700</delta_ts>
            <desc>rev 2</desc>
            <filename>dependencies.v2.patch</filename>
            <type>text/plain</type>
            <size>14056</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTc1NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMDktMDctMTEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2xlYW51cCBET00gU3RvcmFnZSBkZXBlbmRlbmNpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzE4MAorCisgICAgICAgIERPTSBTdG9yYWdlIGhh
ZCBzZXZlcmFsIHVubmVjZXNzYXJ5IChhbmQgcHJvYmFibHkgdW5pbnRlbmRlZCkKKyAgICAgICAg
ZGVwZW5kZW5jaWVzLiAgVGhpcyBwYXRjaCByZXBsYWNlcyBtYW55IGluY2x1ZGVzIG9mIGhlYWRl
ciBmaWxlcyB3aXRoCisgICAgICAgIGZvcndhcmQgZGVjbGFyYXRpb24gb2YgY2xhc3NlcywgbWFr
aW5nIHNvbWUgZGVzdHJ1Y3RvcnMgZXhwbGljaXQsIGFuZAorICAgICAgICB0YWtpbmcgc29tZSBm
YWN0b3JpZXMgb3V0IG9mIHRoZSBoZWFkZXIgZmlsZXMuCisKKyAgICAgICAgVGhpcyB3aWxsIGFs
bG93IHRoaW5ncyBsaWtlIFN0b3JhZ2VBcmVhU3luYyB0byB0YWtlIGEgU3RvcmFnZUFyZWFJbXBs
KgorICAgICAgICAoYXMgaXQgc2hvdWxkKSByYXRoZXIgdGhhbiBhIFN0b3JhZ2VBcmVhKiB3aGlj
aCBwcmV2aW91c2x5IHdlcmVuJ3QKKyAgICAgICAgcG9zc2libGUgYmVjYXVzZSB0aGUgZGVwZW5k
ZW5jaWVzIHdlcmUgc3VjaCBhIHRhbmdsZWQgbWVzcy4KKworICAgICAgICAqIHN0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrOjp+
TG9jYWxTdG9yYWdlVGFzayk6CisgICAgICAgICogc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmg6
CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3Jh
Z2U6On5TdG9yYWdlKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2UuaDoKKyAgICAgICAgKiBz
dG9yYWdlL1N0b3JhZ2VBcmVhLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhLmg6
CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwOgorICAgICAgICAqIHN0b3Jh
Z2UvU3RvcmFnZUFyZWFJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFTeW5jOjp+U3RvcmFnZUFyZWFTeW5j
KToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oOgorICAgICAgICAqIHN0b3Jh
Z2UvU3RvcmFnZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KToKKyAg
ICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VFdmVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZS5oOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3Bw
OgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuaDoKKyAgICAgICAgKiBz
dG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdl
U3luY01hbmFnZXI6On5TdG9yYWdlU3luY01hbmFnZXIpOgorICAgICAgICAqIHN0b3JhZ2UvU3Rv
cmFnZVN5bmNNYW5hZ2VyLmg6CisKIDIwMDktMDctMTEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KSW5kZXg6IFdlYkNv
cmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0
b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5jcHAJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9z
dG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwx
MCBAQCBMb2NhbFN0b3JhZ2VUYXNrOjpMb2NhbFN0b3JhZ2VUYXNrKFR5cGUgCiAgICAgQVNTRVJU
KG1fdHlwZSA9PSBUZXJtaW5hdGVUaHJlYWQpOwogfQogCitMb2NhbFN0b3JhZ2VUYXNrOjp+TG9j
YWxTdG9yYWdlVGFzaygpCit7Cit9CisKIHZvaWQgTG9jYWxTdG9yYWdlVGFzazo6cGVyZm9ybVRh
c2soKQogewogICAgIHN3aXRjaCAobV90eXBlKSB7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3Jh
Z2VUYXNrLmgJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFn
ZVRhc2suaAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZvaWQgcGVyZm9ybVRhc2soKTsKIAogICAgIHByaXZhdGU6CisgICAgICAg
IGZyaWVuZCBjbGFzcyBUaHJlYWRTYWZlU2hhcmVkPExvY2FsU3RvcmFnZVRhc2s+OworICAgICAg
ICB+TG9jYWxTdG9yYWdlVGFzaygpOworCiAgICAgICAgIExvY2FsU3RvcmFnZVRhc2soVHlwZSwg
UGFzc1JlZlB0cjxTdG9yYWdlQXJlYVN5bmM+KTsKICAgICAgICAgTG9jYWxTdG9yYWdlVGFzayhU
eXBlLCBQYXNzUmVmUHRyPExvY2FsU3RvcmFnZVRocmVhZD4pOwogCkluZGV4OiBXZWJDb3JlL3N0
b3JhZ2UvU3RvcmFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2Uu
Y3BwCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDcsNiArNDcsMTAgQEAgU3RvcmFnZTo6U3RvcmFnZShGcmFtZSogZnJh
bWUsIFBhc3NSZWZQdAogICAgIEFTU0VSVChtX3N0b3JhZ2VBcmVhKTsKIH0KIAorU3RvcmFnZTo6
flN0b3JhZ2UoKQoreworfQorCiB1bnNpZ25lZCBTdG9yYWdlOjpsZW5ndGgoKSBjb25zdAogewog
ICAgIGlmICghbV9mcmFtZSkKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2UuaAkocmV2aXNpb24gNDU3NTMpCisrKyBX
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCw2IEBA
CiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKLSNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgot
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTM3LDYgKzM1LDcgQEAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOworICAgIGNsYXNzIFN0b3JhZ2VBcmVhOwogICAgIGNs
YXNzIFN0cmluZzsKICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCkBAIC01Niw2ICs1
NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBkaXNjb25uZWN0RnJhbWUo
KSB7IG1fZnJhbWUgPSAwOyB9CiAKICAgICBwcml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3Mg
UmVmQ291bnRlZDxTdG9yYWdlPjsKKyAgICAgICAgflN0b3JhZ2UoKTsKKwogICAgICAgICBTdG9y
YWdlKEZyYW1lKiwgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYT4pOwogICAgICAgICAgICAgCiAgICAg
ICAgIEZyYW1lKiBtX2ZyYW1lOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuY3BwCShyZXZpc2lv
biA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKICNpbmNsdWRl
ICJTdG9yYWdlQXJlYUltcGwuaCIKKyNpbmNsdWRlICJTdG9yYWdlU3luY01hbmFnZXIuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaAkocmV2aXNpb24g
NDU3NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksMjMgKzI5LDE0IEBACiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgotI2luY2x1ZGUg
IlN0b3JhZ2VBcmVhU3luYy5oIgotI2luY2x1ZGUgIlN0b3JhZ2VNYXAuaCIKLSNpbmNsdWRlICJT
dG9yYWdlU3luY01hbmFnZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEZyYW1lOwotICAgIGNsYXNzIFBhZ2U7CiAgICAgY2xh
c3MgU2VjdXJpdHlPcmlnaW47Ci0gICAgY2xhc3MgU3RvcmFnZUFyZWFTeW5jOwotICAgIGNsYXNz
IFN0b3JhZ2VNYXA7CiAgICAgY2xhc3MgU3RvcmFnZVN5bmNNYW5hZ2VyOwogICAgIHR5cGVkZWYg
aW50IEV4Y2VwdGlvbkNvZGU7CiAgICAgZW51bSBTdG9yYWdlVHlwZSB7IExvY2FsU3RvcmFnZSwg
U2Vzc2lvblN0b3JhZ2UgfTsKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwCShy
ZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0Up
CiAKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5j
bHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkluZGV4OiBXZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZUFyZWFJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VBcmVhSW1wbC5oCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9T
dG9yYWdlQXJlYUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsOCArMzAsMTQgQEAKIAogI2lu
Y2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAKKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAorICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOworICAgIGNsYXNzIFN0
b3JhZ2VNYXA7CisgICAgY2xhc3MgU3RvcmFnZUFyZWFTeW5jOworCiAgICAgY2xhc3MgU3RvcmFn
ZUFyZWFJbXBsIDogcHVibGljIFN0b3JhZ2VBcmVhIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VBcmVhPiBjcmVhdGUoU3RvcmFnZVR5cGUsIFNlY3VyaXR5
T3JpZ2luKiwgUGFzc1JlZlB0cjxTdG9yYWdlU3luY01hbmFnZXI+KTsKSW5kZXg6IFdlYkNvcmUv
c3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlQXJlYVN5bmMuY3BwCShyZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlQXJlYVN5bmMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJTUUxpdGVTdGF0ZW1lbnQuaCIKICNp
bmNsdWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFuYWdlci5oIgog
I2luY2x1ZGUgIlN1ZGRlblRlcm1pbmF0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTY1LDEyICs2NiwxMCBAQCBTdG9yYWdlQXJlYVN5bmM6OlN0b3JhZ2VBcmVhU3luYyhQYXNzUmVm
CiAgICAgICAgIG1faW1wb3J0Q29tcGxldGUgPSB0cnVlOwogfQogCi0jaWZuZGVmIE5ERUJVRwog
U3RvcmFnZUFyZWFTeW5jOjp+U3RvcmFnZUFyZWFTeW5jKCkKIHsKICAgICBBU1NFUlQoIW1fc3lu
Y1RpbWVyLmlzQWN0aXZlKCkpOwogfQotI2VuZGlmCiAKIHZvaWQgU3RvcmFnZUFyZWFTeW5jOjpz
Y2hlZHVsZUZpbmFsU3luYygpCiB7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFT
eW5jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCShy
ZXZpc2lvbiA0NTc1MykKKysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuaAkod29y
a2luZyBjb3B5KQpAQCAtMjgsOSArMjgsOSBAQAogCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQog
CisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5o
IgogI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKLSNpbmNsdWRlICJTdG9yYWdlU3luY01hbmFnZXIu
aCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKQEAgLTQy
LDEwICs0Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKICAgICBjbGFzcyBTdG9yYWdl
QXJlYVN5bmMgOiBwdWJsaWMgUmVmQ291bnRlZDxTdG9yYWdlQXJlYVN5bmM+IHsKICAgICBwdWJs
aWM6Ci0jaWZuZGVmIE5ERUJVRwotICAgICAgICB+U3RvcmFnZUFyZWFTeW5jKCk7Ci0jZW5kaWYK
LQogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYVN5bmM+IGNyZWF0ZShQYXNz
UmVmUHRyPFN0b3JhZ2VTeW5jTWFuYWdlcj4gc3RvcmFnZVN5bmNNYW5hZ2VyLCBQYXNzUmVmUHRy
PFN0b3JhZ2VBcmVhPiBzdG9yYWdlQXJlYSk7CiAgICAgICAgIAogICAgICAgICB2b2lkIHNjaGVk
dWxlRmluYWxTeW5jKCk7CkBAIC01NSw2ICs1MSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdm9pZCBzY2hlZHVsZUNsZWFyKCk7CiAgICAgICAgIAogICAgIHByaXZhdGU6CisgICAg
ICAgIGZyaWVuZCBjbGFzcyBSZWZDb3VudGVkPFN0b3JhZ2VBcmVhU3luYz47CisgICAgICAgIH5T
dG9yYWdlQXJlYVN5bmMoKTsKKwogICAgICAgICBTdG9yYWdlQXJlYVN5bmMoUGFzc1JlZlB0cjxT
dG9yYWdlU3luY01hbmFnZXI+IHN0b3JhZ2VTeW5jTWFuYWdlciwgUGFzc1JlZlB0cjxTdG9yYWdl
QXJlYT4gc3RvcmFnZUFyZWEpOwogCiAgICAgICAgIHZvaWQgZGlzcGF0Y2hTdG9yYWdlRXZlbnQo
Y29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYg
bmV3VmFsdWUsIEZyYW1lKiBzb3VyY2VGcmFtZSk7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3Rv
cmFnZUV2ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50
LmNwcAkocmV2aXNpb24gNDU3NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsMjAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitQYXNzUmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFnZUV2ZW50OjpjcmVhdGUoKQorewor
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZUV2ZW50KTsKK30KKworU3RvcmFnZUV2ZW50
OjpTdG9yYWdlRXZlbnQoKQoreworfQorCitQYXNzUmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFn
ZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtl
eSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3Qg
U3RyaW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3Jh
Z2VBcmVhKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZUV2ZW50KHR5cGUsIGtl
eSwgb2xkVmFsdWUsIG5ld1ZhbHVlLCB1cmksIHNvdXJjZSwgc3RvcmFnZUFyZWEpKTsKK30KKwog
U3RvcmFnZUV2ZW50OjpTdG9yYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25z
dCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdW
YWx1ZSwgY29uc3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0
b3JhZ2UqIHN0b3JhZ2VBcmVhKQogICAgIDogRXZlbnQodHlwZSwgZmFsc2UsIHRydWUpCiAgICAg
LCBtX2tleShrZXkpCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5oCShyZXZpc2lvbiA0NTc1MykK
KysrIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjks
MjIgKzI5LDE3IEBACiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCiAjaW5jbHVkZSAiRXZlbnQu
aCIKLSNpbmNsdWRlICJTdG9yYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgRE9NV2luZG93OworICAgIGNsYXNzIFN0
b3JhZ2U7CiAKICAgICBjbGFzcyBTdG9yYWdlRXZlbnQgOiBwdWJsaWMgRXZlbnQgewogICAgIHB1
YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUoKQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3JhZ2VFdmVudCk7
Ci0gICAgICAgIH0KLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmks
IFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQotICAg
ICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3JhZ2VFdmVudCh0eXBl
LCBrZXksIG9sZFZhbHVlLCBuZXdWYWx1ZSwgdXJpLCBzb3VyY2UsIHN0b3JhZ2VBcmVhKSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUo
KTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRW
YWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQ
dHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKTsKIAogICAgICAgICBj
b25zdCBTdHJpbmcmIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CiAgICAgICAgIGNvbnN0
IFN0cmluZyYgb2xkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX29sZFZhbHVlOyB9CkBAIC02MSw3
ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzU3Rv
cmFnZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgcHJpdmF0ZTogICAgCi0g
ICAgICAgIFN0b3JhZ2VFdmVudCgpIHsgfQorICAgICAgICBTdG9yYWdlRXZlbnQoKTsKICAgICAg
ICAgU3RvcmFnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBr
ZXksIGNvbnN0IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIGNvbnN0
IFN0cmluZyYgdXJpLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlLCBTdG9yYWdlKiBzdG9y
YWdlQXJlYSk7CiAgICAgICAgIAogICAgICAgICBTdHJpbmcgbV9rZXk7CkluZGV4OiBXZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlTmFtZXNwYWNlLmgJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9zdG9yYWdl
L1N0b3JhZ2VOYW1lc3BhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTYgKzI4LDE1IEBACiAK
ICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkhhc2gu
aCIKLSNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAKLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisg
ICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3MgU3RvcmFnZUFyZWE7Ci0gICAgY2xh
c3MgU3RvcmFnZVN5bmNNYW5hZ2VyOwogCiAgICAgLy8gVGhpcyBpbnRlcmZhY2UgaXMgcmVxdWly
ZWQgZm9yIENocm9taXVtIHNpbmNlIHRoZXNlIGFjdGlvbnMgbmVlZCB0byBiZSBwcm94aWVkIGJl
dHdlZW4gcHJvY2Vzc2VzLgogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2UgOiBwdWJsaWMgUmVm
Q291bnRlZDxTdG9yYWdlTmFtZXNwYWNlPiB7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
TmFtZXNwYWNlSW1wbC5jcHAJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9zdG9yYWdlL1N0
b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsMTAgQEAK
IAogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKIAorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFz
aC5oIgorI2luY2x1ZGUgIlN0cmluZ0hhc2guaCIKKyNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgor
I2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFuYWdlci5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRy
YXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VOYW1lc3BhY2VJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VO
YW1lc3BhY2VJbXBsLmgJKHJldmlzaW9uIDQ1NzUzKQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VOYW1lc3BhY2VJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDE0IEBACiAKICNp
ZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgorI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAj
aW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgogCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNs
YXNzIFN0b3JhZ2VOYW1lc3BhY2VJbXBsIDogcHVibGljIFN0b3JhZ2VOYW1lc3BhY2UgewpJbmRl
eDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAJKHJldmlzaW9uIDQ1NzUzKQor
KysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMzLDYgKzMzLDggQEAKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKKyNpbmNsdWRlICJMb2NhbFN0b3JhZ2VUYXNr
LmgiCisjaW5jbHVkZSAiTG9jYWxTdG9yYWdlVGhyZWFkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgog
I2luY2x1ZGUgIlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhU3luYy5oIgpAQCAt
NTMsNiArNTUsMTAgQEAgU3RvcmFnZVN5bmNNYW5hZ2VyOjpTdG9yYWdlU3luY01hbmFnZXIoYwog
ICAgIG1fdGhyZWFkLT5zdGFydCgpOwogfQogCitTdG9yYWdlU3luY01hbmFnZXI6On5TdG9yYWdl
U3luY01hbmFnZXIoKQoreworfQorCiBTdHJpbmcgU3RvcmFnZVN5bmNNYW5hZ2VyOjpmdWxsRGF0
YWJhc2VGaWxlbmFtZShTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogICAgIEFTU0VSVChvcmln
aW4pOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlU3luY01hbmFnZXIuaAkocmV2aXNpb24gNDU3
NTMpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDE1ICsyOCwxOCBAQAogCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCi0jaW5j
bHVkZSAiTG9jYWxTdG9yYWdlVGFzay5oIgotI2luY2x1ZGUgIkxvY2FsU3RvcmFnZVRocmVhZC5o
IgotI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCi0jaW5jbHVkZSAiU3RvcmFnZUFyZWFTeW5jLmgi
CisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOwor
ICAgIGNsYXNzIFNlY3VyaXR5T3JpZ2luOworICAgIGNsYXNzIFN0b3JhZ2VBcmVhU3luYzsKKwog
ICAgIGNsYXNzIFN0b3JhZ2VTeW5jTWFuYWdlciA6IHB1YmxpYyBUaHJlYWRTYWZlU2hhcmVkPFN0
b3JhZ2VTeW5jTWFuYWdlcj4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U3RvcmFnZVN5bmNNYW5hZ2VyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKQEAgLTQ3
LDYgKzUwLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGNsb3NlKCk7CiAK
ICAgICBwcml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3MgVGhyZWFkU2FmZVNoYXJlZDxTdG9y
YWdlU3luY01hbmFnZXI+OworICAgICAgICB+U3RvcmFnZVN5bmNNYW5hZ2VyKCk7CisKICAgICAg
ICAgU3RvcmFnZVN5bmNNYW5hZ2VyKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKICAgICAgICAgUmVm
UHRyPExvY2FsU3RvcmFnZVRocmVhZD4gbV90aHJlYWQ7Cg==
</data>
<flag name="review"
          id="17097"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>32732</attachid>
            <date>2009-07-14 13:42:07 -0700</date>
            <delta_ts>2009-07-14 15:14:45 -0700</delta_ts>
            <desc>Windows build failure output.</desc>
            <filename>Log File contents.webarchive</filename>
            <type>application/x-webarchive</type>
            <size>23000</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">YnBsaXN0MDDRAQJfEA9XZWJNYWluUmVzb3VyY2XVAwQFBgcICQoLDF8QD1dlYlJlc291cmNlRGF0
YV8QE1dlYlJlc291cmNlTUlNRVR5cGVeV2ViUmVzb3VyY2VVUkxfEBRXZWJSZXNvdXJjZUZyYW1l
TmFtZV8QG1dlYlJlc291cmNlVGV4dEVuY29kaW5nTmFtZU8RWIY8aHRtbD48aGVhZD48dGl0bGU+
TG9nIEZpbGUgY29udGVudHM8L3RpdGxlPgoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KIGRpdi5k
YXRhIHsKICBmb250LWZhbWlseTogIkNvdXJpZXIgTmV3IiwgY291cmllciwgbW9ub3R5cGU7CiB9
CiBzcGFuLnN0ZG91dCB7CiAgZm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIGNvdXJpZXIsIG1v
bm90eXBlOwogfQogc3Bhbi5zdGRlcnIgewogIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBj
b3VyaWVyLCBtb25vdHlwZTsKICBjb2xvcjogcmVkOwogfQogc3Bhbi5oZWFkZXIgewogIGZvbnQt
ZmFtaWx5OiAiQ291cmllciBOZXciLCBjb3VyaWVyLCBtb25vdHlwZTsKICBjb2xvcjogYmx1ZTsK
IH0KPC9zdHlsZT4KPC9oZWFkPjxib2R5IHZsaW5rPSIjODAwMDgwIj4KPGEgaHJlZj0ic3RkaW8v
dGV4dCI+KHZpZXcgYXMgdGV4dCk8L2E+PGJyPgo8cHJlPjxzcGFuIGNsYXNzPSJoZWFkZXIiPnBl
cmwgLi9XZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdCAtLXJlbGVhc2UKIGluIGRpciAv
aG9tZS9idWlsZGJvdC9zbGF2ZS93aW4tcmVsZWFzZS9idWlsZCAodGltZW91dCAxMjAwIHNlY3Mp
CiB3YXRjaGluZyBsb2dmaWxlcyB7fQogYXJndjogWydwZXJsJywgJy4vV2ViS2l0VG9vbHMvU2Ny
aXB0cy9idWlsZC13ZWJraXQnLCAnLS1yZWxlYXNlJ10KIGVudmlyb25tZW50OgogICE6Oj06OlwK
ICAhQzo9QzpcV2luZG93c1xTeXN0ZW0zMgogIEFMTFVTRVJTUFJPRklMRT1DOlxQcm9ncmFtRGF0
YQogIEFQUERBVEE9QzpcVXNlcnNcYnVpbGRib3RcQXBwRGF0YVxSb2FtaW5nCiAgQ0xBU1NQQVRI
PS47QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxRdWlja1RpbWVcUVRTeXN0ZW1cUVRKYXZhLnppcAog
IENPTU1PTlBST0dSQU1GSUxFUz1DOlxQcm9ncmFtIEZpbGVzICh4ODYpXENvbW1vbiBGaWxlcwog
IENPTU1PTlBST0dSQU1GSUxFUyhYODYpPUM6XFByb2dyYW0gRmlsZXMgKHg4NilcQ29tbW9uIEZp
bGVzCiAgQ09NTU9OUFJPR1JBTVc2NDMyPUM6XFByb2dyYW0gRmlsZXNcQ29tbW9uIEZpbGVzCiAg
Q09NUFVURVJOQU1FPVNBRkFSSVdJTi1CT1QtMgogIENPTVNQRUM9QzpcV2luZG93c1xzeXN0ZW0z
MlxjbWQuZXhlCiAgQ1ZTX1JTSD0vYmluL3NzaAogIERGU1RSQUNJTkdPTj1GQUxTRQogIEZQX05P
X0hPU1RfQ0hFQ0s9Tk8KICBIT01FPS9ob21lL2J1aWxkYm90CiAgSE9NRURSSVZFPUM6CiAgSE9N
RVBBVEg9XFVzZXJzXGJ1aWxkYm90CiAgSE9TVE5BTUU9c2FmYXJpd2luLWJvdC0yCiAgSU5GT1BB
VEg9L3Vzci9sb2NhbC9pbmZvOi91c3Ivc2hhcmUvaW5mbzovdXNyL2luZm86CiAgTE9DQUxBUFBE
QVRBPUM6XFVzZXJzXGJ1aWxkYm90XEFwcERhdGFcTG9jYWwKICBMT0dPTlNFUlZFUj1cXFNBRkFS
SVdJTi1CT1QtMgogIE1BS0VGTEFHUz0KICBNQUtFTEVWRUw9MQogIE1BS0VfTU9ERT11bml4CiAg
TUFOUEFUSD0vdXNyL2xvY2FsL21hbjovdXNyL3NoYXJlL21hbjovdXNyL21hbjo6L3Vzci9zc2wv
bWFuCiAgTUZMQUdTPQogIE5VTUJFUl9PRl9QUk9DRVNTT1JTPTgKICBPTERQV0Q9L2hvbWUvYnVp
bGRib3QKICBPUz1XaW5kb3dzX05UCiAgUEFUSD0vdXNyL2xvY2FsL2JpbjovdXNyL2JpbjovYmlu
Oi91c3IvWDExUjYvYmluOi9jeWdkcml2ZS9jL1dpbmRvd3Mvc3lzdGVtMzI6L2N5Z2RyaXZlL2Mv
V2luZG93czovY3lnZHJpdmUvYy9XaW5kb3dzL1N5c3RlbTMyL1diZW06L2N5Z2RyaXZlL2MvUHJv
Z3JhbSBGaWxlcyAoeDg2KS9RdWlja1RpbWUvUVRTeXN0ZW0vCiAgUEFUSEVYVD0uQ09NOy5FWEU7
LkJBVDsuQ01EOy5WQlM7LlZCRTsuSlM7LkpTRTsuV1NGOy5XU0g7Lk1TQwogIFBSSU5URVI9TWlj
cm9zb2Z0IFhQUyBEb2N1bWVudCBXcml0ZXIKICBQUk9DRVNTT1JfQVJDSElURUNUVVJFPXg4Ngog
IFBST0NFU1NPUl9BUkNISVRFVzY0MzI9QU1ENjQKICBQUk9DRVNTT1JfSURFTlRJRklFUj1JbnRl
bDY0IEZhbWlseSA2IE1vZGVsIDIzIFN0ZXBwaW5nIDYsIEdlbnVpbmVJbnRlbAogIFBST0NFU1NP
Ul9MRVZFTD02CiAgUFJPQ0VTU09SX1JFVklTSU9OPTE3MDYKICBQUk9HUkFNREFUQT1DOlxQcm9n
cmFtRGF0YQogIFBST0dSQU1GSUxFUz1DOlxQcm9ncmFtIEZpbGVzICh4ODYpCiAgUFJPR1JBTUZJ
TEVTKFg4Nik9QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KQogIFBST0dSQU1XNjQzMj1DOlxQcm9ncmFt
IEZpbGVzCiAgUFJPTVBUPSRQJEcKICBQUzE9XFtcZV0wO1x3XGFcXVxuXFtcZVszMm1cXVx1QFxo
IFxbXGVbMzNtXF1cd1xbXGVbMG1cXVxuXCQgCiAgUFVCTElDPUM6XFVzZXJzXFB1YmxpYwogIFBX
RD0vaG9tZS9idWlsZGJvdC9zbGF2ZS93aW4tcmVsZWFzZS9idWlsZAogIFFUSkFWQT1DOlxQcm9n
cmFtIEZpbGVzICh4ODYpXFF1aWNrVGltZVxRVFN5c3RlbVxRVEphdmEuemlwCiAgU0VTU0lPTk5B
TUU9Q29uc29sZQogIFNITFZMPTEKICBTWVNURU1EUklWRT1DOgogIFNZU1RFTVJPT1Q9QzpcV2lu
ZG93cwogIFRFTVA9L2N5Z2RyaXZlL2MvVXNlcnMvYnVpbGRib3QvQXBwRGF0YS9Mb2NhbC9UZW1w
CiAgVEVSTT1jeWd3aW4KICBUTVA9L2N5Z2RyaXZlL2MvVXNlcnMvYnVpbGRib3QvQXBwRGF0YS9M
b2NhbC9UZW1wCiAgVFJBQ0VfRk9STUFUX1NFQVJDSF9QQVRIPVxcTlRSRUwyMDIubnRkZXYuY29y
cC5taWNyb3NvZnQuY29tXDM0RkI1RjY1LUZGRUItNEI2MS1CRjBFLUE2QTc2QzQ1MEZBQVxUcmFj
ZUZvcm1hdAogIFVTRVI9YnVpbGRib3QKICBVU0VSRE9NQUlOPVNBRkFSSVdJTi1CT1QtMgogIFVT
RVJOQU1FPWJ1aWxkYm90CiAgVVNFUlBST0ZJTEU9QzpcVXNlcnNcYnVpbGRib3QKICBWUzgwQ09N
TlRPT0xTPUM6XFByb2dyYW0gRmlsZXMgKHg4NilcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gOFxD
b21tb243XFRvb2xzXAogIFdFQktJVFNVUFBPUlRMSUJSQVJJRVNaSVBESVI9YzpcY3lnd2luXGhv
bWVcYnVpbGRib3Rcc2xhdmVcCiAgV0lORElSPUM6XFdpbmRvd3MKICBfPS91c3IvYmluL21ha2UK
IGNsb3Npbmcgc3RkaW4KIHVzaW5nIFBUWTogRmFsc2UKPC9zcGFuPjxzcGFuIGNsYXNzPSJzdGRl
cnIiPlN1YnJvdXRpbmUgbWFpbjo6dG1wbmFtIHJlZGVmaW5lZCBhdCAvaG9tZS9idWlsZGJvdC9z
bGF2ZS93aW4tcmVsZWFzZS9idWlsZC9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0g
bGluZSAzMwpTdWJyb3V0aW5lIG1haW46OnRtcGZpbGUgcmVkZWZpbmVkIGF0IC9ob21lL2J1aWxk
Ym90L3NsYXZlL3dpbi1yZWxlYXNlL2J1aWxkL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGly
cy5wbSBsaW5lIDMzCjwvc3Bhbj48c3BhbiBjbGFzcz0ic3Rkb3V0Ij5DaGVja2luZyBtb2QtZGF0
ZSBvZiBXZWJLaXRTdXBwb3J0TGlicmFyeS56aXAuLi4KQ3VycmVudCBXZWJLaXRTdXBwb3J0TGli
cmFyeSBpcyB1cCB0byBkYXRlCkJ1aWxkaW5nIHJlc3VsdHMgaW50bzogL2hvbWUvYnVpbGRib3Qv
c2xhdmUvd2luLXJlbGVhc2UvYnVpbGQvV2ViS2l0QnVpbGQKV0VCS0lUT1VUUFVURElSIGlzIHNl
dCB0bzogQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2Vi
S2l0QnVpbGQKV0VCS0lUTElCUkFSSUVTRElSIGlzIHNldCB0bzogQzpcY3lnd2luXGhvbWVcYnVp
bGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0TGlicmFyaWVzXHdpbgovaG9tZS9i
dWlsZGJvdC9zbGF2ZS93aW4tcmVsZWFzZS9idWlsZC9XZWJLaXRUb29scy9TY3JpcHRzL3BkZXZl
bnYgd2luXFdlYktpdC52Y3Byb2pcV2ViS2l0LnNsbiAvYnVpbGQgUmVsZWFzZQpTZXR0aW5nIGVu
dmlyb25tZW50IGZvciB1c2luZyBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAyMDA1IHg4NiB0b29s
cy4KCk1pY3Jvc29mdCAoUikgVmlzdWFsIFN0dWRpbyBWZXJzaW9uIDguMC41MDcyNy44NjcuCkNv
cHlyaWdodCAoQykgTWljcm9zb2Z0IENvcnAgMTk4NC0yMDA1LiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotLS0tLS0gQnVpbGQgc3RhcnRlZDogUHJvamVjdDogSmF2YVNjcmlwdENvcmVHZW5lcmF0ZWQs
IENvbmZpZ3VyYXRpb246IFJlbGVhc2UgV2luMzIgLS0tLS0tClBlcmZvcm1pbmcgTWFrZWZpbGUg
cHJvamVjdCBhY3Rpb25zCiB4Y29weSAveS9kL2UvaSAiLi5cLi5cLi5cV2ViS2l0TGlicmFyaWVz
XHdpblx0b29scyIgIkM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1
aWxkXFdlYktpdExpYnJhcmllc1x3aW5cdG9vbHMiCkNhbm5vdCBwZXJmb3JtIGEgY3ljbGljIGNv
cHkKMCBGaWxlKHMpIGNvcGllZAogdG91Y2ggIkM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZl
XHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGJ1aWxkZmFpbGVkIgogYmFzaCBidWlsZC1n
ZW5lcmF0ZWQtZmlsZXMuc2ggIkM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxl
YXNlXGJ1aWxkXFdlYktpdEJ1aWxkIiAiQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2lu
LXJlbGVhc2VcYnVpbGRcV2ViS2l0TGlicmFyaWVzXHdpbiIKbWFrZVsxXTogRW50ZXJpbmcgZGly
ZWN0b3J5IGAvaG9tZS9idWlsZGJvdC9zbGF2ZS9XSU4tUkV+MS9idWlsZC9XRTE2NzR+MS9vYmov
SmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMnCm1ha2VbMV06IE5vdGhpbmcgdG8gYmUgZG9u
ZSBmb3IgYGFsbCcuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAvaG9tZS9idWlsZGJvdC9z
bGF2ZS9XSU4tUkV+MS9idWlsZC9XRTE2NzR+MS9vYmovSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNv
dXJjZXMnCiBta2RpciAyJmd0O05VTCAiQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2lu
LXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxKYXZhU2Ny
aXB0Q29yZSIKIHhjb3B5IC95IC9kICIuLlwuLlxBUElcQVBJQ2FzdC5oIiAiQzpcY3lnd2luXGhv
bWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxK
YXZhU2NyaXB0Q29yZVxKYXZhU2NyaXB0Q29yZSIKMCBGaWxlKHMpIGNvcGllZAogeGNvcHkgL3kg
L2QgIi4uXC4uXEFQSVxKYXZhU2NyaXB0LmgiICJDOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2
ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxpbmNsdWRlXEphdmFTY3JpcHRDb3JlXEph
dmFTY3JpcHRDb3JlIgowIEZpbGUocykgY29waWVkCiB4Y29weSAveSAvZCAiLi5cLi5cQVBJXEpT
QmFzZS5oIiAiQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRc
V2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxKYXZhU2NyaXB0Q29yZSIKMCBGaWxl
KHMpIGNvcGllZAogeGNvcHkgL3kgL2QgIi4uXC4uXEFQSVxKU0NvbnRleHRSZWYuaCIgIkM6XGN5
Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGlu
Y2x1ZGVcSmF2YVNjcmlwdENvcmVcSmF2YVNjcmlwdENvcmUiCjAgRmlsZShzKSBjb3BpZWQKIHhj
b3B5IC95IC9kICIuLlwuLlxBUElcSlNPYmplY3RSZWYuaCIgIkM6XGN5Z3dpblxob21lXGJ1aWxk
Ym90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlw
dENvcmVcSmF2YVNjcmlwdENvcmUiCjAgRmlsZShzKSBjb3BpZWQKIHhjb3B5IC95IC9kICIuLlwu
LlxBUElcSlNTdHJpbmdSZWYuaCIgIkM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1y
ZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlwdENvcmVcSmF2YVNjcmlw
dENvcmUiCjAgRmlsZShzKSBjb3BpZWQKIHhjb3B5IC95IC9kICIuLlwuLlxBUElcSlNTdHJpbmdS
ZWZDRi5oIiAiQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRc
V2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxKYXZhU2NyaXB0Q29yZSIKMCBGaWxl
KHMpIGNvcGllZAogeGNvcHkgL3kgL2QgIi4uXC4uXEFQSVxKU1N0cmluZ1JlZkJTVFIuaCIgIkM6
XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxk
XGluY2x1ZGVcSmF2YVNjcmlwdENvcmVcSmF2YVNjcmlwdENvcmUiCjAgRmlsZShzKSBjb3BpZWQK
IHhjb3B5IC95IC9kICIuLlwuLlxBUElcSlNWYWx1ZVJlZi5oIiAiQzpcY3lnd2luXGhvbWVcYnVp
bGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2Ny
aXB0Q29yZVxKYXZhU2NyaXB0Q29yZSIKMCBGaWxlKHMpIGNvcGllZAogeGNvcHkgL3kgL2QgIi4u
XC4uXEFQSVxKYXZhU2NyaXB0Q29yZS5oIiAiQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVc
d2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxKYXZh
U2NyaXB0Q29yZSIKMCBGaWxlKHMpIGNvcGllZAogeGNvcHkgL3kgL2QgIi4uXC4uXEFQSVxKU1Jl
dGFpblB0ci5oIiAiQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVp
bGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxKYXZhU2NyaXB0Q29yZSIKMCBG
aWxlKHMpIGNvcGllZAogeGNvcHkgL3kgL2QgIi4uXC4uXEFQSVxPcGFxdWVKU1N0cmluZy5oIiAi
QzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVp
bGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxKYXZhU2NyaXB0Q29yZSIKMCBGaWxlKHMpIGNvcGll
ZAogeGNvcHkgL3kgL2QgIi4uXC4uXEFQSVxXZWJLaXRBdmFpbGFiaWxpdHkuaCIgIkM6XGN5Z3dp
blxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1
ZGVcSmF2YVNjcmlwdENvcmVcSmF2YVNjcmlwdENvcmUiCjAgRmlsZShzKSBjb3BpZWQKIGRlbCAi
QzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVp
bGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZVxzdGRib29sLmgiICJDOlxjeWd3aW5caG9tZVxidWls
ZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxpbmNsdWRlXEphdmFTY3Jp
cHRDb3JlXHN0ZGludC5oIgpDb3VsZCBOb3QgRmluZCBDOlxjeWd3aW5caG9tZVxidWlsZGJvdFxz
bGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxpbmNsdWRlXEphdmFTY3JpcHRDb3Jl
XHN0ZGJvb2wuaAogZGVsICJDOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFz
ZVxidWlsZFxXZWJLaXRCdWlsZFxidWlsZGZhaWxlZCIKQnVpbGQgbG9nIHdhcyBzYXZlZCBhdCAi
ZmlsZTovL0M6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdl
YktpdEJ1aWxkXG9ialxKYXZhU2NyaXB0Q29yZUdlbmVyYXRlZFxSZWxlYXNlXEJ1aWxkTG9nLmh0
bSIKSmF2YVNjcmlwdENvcmVHZW5lcmF0ZWQgLSAwIGVycm9yKHMpLCAwIHdhcm5pbmcocykKLS0t
LS0tIEJ1aWxkIHN0YXJ0ZWQ6IFByb2plY3Q6IFdlYkNvcmVHZW5lcmF0ZWQsIENvbmZpZ3VyYXRp
b246IFJlbGVhc2UgV2luMzIgLS0tLS0tClBlcmZvcm1pbmcgTWFrZWZpbGUgcHJvamVjdCBhY3Rp
b25zCm1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSBgL2hvbWUvYnVpbGRib3Qvc2xhdmUvV0lO
LVJFfjEvYnVpbGQvV0UxNjc0fjEvb2JqL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMnCm1ha2VbMV06
IE5vdGhpbmcgdG8gYmUgZG9uZSBmb3IgYGFsbCcuCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5
IGAvaG9tZS9idWlsZGJvdC9zbGF2ZS9XSU4tUkV+MS9idWlsZC9XRTE2NzR+MS9vYmovV2ViQ29y
ZS9EZXJpdmVkU291cmNlcycKbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvaG9tZS9idWls
ZGJvdC9zbGF2ZS93aW4tcmVsZWFzZS9idWlsZC9XZWJDb3JlL1dlYkNvcmUudmNwcm9qJwptYWtl
WzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yIGBhbGwnLgptYWtlWzFdOiBMZWF2aW5nIGRpcmVj
dG9yeSBgL2hvbWUvYnVpbGRib3Qvc2xhdmUvd2luLXJlbGVhc2UvYnVpbGQvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvaicKQnVpbGQgbG9nIHdhcyBzYXZlZCBhdCAiZmlsZTovL0M6XGN5Z3dpblxob21l
XGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXG9ialxXZWJDb3Jl
R2VuZXJhdGVkXFJlbGVhc2VcQnVpbGRMb2cuaHRtIgpXZWJDb3JlR2VuZXJhdGVkIC0gMCBlcnJv
cihzKSwgMCB3YXJuaW5nKHMpCi0tLS0tLSBCdWlsZCBzdGFydGVkOiBQcm9qZWN0OiBXZWJDb3Jl
LCBDb25maWd1cmF0aW9uOiBSZWxlYXNlIFdpbjMyIC0tLS0tLQpQZXJmb3JtaW5nIFByZS1CdWls
ZCBFdmVudC4uLgpDb21waWxpbmcuLi4KIyMjIyMjIyBDT01QSUxJTkcgMjAgRklMRVMgVVNJTkcg
QVQgTU9TVCA4IFBBUkFMTEVMIElOU1RBTkNFUyBPRiBjbC5leGUgIyMjIyMjIyMjIyMKU3RvcmFn
ZUFyZWFJbXBsLmNwcApMb2NhbFN0b3JhZ2VUYXNrLmNwcApEb2N1bWVudC5jcHAKQ2hyb21lLmNw
cApDOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRC
dWlsZFxpbmNsdWRlXEphdmFTY3JpcHRDb3JlL1RocmVhZGluZy5oKDMwNykgOiBlcnJvciBDMjI0
ODogJ1dlYkNvcmU6OkxvY2FsU3RvcmFnZVRhc2s6On5Mb2NhbFN0b3JhZ2VUYXNrJyA6IGNhbm5v
dCBhY2Nlc3MgcHJpdmF0ZSBtZW1iZXIgZGVjbGFyZWQgaW4gY2xhc3MgJ1dlYkNvcmU6OkxvY2Fs
U3RvcmFnZVRhc2snCiAgICAgICAgYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJl
bGVhc2VcYnVpbGRcd2ViY29yZVxzdG9yYWdlXExvY2FsU3RvcmFnZVRhc2suaCg2MSkgOiBjb21w
aWxlciBoYXMgZ2VuZXJhdGVkICdXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrOjp+TG9jYWxTdG9y
YWdlVGFzaycgaGVyZQogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1y
ZWxlYXNlXGJ1aWxkXHdlYmNvcmVcc3RvcmFnZVxMb2NhbFN0b3JhZ2VUYXNrLmgoNDEpIDogc2Vl
IGRlY2xhcmF0aW9uIG9mICdXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrJwogICAgICAgIEM6XGN5
Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGlu
Y2x1ZGVcSmF2YVNjcmlwdENvcmUvVGhyZWFkaW5nLmgoMzA1KSA6IHdoaWxlIGNvbXBpbGluZyBj
bGFzcyB0ZW1wbGF0ZSBtZW1iZXIgZnVuY3Rpb24gJ3ZvaWQgV1RGOjpUaHJlYWRTYWZlU2hhcmVk
Jmx0O1QmZ3Q7OjpkZXJlZih2b2lkKScKICAgICAgICB3aXRoCiAgICAgICAgWwogICAgICAgICAg
ICBUPVdlYkNvcmU6OkxvY2FsU3RvcmFnZVRhc2sKICAgICAgICBdCiAgICAgICAgYzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcd2ViY29yZVxzdG9yYWdlXExv
Y2FsU3RvcmFnZVRhc2suaCg0MSkgOiBzZWUgcmVmZXJlbmNlIHRvIGNsYXNzIHRlbXBsYXRlIGlu
c3RhbnRpYXRpb24gJ1dURjo6VGhyZWFkU2FmZVNoYXJlZCZsdDtUJmd0OycgYmVpbmcgY29tcGls
ZWQKICAgICAgICB3aXRoCiAgICAgICAgWwogICAgICAgICAgICBUPVdlYkNvcmU6OkxvY2FsU3Rv
cmFnZVRhc2sKICAgICAgICBdClN0b3JhZ2VBcmVhLmNwcApDOlxjeWd3aW5caG9tZVxidWlsZGJv
dFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxpbmNsdWRlXEphdmFTY3JpcHRD
b3JlL1RocmVhZGluZy5oKDMwNykgOiBlcnJvciBDMjI0ODogJ1dlYkNvcmU6OlN0b3JhZ2VTeW5j
TWFuYWdlcjo6flN0b3JhZ2VTeW5jTWFuYWdlcicgOiBjYW5ub3QgYWNjZXNzIHByaXZhdGUgbWVt
YmVyIGRlY2xhcmVkIGluIGNsYXNzICdXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXInCiAgICAg
ICAgYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcd2ViY29y
ZVxzdG9yYWdlXFN0b3JhZ2VTeW5jTWFuYWdlci5oKDY3KSA6IGNvbXBpbGVyIGhhcyBnZW5lcmF0
ZWQgJ1dlYkNvcmU6OlN0b3JhZ2VTeW5jTWFuYWdlcjo6flN0b3JhZ2VTeW5jTWFuYWdlcicgaGVy
ZQogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxk
XHdlYmNvcmVcc3RvcmFnZVxTdG9yYWdlU3luY01hbmFnZXIuaCg0MykgOiBzZWUgZGVjbGFyYXRp
b24gb2YgJ1dlYkNvcmU6OlN0b3JhZ2VTeW5jTWFuYWdlcicKICAgICAgICBDOlxjeWd3aW5caG9t
ZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxpbmNsdWRlXEph
dmFTY3JpcHRDb3JlL1RocmVhZGluZy5oKDMwNSkgOiB3aGlsZSBjb21waWxpbmcgY2xhc3MgdGVt
cGxhdGUgbWVtYmVyIGZ1bmN0aW9uICd2b2lkIFdURjo6VGhyZWFkU2FmZVNoYXJlZCZsdDtUJmd0
Ozo6ZGVyZWYodm9pZCknCiAgICAgICAgd2l0aAogICAgICAgIFsKICAgICAgICAgICAgVD1XZWJD
b3JlOjpTdG9yYWdlU3luY01hbmFnZXIKICAgICAgICBdCiAgICAgICAgYzpcY3lnd2luXGhvbWVc
YnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcd2ViY29yZVxzdG9yYWdlXFN0b3JhZ2VT
eW5jTWFuYWdlci5oKDQzKSA6IHNlZSByZWZlcmVuY2UgdG8gY2xhc3MgdGVtcGxhdGUgaW5zdGFu
dGlhdGlvbiAnV1RGOjpUaHJlYWRTYWZlU2hhcmVkJmx0O1QmZ3Q7JyBiZWluZyBjb21waWxlZAog
ICAgICAgIHdpdGgKICAgICAgICBbCiAgICAgICAgICAgIFQ9V2ViQ29yZTo6U3RvcmFnZVN5bmNN
YW5hZ2VyCiAgICAgICAgXQpTdG9yYWdlRXZlbnQuY3BwCkM6XGN5Z3dpblxob21lXGJ1aWxkYm90
XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlwdENv
cmUvUmVmQ291bnRlZC5oKDEwOSkgOiBlcnJvciBDMjI0ODogJ1dlYkNvcmU6OlN0b3JhZ2U6On5T
dG9yYWdlJyA6IGNhbm5vdCBhY2Nlc3MgcHJpdmF0ZSBtZW1iZXIgZGVjbGFyZWQgaW4gY2xhc3Mg
J1dlYkNvcmU6OlN0b3JhZ2UnCiAgICAgICAgYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVc
d2luLXJlbGVhc2VcYnVpbGRcd2ViY29yZVxzdG9yYWdlXFN0b3JhZ2UuaCg2NSkgOiBjb21waWxl
ciBoYXMgZ2VuZXJhdGVkICdXZWJDb3JlOjpTdG9yYWdlOjp+U3RvcmFnZScgaGVyZQogICAgICAg
IGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVc
c3RvcmFnZVxTdG9yYWdlLmgoNDIpIDogc2VlIGRlY2xhcmF0aW9uIG9mICdXZWJDb3JlOjpTdG9y
YWdlJwogICAgICAgIEM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1
aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUvUmVmQ291bnRlZC5oKDEwNykg
OiB3aGlsZSBjb21waWxpbmcgY2xhc3MgdGVtcGxhdGUgbWVtYmVyIGZ1bmN0aW9uICd2b2lkIFdU
Rjo6UmVmQ291bnRlZCZsdDtUJmd0Ozo6ZGVyZWYodm9pZCknCiAgICAgICAgd2l0aAogICAgICAg
IFsKICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlCiAgICAgICAgXQogICAgICAgIGM6XGN5
Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVcc3RvcmFn
ZVxTdG9yYWdlLmgoNDIpIDogc2VlIHJlZmVyZW5jZSB0byBjbGFzcyB0ZW1wbGF0ZSBpbnN0YW50
aWF0aW9uICdXVEY6OlJlZkNvdW50ZWQmbHQ7VCZndDsnIGJlaW5nIGNvbXBpbGVkCiAgICAgICAg
d2l0aAogICAgICAgIFsKICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlCiAgICAgICAgXQpT
dG9yYWdlTmFtZXNwYWNlLmNwcApDOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVs
ZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxpbmNsdWRlXEphdmFTY3JpcHRDb3JlL1JlZkNvdW50ZWQu
aCgxMDkpIDogZXJyb3IgQzIyNDg6ICdXZWJDb3JlOjpTdG9yYWdlQXJlYVN5bmM6On5TdG9yYWdl
QXJlYVN5bmMnIDogY2Fubm90IGFjY2VzcyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBpbiBjbGFz
cyAnV2ViQ29yZTo6U3RvcmFnZUFyZWFTeW5jJwogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxk
Ym90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVcc3RvcmFnZVxTdG9yYWdlQXJlYVN5
bmMuaCg5MikgOiBjb21waWxlciBoYXMgZ2VuZXJhdGVkICdXZWJDb3JlOjpTdG9yYWdlQXJlYVN5
bmM6On5TdG9yYWdlQXJlYVN5bmMnIGhlcmUKICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJv
dFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJjb3JlXHN0b3JhZ2VcU3RvcmFnZUFyZWFTeW5j
LmgoNDMpIDogc2VlIGRlY2xhcmF0aW9uIG9mICdXZWJDb3JlOjpTdG9yYWdlQXJlYVN5bmMnCiAg
ICAgICAgQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2Vi
S2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9SZWZDb3VudGVkLmgoMTA3KSA6IHdoaWxl
IGNvbXBpbGluZyBjbGFzcyB0ZW1wbGF0ZSBtZW1iZXIgZnVuY3Rpb24gJ3ZvaWQgV1RGOjpSZWZD
b3VudGVkJmx0O1QmZ3Q7OjpkZXJlZih2b2lkKScKICAgICAgICB3aXRoCiAgICAgICAgWwogICAg
ICAgICAgICBUPVdlYkNvcmU6OlN0b3JhZ2VBcmVhU3luYwogICAgICAgIF0KICAgICAgICBjOlxj
eWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJjb3JlXHN0b3Jh
Z2VcU3RvcmFnZUFyZWFTeW5jLmgoNDMpIDogc2VlIHJlZmVyZW5jZSB0byBjbGFzcyB0ZW1wbGF0
ZSBpbnN0YW50aWF0aW9uICdXVEY6OlJlZkNvdW50ZWQmbHQ7VCZndDsnIGJlaW5nIGNvbXBpbGVk
CiAgICAgICAgd2l0aAogICAgICAgIFsKICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlQXJl
YVN5bmMKICAgICAgICBdCkluc3BlY3RvckRPTVN0b3JhZ2VSZXNvdXJjZS5jcHAKUGFnZS5jcHAK
U3RvcmFnZS5jcHAKQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVp
bGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9SZWZDb3VudGVkLmgoMTA5KSA6
IGVycm9yIEMyMjQ4OiAnV2ViQ29yZTo6U3RvcmFnZTo6flN0b3JhZ2UnIDogY2Fubm90IGFjY2Vz
cyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBpbiBjbGFzcyAnV2ViQ29yZTo6U3RvcmFnZScKICAg
ICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJj
b3JlXHN0b3JhZ2VcU3RvcmFnZS5oKDY1KSA6IGNvbXBpbGVyIGhhcyBnZW5lcmF0ZWQgPC9zcGFu
PjxzcGFuIGNsYXNzPSJzdGRvdXQiPidXZWJDb3JlOjpTdG9yYWdlOjp+U3RvcmFnZScgaGVyZQog
ICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdl
YmNvcmVcc3RvcmFnZVxTdG9yYWdlLmgoNDIpIDogc2VlIGRlY2xhcmF0aW9uIG9mICdXZWJDb3Jl
OjpTdG9yYWdlJwogICAgICAgIEM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxl
YXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUvUmVmQ291bnRlZC5o
KDEwNykgOiB3aGlsZSBjb21waWxpbmcgY2xhc3MgdGVtcGxhdGUgbWVtYmVyIGZ1bmN0aW9uICd2
b2lkIFdURjo6UmVmQ291bnRlZCZsdDtUJmd0Ozo6ZGVyZWYodm9pZCknCiAgICAgICAgd2l0aAog
ICAgICAgIFsKICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlCiAgICAgICAgXQogICAgICAg
IGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVc
c3RvcmFnZVxTdG9yYWdlLmgoNDIpIDogc2VlIHJlZmVyZW5jZSB0byBjbGFzcyB0ZW1wbGF0ZSBp
bnN0YW50aWF0aW9uICdXVEY6OlJlZkNvdW50ZWQmbHQ7VCZndDsnIGJlaW5nIGNvbXBpbGVkCiAg
ICAgICAgd2l0aAogICAgICAgIFsKICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlCiAgICAg
ICAgXQo8L3NwYW4+PHNwYW4gY2xhc3M9InN0ZG91dCI+Tm9kZS5jcHAKQzpcY3lnd2luXGhvbWVc
YnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZh
U2NyaXB0Q29yZS9SZWZDb3VudGVkLmgoMTA5KSA6IGVycm9yIEMyMjQ4OiAnV2ViQ29yZTo6U3Rv
cmFnZTo6flN0b3JhZ2UnIDogY2Fubm90IGFjY2VzcyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBp
biBjbGFzcyAnV2ViQ29yZTo6U3RvcmFnZScKICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJv
dFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJDb3JlXHN0b3JhZ2VcU3RvcmFnZS5oKDY1KSA6
IGNvbXBpbGVyIGhhcyBnZW5lcmF0ZWQgJ1dlYkNvcmU6OlN0b3JhZ2U6On5TdG9yYWdlJyBoZXJl
CiAgICAgICAgYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRc
V2ViQ29yZVxzdG9yYWdlXFN0b3JhZ2UuaCg0MikgOiBzZWUgZGVjbGFyYXRpb24gb2YgJ1dlYkNv
cmU6OlN0b3JhZ2UnCiAgICAgICAgQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJl
bGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9SZWZDb3VudGVk
LmgoMTA3KSA6IHdoaWxlIGNvbXBpbGluZyBjbGFzcyB0ZW1wbGF0ZSBtZW1iZXIgZnVuY3Rpb24g
J3ZvaWQgV1RGOjpSZWZDb3VudGVkJmx0O1QmZ3Q7OjpkZXJlZih2b2lkKScKICAgICAgICB3aXRo
CiAgICAgICAgWwogICAgICAgICAgICBUPVdlYkNvcmU6OlN0b3JhZ2UKICAgICAgICBdCiAgICAg
ICAgYzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViQ29y
ZVxzdG9yYWdlXFN0b3JhZ2UuaCg0MikgOiBzZWUgcmVmZXJlbmNlIHRvIGNsYXNzIHRlbXBsYXRl
IGluc3RhbnRpYXRpb24gJ1dURjo6UmVmQ291bnRlZCZsdDtUJmd0OycgYmVpbmcgY29tcGlsZWQK
ICAgICAgICB3aXRoCiAgICAgICAgWwogICAgICAgICAgICBUPVdlYkNvcmU6OlN0b3JhZ2UKICAg
ICAgICBdClN0b3JhZ2VTeW5jTWFuYWdlci5jcHAKQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xh
dmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9U
aHJlYWRpbmcuaCgzMDcpIDogZXJyb3IgQzIyNDg6ICdXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFn
ZXI6On5TdG9yYWdlU3luY01hbmFnZXInIDogY2Fubm90IGFjY2VzcyBwcml2YXRlIG1lbWJlciBk
ZWNsYXJlZCBpbiBjbGFzcyAnV2ViQ29yZTo6U3RvcmFnZVN5bmNNYW5hZ2VyJwogICAgICAgIGM6
XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVcc3Rv
cmFnZVxTdG9yYWdlU3luY01hbmFnZXIuaCg2NykgOiBjb21waWxlciBoYXMgZ2VuZXJhdGVkICdX
ZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXI6On5TdG9yYWdlU3luY01hbmFnZXInIGhlcmUKICAg
ICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJj
b3JlXHN0b3JhZ2VcU3RvcmFnZVN5bmNNYW5hZ2VyLmgoNDMpIDogc2VlIGRlY2xhcmF0aW9uIG9m
ICdXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXInCiAgICAgICAgQzpcY3lnd2luXGhvbWVcYnVp
bGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2Ny
aXB0Q29yZS9UaHJlYWRpbmcuaCgzMDUpIDogd2hpbGUgY29tcGlsaW5nIGNsYXNzIHRlbXBsYXRl
IG1lbWJlciBmdW5jdGlvbiAndm9pZCBXVEY6OlRocmVhZFNhZmVTaGFyZWQmbHQ7VCZndDs6OmRl
cmVmKHZvaWQpJwogICAgICAgIHdpdGgKICAgICAgICBbCiAgICAgICAgICAgIFQ9V2ViQ29yZTo6
U3RvcmFnZVN5bmNNYW5hZ2VyCiAgICAgICAgXQogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxk
Ym90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVcc3RvcmFnZVxTdG9yYWdlU3luY01h
bmFnZXIuaCg0MykgOiBzZWUgcmVmZXJlbmNlIHRvIGNsYXNzIHRlbXBsYXRlIGluc3RhbnRpYXRp
b24gJ1dURjo6VGhyZWFkU2FmZVNoYXJlZCZsdDtUJmd0OycgYmVpbmcgY29tcGlsZWQKICAgICAg
ICB3aXRoCiAgICAgICAgWwogICAgICAgICAgICBUPVdlYkNvcmU6OlN0b3JhZ2VTeW5jTWFuYWdl
cgogICAgICAgIF0KU3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwClN0b3JhZ2VBcmVhU3luYy5jcHAK
QzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVp
bGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9UaHJlYWRpbmcuaCgzMDcpIDogZXJyb3IgQzIyNDg6
ICdXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXI6On5TdG9yYWdlU3luY01hbmFnZXInIDogY2Fu
bm90IGFjY2VzcyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBpbiBjbGFzcyAnV2ViQ29yZTo6U3Rv
cmFnZVN5bmNNYW5hZ2VyJwogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdp
bi1yZWxlYXNlXGJ1aWxkXHdlYmNvcmVcc3RvcmFnZVxTdG9yYWdlU3luY01hbmFnZXIuaCg2Nykg
OiBjb21waWxlciBoYXMgZ2VuZXJhdGVkICdXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXI6On5T
dG9yYWdlU3luY01hbmFnZXInIGhlcmUKICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxz
bGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJjb3JlXHN0b3JhZ2VcU3RvcmFnZVN5bmNNYW5hZ2Vy
LmgoNDMpIDogc2VlIGRlY2xhcmF0aW9uIG9mICdXZWJDb3JlOjpTdG9yYWdlU3luY01hbmFnZXIn
CiAgICAgICAgQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRc
V2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9UaHJlYWRpbmcuaCgzMDUpIDogd2hp
bGUgY29tcGlsaW5nIGNsYXNzIHRlbXBsYXRlIG1lbWJlciBmdW5jdGlvbiAndm9pZCBXVEY6OlRo
cmVhZFNhZmVTaGFyZWQmbHQ7VCZndDs6OmRlcmVmKHZvaWQpJwogICAgICAgIHdpdGgKICAgICAg
ICBbCiAgICAgICAgICAgIFQ9V2ViQ29yZTo6U3RvcmFnZVN5bmNNYW5hZ2VyCiAgICAgICAgXQog
ICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXHdl
YmNvcmVcc3RvcmFnZVxTdG9yYWdlU3luY01hbmFnZXIuaCg0MykgOiBzZWUgcmVmZXJlbmNlIHRv
IGNsYXNzIHRlbXBsYXRlIGluc3RhbnRpYXRpb24gJ1dURjo6VGhyZWFkU2FmZVNoYXJlZCZsdDtU
Jmd0OycgYmVpbmcgY29tcGlsZWQKICAgICAgICB3aXRoCiAgICAgICAgWwogICAgICAgICAgICBU
PVdlYkNvcmU6OlN0b3JhZ2VTeW5jTWFuYWdlcgogICAgICAgIF0KRE9NV2luZG93LmNwcApDOlxj
eWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFxXZWJLaXRCdWlsZFxp
bmNsdWRlXEphdmFTY3JpcHRDb3JlL1JlZkNvdW50ZWQuaCgxMDkpIDogZXJyb3IgQzIyNDg6ICdX
ZWJDb3JlOjpTdG9yYWdlQXJlYVN5bmM6On5TdG9yYWdlQXJlYVN5bmMnIDogY2Fubm90IGFjY2Vz
cyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBpbiBjbGFzcyAnV2ViQ29yZTo6U3RvcmFnZUFyZWFT
eW5jJwogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1
aWxkXHdlYmNvcmVcc3RvcmFnZVxTdG9yYWdlQXJlYVN5bmMuaCg5MikgOiBjb21waWxlciBoYXMg
Z2VuZXJhdGVkICdXZWJDb3JlOjpTdG9yYWdlQXJlYVN5bmM6On5TdG9yYWdlQXJlYVN5bmMnIGhl
cmUKICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWls
ZFx3ZWJjb3JlXHN0b3JhZ2VcU3RvcmFnZUFyZWFTeW5jLmgoNDMpIDogc2VlIGRlY2xhcmF0aW9u
IG9mICdXZWJDb3JlOjpTdG9yYWdlQXJlYVN5bmMnCiAgICAgICAgQzpcY3lnd2luXGhvbWVcYnVp
bGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2Ny
aXB0Q29yZS9SZWZDb3VudGVkLmgoMTA3KSA6IHdoaWxlIGNvbXBpbGluZyBjbGFzcyB0ZW1wbGF0
ZSBtZW1iZXIgZnVuY3Rpb24gJ3ZvaWQgV1RGOjpSZWZDb3VudGVkJmx0O1QmZ3Q7OjpkZXJlZih2
b2lkKScKICAgICAgICB3aXRoCiAgICAgICAgWwogICAgICAgICAgICBUPVdlYkNvcmU6OlN0b3Jh
Z2VBcmVhU3luYwogICAgICAgIF0KICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2
ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJjb3JlXHN0b3JhZ2VcU3RvcmFnZUFyZWFTeW5jLmgoNDMp
IDogc2VlIHJlZmVyZW5jZSB0byBjbGFzcyB0ZW1wbGF0ZSBpbnN0YW50aWF0aW9uICdXVEY6OlJl
ZkNvdW50ZWQmbHQ7VCZndDsnIGJlaW5nIGNvbXBpbGVkCiAgICAgICAgd2l0aAogICAgICAgIFsK
ICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlQXJlYVN5bmMKICAgICAgICBdClBhZ2VHcm91
cC5jcHAKSlNTdG9yYWdlQ3VzdG9tLmNwcApJbnNwZWN0b3JDb250cm9sbGVyLmNwcApMb2NhbFN0
b3JhZ2VUaHJlYWQuY3BwCkM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNl
XGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlwdENvcmUvVGhyZWFkaW5nLmgoMzA3
KSA6IGVycm9yIEMyMjQ4OiAnV2ViQ29yZTo6TG9jYWxTdG9yYWdlVGFzazo6fkxvY2FsU3RvcmFn
ZVRhc2snIDogY2Fubm90IGFjY2VzcyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBpbiBjbGFzcyAn
V2ViQ29yZTo6TG9jYWxTdG9yYWdlVGFzaycKICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJv
dFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJjb3JlXHN0b3JhZ2VcTG9jYWxTdG9yYWdlVGFz
ay5oKDYxKSA6IGNvbXBpbGVyIGhhcyBnZW5lcmF0ZWQgJ1dlYkNvcmU6OkxvY2FsU3RvcmFnZVRh
c2s6On5Mb2NhbFN0b3JhZ2VUYXNrJyBoZXJlCiAgICAgICAgYzpcY3lnd2luXGhvbWVcYnVpbGRi
b3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcd2ViY29yZVxzdG9yYWdlXExvY2FsU3RvcmFnZVRh
c2suaCg0MSkgOiBzZWUgZGVjbGFyYXRpb24gb2YgJ1dlYkNvcmU6OkxvY2FsU3RvcmFnZVRhc2sn
CiAgICAgICAgQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRc
V2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9UaHJlYWRpbmcuaCgzMDUpIDogd2hp
bGUgY29tcGlsaW5nIGNsYXNzIHRlbXBsYXRlIG1lbWJlciBmdW5jdGlvbiAndm9pZCBXVEY6OlRo
cmVhZFNhZmVTaGFyZWQmbHQ7VCZndDs6OmRlcmVmKHZvaWQpJwogICAgICAgIHdpdGgKICAgICAg
ICBbCiAgICAgICAgICAgIFQ9V2ViQ29yZTo6TG9jYWxTdG9yYWdlVGFzawogICAgICAgIF0KICAg
ICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3aW4tcmVsZWFzZVxidWlsZFx3ZWJj
b3JlXHN0b3JhZ2VcTG9jYWxTdG9yYWdlVGFzay5oKDQxKSA6IHNlZSByZWZlcmVuY2UgdG8gY2xh
c3MgdGVtcGxhdGUgaW5zdGFudGlhdGlvbiAnV1RGOjpUaHJlYWRTYWZlU2hhcmVkJmx0O1QmZ3Q7
JyBiZWluZyBjb21waWxlZAogICAgICAgIHdpdGgKICAgICAgICBbCiAgICAgICAgICAgIFQ9V2Vi
Q29yZTo6TG9jYWxTdG9yYWdlVGFzawogICAgICAgIF0KQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rc
c2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29y
ZS9SZWZDb3VudGVkLmgoMTA5KSA6IGVycm9yIEMyMjQ4OiAnV2ViQ29yZTo6U3RvcmFnZTo6flN0
b3JhZ2UnIDogY2Fubm90IGFjY2VzcyBwcml2YXRlIG1lbWJlciBkZWNsYXJlZCBpbiBjbGFzcyAn
V2ViQ29yZTo6U3RvcmFnZScKICAgICAgICBjOlxjeWd3aW5caG9tZVxidWlsZGJvdFxzbGF2ZVx3
aW4tcmVsZWFzZVxidWlsZFxXZWJDb3JlXHN0b3JhZ2VcU3RvcmFnZS5oKDY1KSA6IGNvbXBpbGVy
IGhhcyBnZW5lcmF0ZWQgJ1dlYkNvcmU6OlN0b3JhZ2U6On5TdG9yYWdlJyBoZXJlCiAgICAgICAg
YzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViQ29yZVxz
dG9yYWdlXFN0b3JhZ2UuaCg0MikgOiBzZWUgZGVjbGFyYXRpb24gb2YgJ1dlYkNvcmU6OlN0b3Jh
Z2UnCiAgICAgICAgQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVp
bGRcV2ViS2l0QnVpbGRcaW5jbHVkZVxKYXZhU2NyaXB0Q29yZS9SZWZDb3VudGVkLmgoMTA3KSA6
IHdoaWxlIGNvbXBpbGluZyBjbGFzcyB0ZW1wbGF0ZSBtZW1iZXIgZnVuY3Rpb24gJ3ZvaWQgV1RG
OjpSZWZDb3VudGVkJmx0O1QmZ3Q7OjpkZXJlZih2b2lkKScKICAgICAgICB3aXRoCiAgICAgICAg
WwogICAgICAgICAgICBUPVdlYkNvcmU6OlN0b3JhZ2UKICAgICAgICBdCiAgICAgICAgYzpcY3ln
d2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViQ29yZVxzdG9yYWdl
XFN0b3JhZ2UuaCg0MikgOiBzZWUgcmVmZXJlbmNlIHRvIGNsYXNzIHRlbXBsYXRlIGluc3RhbnRp
YXRpb24gJ1dURjo6UmVmQ291bnRlZCZsdDtUJmd0OycgYmVpbmcgY29tcGlsZWQKICAgICAgICB3
aXRoCiAgICAgICAgWwogICAgICAgICAgICBUPVdlYkNvcmU6OlN0b3JhZ2UKICAgICAgICBdCkM6
XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxk
XGluY2x1ZGVcSmF2YVNjcmlwdENvcmUvUmVmQ291bnRlZC5oKDEwOSkgOiBlcnJvciBDMjI0ODog
J1dlYkNvcmU6OlN0b3JhZ2U6On5TdG9yYWdlJyA6IGNhbm5vdCBhY2Nlc3MgcHJpdmF0ZSBtZW1i
ZXIgZGVjbGFyZWQgaW4gY2xhc3MgJ1dlYkNvcmU6OlN0b3JhZ2UnCiAgICAgICAgYzpcY3lnd2lu
XGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJlbGVhc2VcYnVpbGRcV2ViQ29yZVxzdG9yYWdlXFN0
b3JhZ2UuaCg2NSkgOiBjb21waWxlciBoYXMgZ2VuZXJhdGVkICdXZWJDb3JlOjpTdG9yYWdlOjp+
U3RvcmFnZScgaGVyZQogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1y
ZWxlYXNlXGJ1aWxkXFdlYkNvcmVcc3RvcmFnZVxTdG9yYWdlLmgoNDIpIDogc2VlIGRlY2xhcmF0
aW9uIG9mICdXZWJDb3JlOjpTdG9yYWdlJwogICAgICAgIEM6XGN5Z3dpblxob21lXGJ1aWxkYm90
XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXGluY2x1ZGVcSmF2YVNjcmlwdENv
cmUvUmVmQ291bnRlZC5oKDEwNykgOiB3aGlsZSBjb21waWxpbmcgY2xhc3MgdGVtcGxhdGUgbWVt
YmVyIGZ1bmN0aW9uICd2b2lkIFdURjo6UmVmQ291bnRlZCZsdDtUJmd0Ozo6ZGVyZWYodm9pZCkn
CiAgICAgICAgd2l0aAogICAgICAgIFsKICAgICAgICAgICAgVD1XZWJDb3JlOjpTdG9yYWdlCiAg
ICAgICAgXQogICAgICAgIGM6XGN5Z3dpblxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNl
XGJ1aWxkXFdlYkNvcmVcc3RvcmFnZVxTdG9yYWdlLmgoNDIpIDogc2VlIHJlZmVyZW5jZSB0byBj
bGFzcyB0ZW1wbGF0ZSBpbnN0YW50aWF0aW9uICdXVEY6OlJlZkNvdW50ZWQmbHQ7VCZndDsnIGJl
aW5nIGNvbXBpbGVkCiAgICAgICAgd2l0aAogICAgICAgIFsKICAgICAgICAgICAgVD1XZWJDb3Jl
OjpTdG9yYWdlCiAgICAgICAgXQpKU0V2ZW50Q3VzdG9tLmNwcApQcm9qZWN0IDogd2FybmluZyBQ
UkowMDE4IDogVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2VyZSBub3QgZm91
bmQ6CiQoUFJPRFVDVElPTikKQnVpbGQgbG9nIHdhcyBzYXZlZCBhdCAiZmlsZTovL0M6XGN5Z3dp
blxob21lXGJ1aWxkYm90XHNsYXZlXHdpbi1yZWxlYXNlXGJ1aWxkXFdlYktpdEJ1aWxkXG9ialxX
ZWJDb3JlXFJlbGVhc2VcQnVpbGRMb2cuaHRtIgpXZWJDb3JlIC0gMTIgZXJyb3IocyksIDAgd2Fy
bmluZyhzKQotLS0tLS0gQnVpbGQgc3RhcnRlZDogUHJvamVjdDogSW50ZXJmYWNlc0dlbmVyYXRl
ZCwgQ29uZmlndXJhdGlvbjogUmVsZWFzZSBXaW4zMiAtLS0tLS0KUGVyZm9ybWluZyBNYWtlZmls
ZSBwcm9qZWN0IGFjdGlvbnMKUHJvamVjdCA6IGVycm9yIFBSSjAwMDIgOiBFcnJvciByZXN1bHQg
MSByZXR1cm5lZCBmcm9tICdjOlxXaW5kb3dzXHN5c3RlbTMyXGNtZC5leGUnLgpCdWlsZCBsb2cg
d2FzIHNhdmVkIGF0ICJmaWxlOi8vQzpcY3lnd2luXGhvbWVcYnVpbGRib3Rcc2xhdmVcd2luLXJl
bGVhc2VcYnVpbGRcV2ViS2l0QnVpbGRcb2JqXEludGVyZmFjZXNHZW5lcmF0ZWRcUmVsZWFzZVxC
dWlsZExvZy5odG0iCkludGVyZmFjZXNHZW5lcmF0ZWQgLSAxIGVycm9yKHMpLCAwIHdhcm5pbmco
cykKPT09PT09PT09PSBCdWlsZDogMiBzdWNjZWVkZWQsIDIgZmFpbGVkLCAxNCB1cC10by1kYXRl
LCAwIHNraXBwZWQgPT09PT09PT09PQoKCj09PT09IEJVSUxEIEZBSUxFRCA9PT09PT0KClBsZWFz
ZSBlbnN1cmUgeW91IGhhdmUgcnVuIFdlYktpdFRvb2xzL1NjcmlwdHMvdXBkYXRlLXdlYmtpdCB0
byBpbnN0YWxsIGRlcGVuZWRlbmNpZXMuCgpZb3UgY2FuIHZpZXcgYnVpbGQgZXJyb3JzIGJ5IGNo
ZWNraW5nIHRoZSBCdWlsZExvZy5odG0gZmlsZXMgbG9jYXRlZCBhdDoKL2hvbWUvYnVpbGRib3Qv
c2xhdmUvd2luLXJlbGVhc2UvYnVpbGQvV2ViS2l0QnVpbGQvb2JqLyZsdDtwcm9qZWN0Jmd0Oy8m
bHQ7Y29uZmlnJmd0Oy4KPC9zcGFuPjxzcGFuIGNsYXNzPSJoZWFkZXIiPnByb2dyYW0gZmluaXNo
ZWQgd2l0aCBleGl0IGNvZGUgMQplbGFwc2VkVGltZT00Ny43MjEwMDAKPC9zcGFuPjwvcHJlPgoK
PC9ib2R5PjwvaHRtbD5ZdGV4dC9odG1sXxBsaHR0cDovL2J1aWxkLndlYmtpdC5vcmcvYnVpbGRl
cnMvV2luZG93cyUyMFJlbGVhc2UlMjAlMjhCdWlsZCUyOS9idWlsZHMvMjc2Mi9zdGVwcy9jb21w
aWxlLXdlYmtpdC9sb2dzL3N0ZGlvUFVVVEYtOAAIAAsAHQAoADoAUABfAHYAlFkeWShZl1mYAAAA
AAAAAgEAAAAAAAAADQAAAAAAAAAAAAAAAAAAWZ4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32759</attachid>
            <date>2009-07-14 19:34:09 -0700</date>
            <delta_ts>2009-07-15 15:25:02 -0700</delta_ts>
            <desc>rev 3</desc>
            <filename>dependencies.v3.patch</filename>
            <type>text/plain</type>
            <size>14100</size>
            <attacher name="Jeremy Orlow">jorlow</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTg4OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDMgQEAKKzIwMDktMDctMTEgIEplcmVteSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2xlYW51cCBET00gU3RvcmFnZSBkZXBlbmRlbmNpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzE4MAorCisgICAgICAgIERPTSBTdG9yYWdlIGhh
ZCBzZXZlcmFsIHVubmVjZXNzYXJ5IChhbmQgcHJvYmFibHkgdW5pbnRlbmRlZCkKKyAgICAgICAg
ZGVwZW5kZW5jaWVzLiAgVGhpcyBwYXRjaCByZXBsYWNlcyBtYW55IGluY2x1ZGVzIG9mIGhlYWRl
ciBmaWxlcyB3aXRoCisgICAgICAgIGZvcndhcmQgZGVjbGFyYXRpb24gb2YgY2xhc3NlcywgbWFr
aW5nIHNvbWUgZGVzdHJ1Y3RvcnMgZXhwbGljaXQsIGFuZAorICAgICAgICB0YWtpbmcgc29tZSBm
YWN0b3JpZXMgb3V0IG9mIHRoZSBoZWFkZXIgZmlsZXMuCisKKyAgICAgICAgVGhpcyB3aWxsIGFs
bG93IHRoaW5ncyBsaWtlIFN0b3JhZ2VBcmVhU3luYyB0byB0YWtlIGEgU3RvcmFnZUFyZWFJbXBs
KgorICAgICAgICAoYXMgaXQgc2hvdWxkKSByYXRoZXIgdGhhbiBhIFN0b3JhZ2VBcmVhKiB3aGlj
aCBwcmV2aW91c2x5IHdlcmVuJ3QKKyAgICAgICAgcG9zc2libGUgYmVjYXVzZSB0aGUgZGVwZW5k
ZW5jaWVzIHdlcmUgc3VjaCBhIHRhbmdsZWQgbWVzcy4KKworICAgICAgICAqIHN0b3JhZ2UvTG9j
YWxTdG9yYWdlVGFzay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrOjp+
TG9jYWxTdG9yYWdlVGFzayk6CisgICAgICAgICogc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmg6
CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3Jh
Z2U6On5TdG9yYWdlKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2UuaDoKKyAgICAgICAgKiBz
dG9yYWdlL1N0b3JhZ2VBcmVhLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhLmg6
CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYUltcGwuY3BwOgorICAgICAgICAqIHN0b3Jh
Z2UvU3RvcmFnZUFyZWFJbXBsLmg6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZUFyZWFTeW5jOjp+U3RvcmFnZUFyZWFTeW5j
KToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oOgorICAgICAgICAqIHN0b3Jh
Z2UvU3RvcmFnZUV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VFdmVudDo6U3RvcmFnZUV2ZW50KToKKyAg
ICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VFdmVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFn
ZU5hbWVzcGFjZS5oOgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3Bw
OgorICAgICAgICAqIHN0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuaDoKKyAgICAgICAgKiBz
dG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdl
U3luY01hbmFnZXI6On5TdG9yYWdlU3luY01hbmFnZXIpOgorICAgICAgICAqIHN0b3JhZ2UvU3Rv
cmFnZVN5bmNNYW5hZ2VyLmg6CisKIDIwMDktMDctMTQgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUg
IDxtaWNkZXNpbUBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJz
b24uCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suY3BwCShyZXZpc2lvbiA0NTg4
OCkKKysrIFdlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDksNiArNDksMTAgQEAgTG9jYWxTdG9yYWdlVGFzazo6TG9jYWxTdG9yYWdlVGFzayhU
eXBlIAogICAgIEFTU0VSVChtX3R5cGUgPT0gVGVybWluYXRlVGhyZWFkKTsKIH0KIAorTG9jYWxT
dG9yYWdlVGFzazo6fkxvY2FsU3RvcmFnZVRhc2soKQoreworfQorCiB2b2lkIExvY2FsU3RvcmFn
ZVRhc2s6OnBlcmZvcm1UYXNrKCkKIHsKICAgICBzd2l0Y2ggKG1fdHlwZSkgewpJbmRleDogV2Vi
Q29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0
b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCShyZXZpc2lvbiA0NTg4OCkKKysrIFdlYkNvcmUvc3Rv
cmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHB1YmxpYzoKICAgICAgICAgZW51bSBUeXBlIHsgQXJl
YUltcG9ydCwgQXJlYVN5bmMsIFRlcm1pbmF0ZVRocmVhZCB9OwogCisgICAgICAgIH5Mb2NhbFN0
b3JhZ2VUYXNrKCk7CisKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8TG9jYWxTdG9yYWdlVGFz
az4gY3JlYXRlSW1wb3J0KFBhc3NSZWZQdHI8U3RvcmFnZUFyZWFTeW5jPiBhcmVhKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgTG9jYWxTdG9yYWdlVGFzayhBcmVhSW1wb3J0LCBhcmVhKSk7IH0KICAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8TG9jYWxTdG9yYWdlVGFzaz4gY3JlYXRlU3luYyhQYXNz
UmVmUHRyPFN0b3JhZ2VBcmVhU3luYz4gYXJlYSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IExvY2Fs
U3RvcmFnZVRhc2soQXJlYVN5bmMsIGFyZWEpKTsgfQogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxMb2NhbFN0b3JhZ2VUYXNrPiBjcmVhdGVUZXJtaW5hdGUoUGFzc1JlZlB0cjxMb2NhbFN0b3Jh
Z2VUaHJlYWQ+IHRocmVhZCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IExvY2FsU3RvcmFnZVRhc2so
VGVybWluYXRlVGhyZWFkLCB0aHJlYWQpKTsgfQpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlLmNwcAkocmV2aXNp
b24gNDU4ODgpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDYgKzQ3LDEwIEBAIFN0b3JhZ2U6OlN0b3JhZ2UoRnJhbWUqIGZyYW1lLCBQYXNzUmVm
UHQKICAgICBBU1NFUlQobV9zdG9yYWdlQXJlYSk7CiB9CiAKK1N0b3JhZ2U6On5TdG9yYWdlKCkK
K3sKK30KKwogdW5zaWduZWQgU3RvcmFnZTo6bGVuZ3RoKCkgY29uc3QKIHsKICAgICBpZiAoIW1f
ZnJhbWUpCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlLmgJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29yZS9zdG9y
YWdlL1N0b3JhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsNiBAQAogCiAjaWYgRU5B
QkxFKERPTV9TVE9SQUdFKQogCi0jaW5jbHVkZSAiU3RvcmFnZUFyZWEuaCIKLQogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CkBAIC0zNywxMyArMzUsMTUgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEZyYW1lOworICAgIGNsYXNzIFN0b3JhZ2VBcmVhOwogICAgIGNsYXNzIFN0cmlu
ZzsKICAgICB0eXBlZGVmIGludCBFeGNlcHRpb25Db2RlOwogCiAgICAgY2xhc3MgU3RvcmFnZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFN0b3JhZ2U+IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0b3JhZ2U+IGNyZWF0ZShGcmFtZSosIFBhc3NSZWZQdHI8U3RvcmFnZUFy
ZWE+KTsKLSAgICAgICAgCisgICAgICAgIH5TdG9yYWdlKCk7CisKICAgICAgICAgdW5zaWduZWQg
bGVuZ3RoKCkgY29uc3Q7CiAgICAgICAgIFN0cmluZyBrZXkodW5zaWduZWQgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmKSBjb25zdDsKICAgICAgICAgU3RyaW5nIGdldEl0ZW0oY29uc3QgU3RyaW5nJikg
Y29uc3Q7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWEuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5jcHAJKHJldmlzaW9uIDQ1ODg4KQorKysg
V2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsNyBAQAogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKIAogI2luY2x1ZGUgIlN0b3JhZ2VBcmVh
SW1wbC5oIgorI2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFuYWdlci5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5oCShyZXZpc2lvbiA0NTg4OCkKKysrIFdl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwyMyArMjks
MTQgQEAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgotI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCi0jaW5jbHVkZSAiU3RvcmFnZUFyZWFT
eW5jLmgiCi0jaW5jbHVkZSAiU3RvcmFnZU1hcC5oIgotI2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFu
YWdlci5oIgogCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgRnJhbWU7Ci0gICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBTZWN1cml0eU9y
aWdpbjsKLSAgICBjbGFzcyBTdG9yYWdlQXJlYVN5bmM7Ci0gICAgY2xhc3MgU3RvcmFnZU1hcDsK
ICAgICBjbGFzcyBTdG9yYWdlU3luY01hbmFnZXI7CiAgICAgdHlwZWRlZiBpbnQgRXhjZXB0aW9u
Q29kZTsKICAgICBlbnVtIFN0b3JhZ2VUeXBlIHsgTG9jYWxTdG9yYWdlLCBTZXNzaW9uU3RvcmFn
ZSB9OwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAJKHJldmlzaW9uIDQ1ODg4
KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1wbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKIAotI2luY2x1ZGUg
IkRPTVdpbmRvdy5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlQXJlYUltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFJ
bXBsLmgJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhSW1w
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCwxNCBAQAogCiAjaW5jbHVkZSAiU3RvcmFn
ZUFyZWEuaCIKIAorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCisgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CisgICAgY2xhc3MgU3RvcmFnZU1hcDsKKyAg
ICBjbGFzcyBTdG9yYWdlQXJlYVN5bmM7CisKICAgICBjbGFzcyBTdG9yYWdlQXJlYUltcGwgOiBw
dWJsaWMgU3RvcmFnZUFyZWEgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U3RvcmFnZUFyZWE+IGNyZWF0ZShTdG9yYWdlVHlwZSwgU2VjdXJpdHlPcmlnaW4qLCBQYXNz
UmVmUHRyPFN0b3JhZ2VTeW5jTWFuYWdlcj4pOwpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VBcmVhU3luYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVh
U3luYy5jcHAJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVh
U3luYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJIVE1M
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgogI2luY2x1ZGUgIlN0b3Jh
Z2VBcmVhLmgiCisjaW5jbHVkZSAiU3RvcmFnZVN5bmNNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU3Vk
ZGVuVGVybWluYXRpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjUsMTIgKzY2LDEw
IEBAIFN0b3JhZ2VBcmVhU3luYzo6U3RvcmFnZUFyZWFTeW5jKFBhc3NSZWYKICAgICAgICAgbV9p
bXBvcnRDb21wbGV0ZSA9IHRydWU7CiB9CiAKLSNpZm5kZWYgTkRFQlVHCiBTdG9yYWdlQXJlYVN5
bmM6On5TdG9yYWdlQXJlYVN5bmMoKQogewogICAgIEFTU0VSVCghbV9zeW5jVGltZXIuaXNBY3Rp
dmUoKSk7CiB9Ci0jZW5kaWYKIAogdm9pZCBTdG9yYWdlQXJlYVN5bmM6OnNjaGVkdWxlRmluYWxT
eW5jKCkKIHsKSW5kZXg6IFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlQXJlYVN5bmMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUFyZWFTeW5jLmgJKHJldmlzaW9uIDQ1ODg4
KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VBcmVhU3luYy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw5ICsyOCw5IEBACiAKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCiAKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCiAjaW5jbHVkZSAi
U3RyaW5nSGFzaC5oIgotI2luY2x1ZGUgIlN0b3JhZ2VTeW5jTWFuYWdlci5oIgogI2luY2x1ZGUg
IlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIApAQCAtNDIsMTIgKzQyLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIAogICAgIGNsYXNzIFN0b3JhZ2VBcmVhU3luYyA6IHB1
YmxpYyBSZWZDb3VudGVkPFN0b3JhZ2VBcmVhU3luYz4gewogICAgIHB1YmxpYzoKLSNpZm5kZWYg
TkRFQlVHCisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0b3JhZ2VBcmVhU3luYz4gY3JlYXRl
KFBhc3NSZWZQdHI8U3RvcmFnZVN5bmNNYW5hZ2VyPiBzdG9yYWdlU3luY01hbmFnZXIsIFBhc3NS
ZWZQdHI8U3RvcmFnZUFyZWE+IHN0b3JhZ2VBcmVhKTsKICAgICAgICAgflN0b3JhZ2VBcmVhU3lu
YygpOwotI2VuZGlmCiAKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUFyZWFTeW5j
PiBjcmVhdGUoUGFzc1JlZlB0cjxTdG9yYWdlU3luY01hbmFnZXI+IHN0b3JhZ2VTeW5jTWFuYWdl
ciwgUGFzc1JlZlB0cjxTdG9yYWdlQXJlYT4gc3RvcmFnZUFyZWEpOwotICAgICAgICAKICAgICAg
ICAgdm9pZCBzY2hlZHVsZUZpbmFsU3luYygpOwogICAgICAgICB2b2lkIGJsb2NrVW50aWxJbXBv
cnRDb21wbGV0ZSgpIGNvbnN0OwogCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAkocmV2
aXNpb24gNDU4ODgpCisrKyBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzMsNiArMzMsMjAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitQYXNz
UmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFnZUV2ZW50OjpjcmVhdGUoKQoreworICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU3RvcmFnZUV2ZW50KTsKK30KKworU3RvcmFnZUV2ZW50OjpTdG9yYWdl
RXZlbnQoKQoreworfQorCitQYXNzUmVmUHRyPFN0b3JhZ2VFdmVudD4gU3RvcmFnZUV2ZW50Ojpj
cmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3Qg
U3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1
cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQor
eworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3RvcmFnZUV2ZW50KHR5cGUsIGtleSwgb2xkVmFs
dWUsIG5ld1ZhbHVlLCB1cmksIHNvdXJjZSwgc3RvcmFnZUFyZWEpKTsKK30KKwogU3RvcmFnZUV2
ZW50OjpTdG9yYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcm
IGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29u
c3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0
b3JhZ2VBcmVhKQogICAgIDogRXZlbnQodHlwZSwgZmFsc2UsIHRydWUpCiAgICAgLCBtX2tleShr
ZXkpCkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZUV2ZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VFdmVudC5oCShyZXZpc2lvbiA0NTg4OCkKKysrIFdlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjksMjIgKzI5LDE3
IEBACiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCiAjaW5jbHVkZSAiRXZlbnQuaCIKLSNpbmNs
dWRlICJTdG9yYWdlLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAgICAgY2xhc3MgRE9NV2luZG93OworICAgIGNsYXNzIFN0b3JhZ2U7CiAK
ICAgICBjbGFzcyBTdG9yYWdlRXZlbnQgOiBwdWJsaWMgRXZlbnQgewogICAgIHB1YmxpYzoKLSAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUoKQotICAgICAgICB7
Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3JhZ2VFdmVudCk7Ci0gICAgICAg
IH0KLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRW
YWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQ
dHI8RE9NV2luZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKQotICAgICAgICB7Ci0g
ICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0b3JhZ2VFdmVudCh0eXBlLCBrZXksIG9s
ZFZhbHVlLCBuZXdWYWx1ZSwgdXJpLCBzb3VyY2UsIHN0b3JhZ2VBcmVhKSk7Ci0gICAgICAgIH0K
KyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUoKTsKKyAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFnZUV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29u
c3QgU3RyaW5nJiBuZXdWYWx1ZSwgY29uc3QgU3RyaW5nJiB1cmksIFBhc3NSZWZQdHI8RE9NV2lu
ZG93PiBzb3VyY2UsIFN0b3JhZ2UqIHN0b3JhZ2VBcmVhKTsKIAogICAgICAgICBjb25zdCBTdHJp
bmcmIGtleSgpIGNvbnN0IHsgcmV0dXJuIG1fa2V5OyB9CiAgICAgICAgIGNvbnN0IFN0cmluZyYg
b2xkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX29sZFZhbHVlOyB9CkBAIC02MSw3ICs1Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzU3RvcmFnZUV2ZW50
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgcHJpdmF0ZTogICAgCi0gICAgICAgIFN0
b3JhZ2VFdmVudCgpIHsgfQorICAgICAgICBTdG9yYWdlRXZlbnQoKTsKICAgICAgICAgU3RvcmFn
ZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0
IFN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IFN0cmluZyYgbmV3VmFsdWUsIGNvbnN0IFN0cmluZyYg
dXJpLCBQYXNzUmVmUHRyPERPTVdpbmRvdz4gc291cmNlLCBTdG9yYWdlKiBzdG9yYWdlQXJlYSk7
CiAgICAgICAgIAogICAgICAgICBTdHJpbmcgbV9rZXk7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
TmFtZXNwYWNlLmgJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VO
YW1lc3BhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsMTYgKzI4LDE1IEBACiAKICNpZiBFTkFC
TEUoRE9NX1NUT1JBR0UpCiAKLSNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkhhc2guaCIKLSNpbmNs
dWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKLSNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisgICAgY2xhc3Mg
U2VjdXJpdHlPcmlnaW47CiAgICAgY2xhc3MgU3RvcmFnZUFyZWE7Ci0gICAgY2xhc3MgU3RvcmFn
ZVN5bmNNYW5hZ2VyOwogCiAgICAgLy8gVGhpcyBpbnRlcmZhY2UgaXMgcmVxdWlyZWQgZm9yIENo
cm9taXVtIHNpbmNlIHRoZXNlIGFjdGlvbnMgbmVlZCB0byBiZSBwcm94aWVkIGJldHdlZW4gcHJv
Y2Vzc2VzLgogICAgIGNsYXNzIFN0b3JhZ2VOYW1lc3BhY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxT
dG9yYWdlTmFtZXNwYWNlPiB7CkluZGV4OiBXZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFj
ZUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNl
SW1wbC5jcHAJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1l
c3BhY2VJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsMTAgQEAKIAogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKIAorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5oIgorI2lu
Y2x1ZGUgIlN0cmluZ0hhc2guaCIKKyNpbmNsdWRlICJTdG9yYWdlQXJlYS5oIgorI2luY2x1ZGUg
IlN0b3JhZ2VTeW5jTWFuYWdlci5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpJbmRleDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3Bh
Y2VJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJ
bXBsLmgJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3Bh
Y2VJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDggKzI4LDE0IEBACiAKICNpZiBFTkFCTEUo
RE9NX1NUT1JBR0UpCiAKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlNl
Y3VyaXR5T3JpZ2luSGFzaC5oIgorI2luY2x1ZGUgIlN0b3JhZ2VBcmVhLmgiCiAjaW5jbHVkZSAi
U3RvcmFnZU5hbWVzcGFjZS5oIgogCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFN0b3Jh
Z2VOYW1lc3BhY2VJbXBsIDogcHVibGljIFN0b3JhZ2VOYW1lc3BhY2UgewpJbmRleDogV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAJKHJldmlzaW9uIDQ1ODg4KQorKysgV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYg
KzMzLDggQEAKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNp
bmNsdWRlICJGcmFtZVRyZWUuaCIKKyNpbmNsdWRlICJMb2NhbFN0b3JhZ2VUYXNrLmgiCisjaW5j
bHVkZSAiTG9jYWxTdG9yYWdlVGhyZWFkLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUg
IlBhZ2VHcm91cC5oIgogI2luY2x1ZGUgIlN0b3JhZ2VBcmVhU3luYy5oIgpAQCAtNTMsNiArNTUs
MTAgQEAgU3RvcmFnZVN5bmNNYW5hZ2VyOjpTdG9yYWdlU3luY01hbmFnZXIoYwogICAgIG1fdGhy
ZWFkLT5zdGFydCgpOwogfQogCitTdG9yYWdlU3luY01hbmFnZXI6On5TdG9yYWdlU3luY01hbmFn
ZXIoKQoreworfQorCiBTdHJpbmcgU3RvcmFnZVN5bmNNYW5hZ2VyOjpmdWxsRGF0YWJhc2VGaWxl
bmFtZShTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogewogICAgIEFTU0VSVChvcmlnaW4pOwpJbmRl
eDogV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VTeW5jTWFuYWdlci5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3RvcmFnZS9TdG9yYWdlU3luY01hbmFnZXIuaAkocmV2aXNpb24gNDU4ODgpCisrKyBX
ZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVN5bmNNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDE4ICsyOCwyMiBAQAogCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogCi0jaW5jbHVkZSAiTG9j
YWxTdG9yYWdlVGFzay5oIgotI2luY2x1ZGUgIkxvY2FsU3RvcmFnZVRocmVhZC5oIgotI2luY2x1
ZGUgIlN0b3JhZ2VBcmVhLmgiCi0jaW5jbHVkZSAiU3RvcmFnZUFyZWFTeW5jLmgiCisjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCisgICAgY2xhc3MgTG9jYWxTdG9yYWdlVGhyZWFkOworICAgIGNsYXNz
IFNlY3VyaXR5T3JpZ2luOworICAgIGNsYXNzIFN0b3JhZ2VBcmVhU3luYzsKKwogICAgIGNsYXNz
IFN0b3JhZ2VTeW5jTWFuYWdlciA6IHB1YmxpYyBUaHJlYWRTYWZlU2hhcmVkPFN0b3JhZ2VTeW5j
TWFuYWdlcj4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3RvcmFn
ZVN5bmNNYW5hZ2VyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBwYXRoKTsKKyAgICAgICAgflN0b3Jh
Z2VTeW5jTWFuYWdlcigpOwogCiAgICAgICAgIGJvb2wgc2NoZWR1bGVJbXBvcnQoUGFzc1JlZlB0
cjxTdG9yYWdlQXJlYVN5bmM+KTsKICAgICAgICAgdm9pZCBzY2hlZHVsZVN5bmMoUGFzc1JlZlB0
cjxTdG9yYWdlQXJlYVN5bmM+KTsK
</data>
<flag name="review"
          id="17132"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>