<?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>81333</bug_id>
          
          <creation_ts>2012-03-16 04:47:35 -0700</creation_ts>
          <short_desc>MediaStream API (JSEP): Introducing PeerConnection00Handler</short_desc>
          <delta_ts>2012-03-19 11:33: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>WebCore Misc.</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>
          <dependson>81377</dependson>
          <blocked>80589</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tommy Widenflycht">tommyw</reporter>
          <assigned_to name="Tommy Widenflycht">tommyw</assigned_to>
          <cc>harald</cc>
    
    <cc>pkasting</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>580386</commentid>
    <comment_count>0</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-16 04:47:35 -0700</bug_when>
    <thetext>In preparation of the last WebCore patch that will introduce PeerConnection00 here&apos;s its platform representation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580388</commentid>
    <comment_count>1</comment_count>
      <attachid>132251</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-16 04:52:29 -0700</bug_when>
    <thetext>Created attachment 132251
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580439</commentid>
    <comment_count>2</comment_count>
      <attachid>132266</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-16 06:13:19 -0700</bug_when>
    <thetext>Created attachment 132266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580473</commentid>
    <comment_count>3</comment_count>
      <attachid>132266</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-16 06:50:04 -0700</bug_when>
    <thetext>Comment on attachment 132266
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=132266&amp;action=review

&gt; Source/WebCore/platform/mediastream/PeerConnection00Handler.cpp:65
&gt; +PassRefPtr&lt;SessionDescriptionDescriptor&gt; PeerConnection00Handler::createAnswer(const String&amp; offer, PassRefPtr&lt;MediaHints&gt;)

You might need to add UNUSED_PARAM(offer) for some ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580482</commentid>
    <comment_count>4</comment_count>
      <attachid>132266</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-16 06:58:00 -0700</bug_when>
    <thetext>Comment on attachment 132266
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=132266&amp;action=review

&gt;&gt; Source/WebCore/platform/mediastream/PeerConnection00Handler.cpp:65
&gt;&gt; +PassRefPtr&lt;SessionDescriptionDescriptor&gt; PeerConnection00Handler::createAnswer(const String&amp; offer, PassRefPtr&lt;MediaHints&gt;)
&gt; 
&gt; You might need to add UNUSED_PARAM(offer) for some ports.

I&apos;ll just remove all argument names , these are just dummy implementations after all. OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580488</commentid>
    <comment_count>5</comment_count>
      <attachid>132276</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-16 07:08:38 -0700</bug_when>
    <thetext>Created attachment 132276
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580605</commentid>
    <comment_count>6</comment_count>
      <attachid>132276</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 09:57:19 -0700</bug_when>
    <thetext>Comment on attachment 132276
Patch

Clearing flags on attachment: 132276

Committed r111020: &lt;http://trac.webkit.org/changeset/111020&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580607</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 09:57:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580704</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2012-03-16 11:21:19 -0700</bug_when>
    <thetext>This broke Chromium Win compile: http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/24486/steps/compile-webkit/logs/stdio

tommyw and abarth don&apos;t seem to be around, I plan to roll out and reopen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580730</commentid>
    <comment_count>9</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2012-03-16 11:34:05 -0700</bug_when>
    <thetext>Rolled out in r111035.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581741</commentid>
    <comment_count>10</comment_count>
      <attachid>132570</attachid>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-19 06:56:18 -0700</bug_when>
    <thetext>Created attachment 132570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581743</commentid>
    <comment_count>11</comment_count>
    <who name="Tommy Widenflycht">tommyw</who>
    <bug_when>2012-03-19 06:58:55 -0700</bug_when>
    <thetext>Hopefully fixed build break by adding the necessary headers to Source/WebCore/platform/mediastream/PeerConnection00Handler.cpp

Strange that all other compilers optimized away the unused references, but windows failed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581951</commentid>
    <comment_count>12</comment_count>
      <attachid>132570</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-19 11:10:23 -0700</bug_when>
    <thetext>Comment on attachment 132570
Patch

Ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581986</commentid>
    <comment_count>13</comment_count>
      <attachid>132570</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 11:33:38 -0700</bug_when>
    <thetext>Comment on attachment 132570
Patch

Clearing flags on attachment: 132570

Committed r111208: &lt;http://trac.webkit.org/changeset/111208&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581987</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 11:33:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132251</attachid>
            <date>2012-03-16 04:52:29 -0700</date>
            <delta_ts>2012-03-16 06:13:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81333-20120316125227.patch</filename>
            <type>text/plain</type>
            <size>14455</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBhZGM4ZjYxYjFmZDc0
Y2RlM2ZlMDkxODY1NWMxZTA4OTFjOThkNy4uMWJhYTJmMmMzYTkwMjlhMWRlYzU1MDcwM2JlZTRh
Y2Q5ZmNlYzliNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTE2ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSSAoSlNFUCk6IEludHJvZHVjaW5nIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTMzMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHByZXBhcmF0aW9uIG9m
IHRoZSBsYXN0IFdlYkNvcmUgcGF0Y2ggdGhhdCB3aWxsIGludHJvZHVjZSBQZWVyQ29ubmVjdGlv
bjAwIGhlcmUncyBpdHMgcGxhdGZvcm0gcmVwcmVzZW50YXRpb24uCisKKyAgICAgICAgTm90IHBv
c3NpYmxlIHRvIHRlc3QgdW50aWwgdGhlIGVudGlyZSBKU0VQIGZlYXR1cmUgaXMgY29tbWl0ZWQu
CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZWVy
Q29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6flBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcik6
CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlQW5zd2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzZXRMb2NhbERl
c2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpz
ZXRSZW1vdGVEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6bG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlcjo6cmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0YXJ0SWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJD
b25uZWN0aW9uMDBIYW5kbGVyOjpwcm9jZXNzSWNlTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6YWRkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpyZW1vdmVTdHJlYW0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50Ojp+
UGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQpOgorCiAyMDEyLTAzLTE2ICBEYW5hIEphbnNl
bnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRG9uJ3QgY3Jl
YXRlIGEgcXVhZCBmb3IgdmlkZW8gbGF5ZXJzIHdpdGhvdXQgYSBmcmFtZSAoYXZvaWQgdXNlIG9m
IHVuaW5pdGlhbGl6ZWQgbV9mb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCBjY2MxZjA1MTIxNzQ5YWZlYTYxMDAwMTFiZTRkZmFhNDRkMTMxZDZjLi45Yzc2ZWMyN2EwOGU0
MjAwMTc5Y2MyYjRiZDIxZWNkZmU2MDQ3ZTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTMzNDQsNiArMzM0NCw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Db21wb25lbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtU291cmNl
LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
MDBIYW5kbGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVh
bWVyL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCAyMGNhOThkYzRhNWVjODk3Y2VjM2U4MjBlMDYzMzEzYjExNzQyZDNlLi5jMWIzNTcxOTdm
NzU0ZWZlNzMwYzZjMDlmNjdkMTRjMmEzMjU4MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00Mjks
NiArNDI5LDkgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bUNvbXBvbmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbURlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1Tb3VyY2UuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9jay5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MTQyNmJkMzk4NzE3MDc0MGFmMDBjY2ZmYmQ0ODE4MGFiODNiNzMyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuY3BwCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4g
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuaCIKKworI2luY2x1ZGUgIkljZUNhbmRpZGF0ZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlckNsaWVudC5oIgorI2luY2x1ZGUgIlNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBEdW1teSBpbXBsZW1lbnRhdGlvbnMgYmVsb3cg
Zm9yIHBvcnRzIHRoYXQgYnVpbGQgd2l0aCBNRURJQV9TVFJFQU0gZW5hYmxlZCBieSBkZWZhdWx0
LgorCitQYXNzT3duUHRyPFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyPiBQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6Y3JlYXRlKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSkK
K3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKGNsaWVu
dCwgc2VydmVyQ29uZmlndXJhdGlvbiwgdXNlcm5hbWUpKTsKK30KKworUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXI6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCisgICAgOiBtX2Ns
aWVudChjbGllbnQpCit7Cit9CisKK1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjp+UGVlckNvbm5l
Y3Rpb24wMEhhbmRsZXIoKQoreworfQorCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcihQYXNzUmVmUHRy
PE1lZGlhSGludHM+KQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFNlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVBbnN3
ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPikKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6c2V0TG9jYWxEZXNj
cmlwdGlvbihpbnQgYWN0aW9uLCBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3I+KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlcjo6c2V0UmVtb3RlRGVzY3JpcHRpb24oaW50IGFjdGlvbiwgUGFzc1JlZlB0cjxTZXNzaW9u
RGVzY3JpcHRpb25EZXNjcmlwdG9yPikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1Bhc3NS
ZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXI6OmxvY2FsRGVzY3JpcHRpb24oKQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRy
PFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpy
ZW1vdGVEZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgUGVlckNvbm5l
Y3Rpb24wMEhhbmRsZXI6OnN0YXJ0SWNlKFBhc3NSZWZQdHI8SWNlT3B0aW9ucz4pCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpwcm9jZXNz
SWNlTWVzc2FnZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZURlc2NyaXB0b3I+KQoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6YWRkU3RyZWFt
KFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikKK3sKK30KKwordm9pZCBQZWVyQ29u
bmVjdGlvbjAwSGFuZGxlcjo6cmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNj
cmlwdG9yPikKK3sKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6c3RvcCgpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWY3MjdjOGEzZWE1
MTg5ZDA2NTFkMzYxNjA0NDJlOWI2NTEzMjI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaApAQCAt
MCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAg
ICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcl9oCisj
ZGVmaW5lIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNpbmNsdWRlICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEljZUNhbmRpZGF0ZURl
c2NyaXB0b3I7CitjbGFzcyBJY2VPcHRpb25zOworY2xhc3MgTWVkaWFIaW50czsKK2NsYXNzIFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50OworY2xhc3MgU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvcjsKKworY2xhc3MgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKTsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxQZWVyQ29ubmVjdGlv
bjAwSGFuZGxlcj4gY3JlYXRlKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiwgY29uc3Qg
U3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKTsKKyAg
ICB+UGVlckNvbm5lY3Rpb24wMEhhbmRsZXIoKTsKKworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlT2ZmZXIoUGFzc1JlZlB0cjxNZWRpYUhpbnRzPik7
CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBjcmVhdGVBbnN3
ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPik7CisgICAgYm9v
bCBzZXRMb2NhbERlc2NyaXB0aW9uKGludCBhY3Rpb24sIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4pOworICAgIGJvb2wgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW50IGFj
dGlvbiwgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPik7CisgICAgUGFz
c1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBsb2NhbERlc2NyaXB0aW9uKCk7
CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiByZW1vdGVEZXNj
cmlwdGlvbigpOworICAgIGJvb2wgc3RhcnRJY2UoUGFzc1JlZlB0cjxJY2VPcHRpb25zPik7Cisg
ICAgYm9vbCBwcm9jZXNzSWNlTWVzc2FnZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZURlc2NyaXB0
b3I+KTsKKyAgICB2b2lkIGFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRv
cj4pOworICAgIHZvaWQgcmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlw
dG9yPik7CisgICAgdm9pZCBzdG9wKCk7CisKK3ByaXZhdGU6CisgICAgUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXIoUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJpbmcmIHNl
cnZlckNvbmZpZ3VyYXRpb24sIGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpOworCisgICAgUGVlckNv
bm5lY3Rpb24wMEhhbmRsZXJDbGllbnQqIG1fY2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYxMDM4MWI5ZWYxNjQ1MDgwMDBkMDdmZjE1ZGJlYmM1ODAzMTAyODQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBk
aXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnRfaAorI2RlZmluZSBQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlckNsaWVudF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOwor
Y2xhc3MgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOworCitjbGFzcyBQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0
ZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZURlc2NyaXB0b3I+LCBib29sIG1vcmVUb0ZvbGxvdykg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0YXRlKHVpbnQzMl90IHN0YXRl
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUljZVN0YXRlKHVpbnQzMl90IHN0YXRl
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtRGVzY3JpcHRvcj4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVt
b3RlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvciopID0gMDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAv
LyBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132266</attachid>
            <date>2012-03-16 06:13:19 -0700</date>
            <delta_ts>2012-03-16 07:08:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81333-20120316141317.patch</filename>
            <type>text/plain</type>
            <size>14455</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBhZGM4ZjYxYjFmZDc0
Y2RlM2ZlMDkxODY1NWMxZTA4OTFjOThkNy4uMWJhYTJmMmMzYTkwMjlhMWRlYzU1MDcwM2JlZTRh
Y2Q5ZmNlYzliNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTE2ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSSAoSlNFUCk6IEludHJvZHVjaW5nIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTMzMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHByZXBhcmF0aW9uIG9m
IHRoZSBsYXN0IFdlYkNvcmUgcGF0Y2ggdGhhdCB3aWxsIGludHJvZHVjZSBQZWVyQ29ubmVjdGlv
bjAwIGhlcmUncyBpdHMgcGxhdGZvcm0gcmVwcmVzZW50YXRpb24uCisKKyAgICAgICAgTm90IHBv
c3NpYmxlIHRvIHRlc3QgdW50aWwgdGhlIGVudGlyZSBKU0VQIGZlYXR1cmUgaXMgY29tbWl0ZWQu
CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZWVy
Q29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6flBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcik6
CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlQW5zd2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzZXRMb2NhbERl
c2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpz
ZXRSZW1vdGVEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6bG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlcjo6cmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0YXJ0SWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJD
b25uZWN0aW9uMDBIYW5kbGVyOjpwcm9jZXNzSWNlTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6YWRkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpyZW1vdmVTdHJlYW0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50Ojp+
UGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQpOgorCiAyMDEyLTAzLTE2ICBEYW5hIEphbnNl
bnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRG9uJ3QgY3Jl
YXRlIGEgcXVhZCBmb3IgdmlkZW8gbGF5ZXJzIHdpdGhvdXQgYSBmcmFtZSAoYXZvaWQgdXNlIG9m
IHVuaW5pdGlhbGl6ZWQgbV9mb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCBjY2MxZjA1MTIxNzQ5YWZlYTYxMDAwMTFiZTRkZmFhNDRkMTMxZDZjLi45Yzc2ZWMyN2EwOGU0
MjAwMTc5Y2MyYjRiZDIxZWNkZmU2MDQ3ZTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTMzNDQsNiArMzM0NCw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Db21wb25lbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtU291cmNl
LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
MDBIYW5kbGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVh
bWVyL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCAyMGNhOThkYzRhNWVjODk3Y2VjM2U4MjBlMDYzMzEzYjExNzQyZDNlLi5jMWIzNTcxOTdm
NzU0ZWZlNzMwYzZjMDlmNjdkMTRjMmEzMjU4MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00Mjks
NiArNDI5LDkgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bUNvbXBvbmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbURlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1Tb3VyY2UuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9jay5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MTQyNmJkMzk4NzE3MDc0MGFmMDBjY2ZmYmQ0ODE4MGFiODNiNzMyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuY3BwCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4g
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuaCIKKworI2luY2x1ZGUgIkljZUNhbmRpZGF0ZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlckNsaWVudC5oIgorI2luY2x1ZGUgIlNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBEdW1teSBpbXBsZW1lbnRhdGlvbnMgYmVsb3cg
Zm9yIHBvcnRzIHRoYXQgYnVpbGQgd2l0aCBNRURJQV9TVFJFQU0gZW5hYmxlZCBieSBkZWZhdWx0
LgorCitQYXNzT3duUHRyPFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyPiBQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6Y3JlYXRlKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSkK
K3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKGNsaWVu
dCwgc2VydmVyQ29uZmlndXJhdGlvbiwgdXNlcm5hbWUpKTsKK30KKworUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXI6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCisgICAgOiBtX2Ns
aWVudChjbGllbnQpCit7Cit9CisKK1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjp+UGVlckNvbm5l
Y3Rpb24wMEhhbmRsZXIoKQoreworfQorCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcihQYXNzUmVmUHRy
PE1lZGlhSGludHM+KQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFNlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVBbnN3
ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPikKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6c2V0TG9jYWxEZXNj
cmlwdGlvbihpbnQgYWN0aW9uLCBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0
b3I+KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlcjo6c2V0UmVtb3RlRGVzY3JpcHRpb24oaW50IGFjdGlvbiwgUGFzc1JlZlB0cjxTZXNzaW9u
RGVzY3JpcHRpb25EZXNjcmlwdG9yPikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1Bhc3NS
ZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXI6OmxvY2FsRGVzY3JpcHRpb24oKQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRy
PFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpy
ZW1vdGVEZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2Jvb2wgUGVlckNvbm5l
Y3Rpb24wMEhhbmRsZXI6OnN0YXJ0SWNlKFBhc3NSZWZQdHI8SWNlT3B0aW9ucz4pCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpwcm9jZXNz
SWNlTWVzc2FnZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZURlc2NyaXB0b3I+KQoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6YWRkU3RyZWFt
KFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPikKK3sKK30KKwordm9pZCBQZWVyQ29u
bmVjdGlvbjAwSGFuZGxlcjo6cmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNj
cmlwdG9yPikKK3sKK30KKwordm9pZCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6c3RvcCgpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWY3MjdjOGEzZWE1
MTg5ZDA2NTFkMzYxNjA0NDJlOWI2NTEzMjI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaApAQCAt
MCwwICsxLDc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqICAgIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5h
bWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAg
ICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcl9oCisj
ZGVmaW5lIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyX2gKKworI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCisKKyNpbmNsdWRlICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYv
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFz
c1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEljZUNhbmRpZGF0ZURl
c2NyaXB0b3I7CitjbGFzcyBJY2VPcHRpb25zOworY2xhc3MgTWVkaWFIaW50czsKK2NsYXNzIFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50OworY2xhc3MgU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvcjsKKworY2xhc3MgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKTsKKyAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093blB0cjxQZWVyQ29ubmVjdGlv
bjAwSGFuZGxlcj4gY3JlYXRlKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiwgY29uc3Qg
U3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKTsKKyAg
ICB+UGVlckNvbm5lY3Rpb24wMEhhbmRsZXIoKTsKKworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRl
c2NyaXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlT2ZmZXIoUGFzc1JlZlB0cjxNZWRpYUhpbnRzPik7
CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBjcmVhdGVBbnN3
ZXIoY29uc3QgU3RyaW5nJiBvZmZlciwgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPik7CisgICAgYm9v
bCBzZXRMb2NhbERlc2NyaXB0aW9uKGludCBhY3Rpb24sIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4pOworICAgIGJvb2wgc2V0UmVtb3RlRGVzY3JpcHRpb24oaW50IGFj
dGlvbiwgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPik7CisgICAgUGFz
c1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBsb2NhbERlc2NyaXB0aW9uKCk7
CisgICAgUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiByZW1vdGVEZXNj
cmlwdGlvbigpOworICAgIGJvb2wgc3RhcnRJY2UoUGFzc1JlZlB0cjxJY2VPcHRpb25zPik7Cisg
ICAgYm9vbCBwcm9jZXNzSWNlTWVzc2FnZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZURlc2NyaXB0
b3I+KTsKKyAgICB2b2lkIGFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRv
cj4pOworICAgIHZvaWQgcmVtb3ZlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlw
dG9yPik7CisgICAgdm9pZCBzdG9wKCk7CisKK3ByaXZhdGU6CisgICAgUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXIoUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQqLCBjb25zdCBTdHJpbmcmIHNl
cnZlckNvbmZpZ3VyYXRpb24sIGNvbnN0IFN0cmluZyYgdXNlcm5hbWUpOworCisgICAgUGVlckNv
bm5lY3Rpb24wMEhhbmRsZXJDbGllbnQqIG1fY2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2VuZGlmIC8vIFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVu
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYxMDM4MWI5ZWYxNjQ1MDgwMDBkMDdmZjE1ZGJlYmM1ODAzMTAyODQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9Q
ZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEFCLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBk
aXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnRfaAorI2RlZmluZSBQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlckNsaWVudF9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5j
bHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOwor
Y2xhc3MgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOworCitjbGFzcyBQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlckNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaWRHZW5lcmF0ZUljZUNhbmRpZGF0
ZShQYXNzUmVmUHRyPEljZUNhbmRpZGF0ZURlc2NyaXB0b3I+LCBib29sIG1vcmVUb0ZvbGxvdykg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VSZWFkeVN0YXRlKHVpbnQzMl90IHN0YXRl
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUljZVN0YXRlKHVpbnQzMl90IHN0YXRl
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEFkZFJlbW90ZVN0cmVhbShQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtRGVzY3JpcHRvcj4pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVtb3ZlUmVt
b3RlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvciopID0gMDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAv
LyBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132276</attachid>
            <date>2012-03-16 07:08:38 -0700</date>
            <delta_ts>2012-03-19 06:56:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81333-20120316150837.patch</filename>
            <type>text/plain</type>
            <size>14435</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjBhZGM4ZjYxYjFmZDc0
Y2RlM2ZlMDkxODY1NWMxZTA4OTFjOThkNy4uMWJhYTJmMmMzYTkwMjlhMWRlYzU1MDcwM2JlZTRh
Y2Q5ZmNlYzliNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTE2ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSSAoSlNFUCk6IEludHJvZHVjaW5nIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTMzMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHByZXBhcmF0aW9uIG9m
IHRoZSBsYXN0IFdlYkNvcmUgcGF0Y2ggdGhhdCB3aWxsIGludHJvZHVjZSBQZWVyQ29ubmVjdGlv
bjAwIGhlcmUncyBpdHMgcGxhdGZvcm0gcmVwcmVzZW50YXRpb24uCisKKyAgICAgICAgTm90IHBv
c3NpYmxlIHRvIHRlc3QgdW50aWwgdGhlIGVudGlyZSBKU0VQIGZlYXR1cmUgaXMgY29tbWl0ZWQu
CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZWVy
Q29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6flBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcik6
CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlQW5zd2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzZXRMb2NhbERl
c2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpz
ZXRSZW1vdGVEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6bG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlcjo6cmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0YXJ0SWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJD
b25uZWN0aW9uMDBIYW5kbGVyOjpwcm9jZXNzSWNlTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6YWRkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpyZW1vdmVTdHJlYW0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50Ojp+
UGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQpOgorCiAyMDEyLTAzLTE2ICBEYW5hIEphbnNl
bnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRG9uJ3QgY3Jl
YXRlIGEgcXVhZCBmb3IgdmlkZW8gbGF5ZXJzIHdpdGhvdXQgYSBmcmFtZSAoYXZvaWQgdXNlIG9m
IHVuaW5pdGlhbGl6ZWQgbV9mb3JtYXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRl
eCBjY2MxZjA1MTIxNzQ5YWZlYTYxMDAwMTFiZTRkZmFhNDRkMTMxZDZjLi45Yzc2ZWMyN2EwOGU0
MjAwMTc5Y2MyYjRiZDIxZWNkZmU2MDQ3ZTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KQEAgLTMzNDQsNiArMzM0NCw5IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Db21wb25lbnQuaCBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtU291cmNl
LmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
MDBIYW5kbGVyLmNwcCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3IuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vZ3N0cmVh
bWVyL0RlcHJlY2F0ZWRQZWVyQ29ubmVjdGlvbkhhbmRsZXIuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCAyMGNhOThkYzRhNWVjODk3Y2VjM2U4MjBlMDYzMzEzYjExNzQyZDNlLi5jMWIzNTcxOTdm
NzU0ZWZlNzMwYzZjMDlmNjdkMTRjMmEzMjU4MDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00Mjks
NiArNDI5LDkgQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bUNvbXBvbmVudC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbURlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1Tb3VyY2UuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vU2Vzc2lvbkRlc2NyaXB0aW9uRGVz
Y3JpcHRvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9tb2NrL0RldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9jay5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZDdjMGMzMDliYzVhZTE5NjJlZjBmMjdjYzM0ZTc0MzgyZjE3Yzg1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuY3BwCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4g
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisK
KyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuaCIKKworI2luY2x1ZGUgIkljZUNhbmRpZGF0ZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRl
ICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlckNsaWVudC5oIgorI2luY2x1ZGUgIlNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBEdW1teSBpbXBsZW1lbnRhdGlvbnMgYmVsb3cg
Zm9yIHBvcnRzIHRoYXQgYnVpbGQgd2l0aCBNRURJQV9TVFJFQU0gZW5hYmxlZCBieSBkZWZhdWx0
LgorCitQYXNzT3duUHRyPFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyPiBQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6Y3JlYXRlKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNv
bnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSkK
K3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKGNsaWVu
dCwgc2VydmVyQ29uZmlndXJhdGlvbiwgdXNlcm5hbWUpKTsKK30KKworUGVlckNvbm5lY3Rpb24w
MEhhbmRsZXI6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCisgICAgOiBtX2Ns
aWVudChjbGllbnQpCit7Cit9CisKK1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjp+UGVlckNvbm5l
Y3Rpb24wMEhhbmRsZXIoKQoreworfQorCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRl
c2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcihQYXNzUmVmUHRy
PE1lZGlhSGludHM+KQoreworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFNlc3Npb25E
ZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVBbnN3
ZXIoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxNZWRpYUhpbnRzPikKK3sKKyAgICByZXR1cm4g
MDsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6c2V0TG9jYWxEZXNjcmlwdGlv
bihpbnQsIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzZXRSZW1v
dGVEZXNjcmlwdGlvbihpbnQsIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRv
cj4pCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlw
dGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpsb2NhbERlc2NyaXB0aW9u
KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yPiBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6cmVtb3RlRGVzY3JpcHRpb24oKQor
eworICAgIHJldHVybiAwOworfQorCitib29sIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzdGFy
dEljZShQYXNzUmVmUHRyPEljZU9wdGlvbnM+KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
Ym9vbCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6cHJvY2Vzc0ljZU1lc3NhZ2UoUGFzc1JlZlB0
cjxJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OmFkZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcj4pCit7Cit9CisKK3ZvaWQgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnJl
bW92ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pCit7Cit9CisKK3Zv
aWQgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0b3AoKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9u
MDBIYW5kbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFmNzI3YzhhM2VhNTE4OWQwNjUxZDM2MTYwNDQyZTli
NjUxMzIyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAg
ICBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJfaAorI2RlZmluZSBQZWVyQ29ubmVjdGlv
bjAwSGFuZGxlcl9oCisKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjaW5jbHVkZSAiTWVk
aWFTdHJlYW1EZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBJY2VDYW5kaWRhdGVEZXNjcmlwdG9yOworY2xhc3MgSWNl
T3B0aW9uczsKK2NsYXNzIE1lZGlhSGludHM7CitjbGFzcyBQZWVyQ29ubmVjdGlvbjAwSGFuZGxl
ckNsaWVudDsKK2NsYXNzIFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQZWVyQ29u
bmVjdGlvbjAwSGFuZGxlcik7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NPd25QdHI8UGVlckNvbm5lY3Rpb24wMEhhbmRsZXI+IGNyZWF0ZShQ
ZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudCosIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmln
dXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSk7CisgICAgflBlZXJDb25uZWN0aW9uMDBI
YW5kbGVyKCk7CisKKyAgICBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+
IGNyZWF0ZU9mZmVyKFBhc3NSZWZQdHI8TWVkaWFIaW50cz4pOworICAgIFBhc3NSZWZQdHI8U2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gY3JlYXRlQW5zd2VyKGNvbnN0IFN0cmluZyYgb2Zm
ZXIsIFBhc3NSZWZQdHI8TWVkaWFIaW50cz4pOworICAgIGJvb2wgc2V0TG9jYWxEZXNjcmlwdGlv
bihpbnQgYWN0aW9uLCBQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+KTsK
KyAgICBib29sIHNldFJlbW90ZURlc2NyaXB0aW9uKGludCBhY3Rpb24sIFBhc3NSZWZQdHI8U2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4gbG9jYWxEZXNjcmlwdGlvbigpOworICAgIFBhc3NSZWZQdHI8U2Vz
c2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gcmVtb3RlRGVzY3JpcHRpb24oKTsKKyAgICBib29s
IHN0YXJ0SWNlKFBhc3NSZWZQdHI8SWNlT3B0aW9ucz4pOworICAgIGJvb2wgcHJvY2Vzc0ljZU1l
c3NhZ2UoUGFzc1JlZlB0cjxJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPik7CisgICAgdm9pZCBhZGRT
dHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+KTsKKyAgICB2b2lkIHJlbW92
ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pOworICAgIHZvaWQgc3Rv
cCgpOworCitwcml2YXRlOgorICAgIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKFBlZXJDb25uZWN0
aW9uMDBIYW5kbGVyQ2xpZW50KiwgY29uc3QgU3RyaW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBj
b25zdCBTdHJpbmcmIHVzZXJuYW1lKTsKKworICAgIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xp
ZW50KiBtX2NsaWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRpZiAvLyBQZWVyQ29ubmVjdGlvbjAwSGFuZGxl
cl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVy
Q29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTAz
ODFiOWVmMTY0NTA4MDAwZDA3ZmYxNWRiZWJjNTgwMzEwMjg0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJDbGllbnQuaApAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICogMy4g
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250
cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBlZXJDb25uZWN0aW9u
MDBIYW5kbGVyQ2xpZW50X2gKKyNkZWZpbmUgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnRf
aAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgSWNlQ2FuZGlkYXRlRGVzY3JpcHRvcjsKK2NsYXNzIE1lZGlhU3RyZWFtRGVz
Y3JpcHRvcjsKKworY2xhc3MgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQgeworcHVibGlj
OgorICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KCkgeyB9CisKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVJY2VDYW5kaWRhdGUoUGFzc1JlZlB0cjxJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yPiwgYm9vbCBtb3JlVG9Gb2xsb3cpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkQ2hhbmdlUmVhZHlTdGF0ZSh1aW50MzJfdCBzdGF0ZSkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBkaWRDaGFuZ2VJY2VTdGF0ZSh1aW50MzJfdCBzdGF0ZSkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBkaWRBZGRSZW1vdGVTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlbW92ZVJlbW90ZVN0cmVhbShNZWRpYVN0cmVh
bURlc2NyaXB0b3IqKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisjZW5kaWYgLy8gUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXJDbGllbnRfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132570</attachid>
            <date>2012-03-19 06:56:18 -0700</date>
            <delta_ts>2012-03-19 11:33:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81333-20120319145616.patch</filename>
            <type>text/plain</type>
            <size>14462</size>
            <attacher name="Tommy Widenflycht">tommyw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc5YjNkNDQ3NWI4YzFm
NjUwZjRhMDhmNTkzYTBmNjU0NDdhMTQ5Yy4uMGNmNjNhYWU0ZmUyOWMwMmY1M2FlYjlhNWJmYjE5
M2Q5MDFlNjk0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAzLTE2ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgorCisgICAgICAgIE1lZGlhU3RyZWFt
IEFQSSAoSlNFUCk6IEludHJvZHVjaW5nIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTMzMworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHByZXBhcmF0aW9uIG9m
IHRoZSBsYXN0IFdlYkNvcmUgcGF0Y2ggdGhhdCB3aWxsIGludHJvZHVjZSBQZWVyQ29ubmVjdGlv
bjAwIGhlcmUncyBpdHMgcGxhdGZvcm0gcmVwcmVzZW50YXRpb24uCisKKyAgICAgICAgTm90IHBv
c3NpYmxlIHRvIHRlc3QgdW50aWwgdGhlIGVudGlyZSBKU0VQIGZlYXR1cmUgaXMgY29tbWl0ZWQu
CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxl
ci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpQZWVy
Q29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgIChXZWJD
b3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6flBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVPZmZlcik6
CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlQW5zd2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzZXRMb2NhbERl
c2NyaXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpz
ZXRSZW1vdGVEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6bG9jYWxEZXNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlcjo6cmVtb3RlRGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0YXJ0SWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJD
b25uZWN0aW9uMDBIYW5kbGVyOjpwcm9jZXNzSWNlTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6YWRkU3RyZWFtKToKKyAgICAgICAgKFdlYkNvcmU6
OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpyZW1vdmVTdHJlYW0pOgorICAgICAgICAoV2ViQ29y
ZTo6UGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0b3ApOgorICAgICAgICAqIHBsYXRmb3JtL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik6CisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaDogQWRkZWQu
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xp
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50Ojp+
UGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQpOgorCiAyMDEyLTAzLTE4ICBNYXR0IEZhbGtl
bmhhZ2VuICA8ZmFsa2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGYWxsYmFjayB0byBjb21t
b24gc2NyaXB0IHdoZW4gcGVyLXNjcmlwdCBmb250IHNldHRpbmcgaXMgdGhlIGVtcHR5IHN0cmlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYmNiMDI5ZDAxYTJiNjFkMjhhZjU3
NDkxNzM4YWI0ODhkNDEwYTdmNy4uMzUyNjMxMzBhOWFlNDRlMWViZWVkZDhjODA3MmQ3NzE5MTVl
NTk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0zMzQ1LDYgKzMzNDUsOSBA
QCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtQ29tcG9uZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVNvdXJjZS5oIFwKKwlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlci5jcHAgXAorCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBI
YW5kbGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1Nl
c3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9TZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2dzdHJlYW1lci9EZXByZWNhdGVkUGVlckNvbm5l
Y3Rpb25IYW5kbGVyLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMDZiZjlmMDcwYmY4NmY3ZGVi
NGYwN2E0MjBmM2FjZmU5YmJhMmU5Ni4uZDk5ZTIzMDY5ZDk5YjFjYmZjMGQxZjllNmJjNWU2ZDY2
YjEyZjIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNDMwLDYgKzQzMCw5IEBACiAgICAgICAgICAg
ICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Db21wb25lbnQuaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtU291cmNlLmgnLAorICAg
ICAgICAgICAgJ3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNw
cCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhh
bmRsZXIuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rp
b24wMEhhbmRsZXJDbGllbnQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vbWVkaWFzdHJlYW0v
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1Nlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vbW9jay9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAw
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29u
bmVjdGlvbjAwSGFuZGxlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY0NmUyN2VhMmJlOWUxMDEyOGMzMmNl
NDdhMDJhODkzZDkyNTA5YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmNwcApAQCAtMCwwICsxLDEx
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgQUIuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqICAg
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAq
ICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVB
TSkKKworI2luY2x1ZGUgIlBlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmgiCisKKyNpbmNsdWRlICJJ
Y2VDYW5kaWRhdGVEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiSWNlT3B0aW9ucy5oIgorI2luY2x1
ZGUgIk1lZGlhSGludHMuaCIKKyNpbmNsdWRlICJNZWRpYVN0cmVhbURlc2NyaXB0b3IuaCIKKyNp
bmNsdWRlICJQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oIgorI2luY2x1ZGUgIlNlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvLyBE
dW1teSBpbXBsZW1lbnRhdGlvbnMgYmVsb3cgZm9yIHBvcnRzIHRoYXQgYnVpbGQgd2l0aCBNRURJ
QV9TVFJFQU0gZW5hYmxlZCBieSBkZWZhdWx0LgorCitQYXNzT3duUHRyPFBlZXJDb25uZWN0aW9u
MDBIYW5kbGVyPiBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6Y3JlYXRlKFBlZXJDb25uZWN0aW9u
MDBIYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlv
biwgY29uc3QgU3RyaW5nJiB1c2VybmFtZSkKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyKGNsaWVudCwgc2VydmVyQ29uZmlndXJhdGlvbiwgdXNlcm5h
bWUpKTsKK30KKworUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OlBlZXJDb25uZWN0aW9uMDBIYW5k
bGVyKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYpCisgICAgOiBtX2NsaWVudChjbGllbnQpCit7Cit9CisKK1BlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyOjp+UGVlckNvbm5lY3Rpb24wMEhhbmRsZXIoKQoreworfQorCitQYXNz
UmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9uMDBIYW5k
bGVyOjpjcmVhdGVPZmZlcihQYXNzUmVmUHRyPE1lZGlhSGludHM+KQoreworICAgIHJldHVybiAw
OworfQorCitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyOjpjcmVhdGVBbnN3ZXIoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxN
ZWRpYUhpbnRzPikKK3sKKyAgICByZXR1cm4gMDsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAw
SGFuZGxlcjo6c2V0TG9jYWxEZXNjcmlwdGlvbihpbnQsIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2Ny
aXB0aW9uRGVzY3JpcHRvcj4pCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIFBlZXJD
b25uZWN0aW9uMDBIYW5kbGVyOjpzZXRSZW1vdGVEZXNjcmlwdGlvbihpbnQsIFBhc3NSZWZQdHI8
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pCit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CitQYXNzUmVmUHRyPFNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IFBlZXJDb25uZWN0aW9u
MDBIYW5kbGVyOjpsb2NhbERlc2NyaXB0aW9uKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworUGFz
c1JlZlB0cjxTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yPiBQZWVyQ29ubmVjdGlvbjAwSGFu
ZGxlcjo6cmVtb3RlRGVzY3JpcHRpb24oKQoreworICAgIHJldHVybiAwOworfQorCitib29sIFBl
ZXJDb25uZWN0aW9uMDBIYW5kbGVyOjpzdGFydEljZShQYXNzUmVmUHRyPEljZU9wdGlvbnM+KQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcjo6
cHJvY2Vzc0ljZU1lc3NhZ2UoUGFzc1JlZlB0cjxJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPikKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OmFk
ZFN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4pCit7Cit9CisKK3ZvaWQg
UGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnJlbW92ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcj4pCit7Cit9CisKK3ZvaWQgUGVlckNvbm5lY3Rpb24wMEhhbmRsZXI6OnN0
b3AoKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
TUVESUFfU1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFmNzI3
YzhhM2VhNTE4OWQwNjUxZDM2MTYwNDQyZTliNjUxMzIyNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uMDBIYW5kbGVy
LmgKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiAgICBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJfaAorI2RlZmluZSBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcl9oCisKKyNpZiBFTkFCTEUoTUVE
SUFfU1RSRUFNKQorCisjaW5jbHVkZSAiTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmgiCisjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1Bhc3NSZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJY2VDYW5k
aWRhdGVEZXNjcmlwdG9yOworY2xhc3MgSWNlT3B0aW9uczsKK2NsYXNzIE1lZGlhSGludHM7Citj
bGFzcyBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudDsKK2NsYXNzIFNlc3Npb25EZXNjcmlw
dGlvbkRlc2NyaXB0b3I7CisKK2NsYXNzIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyIHsKKyAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcik7CisgICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8UGVlckNv
bm5lY3Rpb24wMEhhbmRsZXI+IGNyZWF0ZShQZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudCos
IGNvbnN0IFN0cmluZyYgc2VydmVyQ29uZmlndXJhdGlvbiwgY29uc3QgU3RyaW5nJiB1c2VybmFt
ZSk7CisgICAgflBlZXJDb25uZWN0aW9uMDBIYW5kbGVyKCk7CisKKyAgICBQYXNzUmVmUHRyPFNl
c3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+IGNyZWF0ZU9mZmVyKFBhc3NSZWZQdHI8TWVkaWFI
aW50cz4pOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gY3Jl
YXRlQW5zd2VyKGNvbnN0IFN0cmluZyYgb2ZmZXIsIFBhc3NSZWZQdHI8TWVkaWFIaW50cz4pOwor
ICAgIGJvb2wgc2V0TG9jYWxEZXNjcmlwdGlvbihpbnQgYWN0aW9uLCBQYXNzUmVmUHRyPFNlc3Np
b25EZXNjcmlwdGlvbkRlc2NyaXB0b3I+KTsKKyAgICBib29sIHNldFJlbW90ZURlc2NyaXB0aW9u
KGludCBhY3Rpb24sIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4pOwor
ICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gbG9jYWxEZXNjcmlw
dGlvbigpOworICAgIFBhc3NSZWZQdHI8U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvcj4gcmVt
b3RlRGVzY3JpcHRpb24oKTsKKyAgICBib29sIHN0YXJ0SWNlKFBhc3NSZWZQdHI8SWNlT3B0aW9u
cz4pOworICAgIGJvb2wgcHJvY2Vzc0ljZU1lc3NhZ2UoUGFzc1JlZlB0cjxJY2VDYW5kaWRhdGVE
ZXNjcmlwdG9yPik7CisgICAgdm9pZCBhZGRTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbURl
c2NyaXB0b3I+KTsKKyAgICB2b2lkIHJlbW92ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFt
RGVzY3JpcHRvcj4pOworICAgIHZvaWQgc3RvcCgpOworCitwcml2YXRlOgorICAgIFBlZXJDb25u
ZWN0aW9uMDBIYW5kbGVyKFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiwgY29uc3QgU3Ry
aW5nJiBzZXJ2ZXJDb25maWd1cmF0aW9uLCBjb25zdCBTdHJpbmcmIHVzZXJuYW1lKTsKKworICAg
IFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50KiBtX2NsaWVudDsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCisKKyNlbmRp
ZiAvLyBQZWVyQ29ubmVjdGlvbjAwSGFuZGxlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbjAwSGFuZGxlckNsaWVudC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRs
ZXJDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTAzODFiOWVmMTY0NTA4MDAwZDA3ZmYxNWRiZWJjNTgw
MzEwMjg0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnQuaApAQCAtMCwwICsxLDU5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBBQi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogICAgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogICAgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFBlZXJDb25uZWN0aW9uMDBIYW5kbGVyQ2xpZW50X2gKKyNkZWZpbmUgUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnRfaAorCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSWNlQ2FuZGlkYXRlRGVzY3Jp
cHRvcjsKK2NsYXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjsKKworY2xhc3MgUGVlckNvbm5lY3Rp
b24wMEhhbmRsZXJDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgflBlZXJDb25uZWN0aW9u
MDBIYW5kbGVyQ2xpZW50KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkR2VuZXJhdGVJY2VD
YW5kaWRhdGUoUGFzc1JlZlB0cjxJY2VDYW5kaWRhdGVEZXNjcmlwdG9yPiwgYm9vbCBtb3JlVG9G
b2xsb3cpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlUmVhZHlTdGF0ZSh1aW50MzJf
dCBzdGF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VJY2VTdGF0ZSh1aW50MzJf
dCBzdGF0ZSkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRSZW1vdGVTdHJlYW0oUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJl
bW92ZVJlbW90ZVN0cmVhbShNZWRpYVN0cmVhbURlc2NyaXB0b3IqKSA9IDA7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQorCisj
ZW5kaWYgLy8gUGVlckNvbm5lY3Rpb24wMEhhbmRsZXJDbGllbnRfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>