<?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>122358</bug_id>
          
          <creation_ts>2013-10-04 16:29:20 -0700</creation_ts>
          <short_desc>Create MediaStream object with ended attribute set if all tracks that are being used on its creation are ended</short_desc>
          <delta_ts>2013-10-10 16:15:50 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Thiago de Barros Lacerda">thiago.lacerda</reporter>
          <assigned_to name="Thiago de Barros Lacerda">thiago.lacerda</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>jer.noble</cc>
    
    <cc>lauro.neto</cc>
    
    <cc>pnormand</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>936418</commentid>
    <comment_count>0</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-04 16:29:20 -0700</bug_when>
    <thetext>Spec tells that if all tracks that belongs to a new MediaStream object being created are ended, then the ended attribute of this MediaStream must be set to true.
http://www.w3.org/TR/mediacapture-streams/#widl-MediaStream-ended</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938333</commentid>
    <comment_count>1</comment_count>
      <attachid>213882</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-10 07:48:15 -0700</bug_when>
    <thetext>Created attachment 213882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938500</commentid>
    <comment_count>2</comment_count>
      <attachid>213917</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-10 13:03:39 -0700</bug_when>
    <thetext>Created attachment 213917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938514</commentid>
    <comment_count>3</comment_count>
      <attachid>213920</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-10 13:21:50 -0700</bug_when>
    <thetext>Created attachment 213920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938515</commentid>
    <comment_count>4</comment_count>
      <attachid>213921</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-10 13:27:08 -0700</bug_when>
    <thetext>Created attachment 213921
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938537</commentid>
    <comment_count>5</comment_count>
      <attachid>213921</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-10-10 14:11:45 -0700</bug_when>
    <thetext>Comment on attachment 213921
Patch

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

A few nits:

&gt; Source/WebCore/Modules/mediastream/MediaStream.cpp:104
&gt; -    for (size_t i = 0; i &lt; tracks.size(); ++i)
&gt; +    bool ended = true;
&gt; +    for (size_t i = 0; i &lt; tracks.size(); ++i) {
&gt; +        ended &amp;= tracks[i]-&gt;ended();
&gt;          processTrack(tracks[i].get(), tracks[i]-&gt;kind() == &quot;audio&quot; ? audioSources : videoSources);
&gt; +    }
&gt;  
&gt; -    return createFromSourceVectors(context, audioSources, videoSources);
&gt; +    return createFromSourceVectors(context, audioSources, videoSources, ended);

Nit: I would have named this &quot;allEnded&quot; just to make clear what you&apos;re doing with this variable.

&gt; Source/WebCore/platform/mediastream/MediaStreamDescriptor.h:55
&gt; -    static PassRefPtr&lt;MediaStreamDescriptor&gt; create(const MediaStreamSourceVector&amp; audioSources, const MediaStreamSourceVector&amp; videoSources);
&gt; +    static PassRefPtr&lt;MediaStreamDescriptor&gt; create(const MediaStreamSourceVector&amp; audioSources, const MediaStreamSourceVector&amp; videoSources, bool ended);

I don&apos;t particularly like adding new &quot;bool&quot; parameters to creation functions.  It&apos;s hard to figure out what that true or false parameter means from the a call site.  The preferred way to do this is with an enum:

enum EndedAtCreationFlags { IsNotEnded, IsEnded };
static PassRefPtr&lt;MediaStream&gt; createFromSourceVectors(ScriptExecutionContext* context, const MediaStreamSourceVector&amp; audioSources, const MediaStreamSourceVector&amp; videoSources, EndedAtCreationFlags flags)

Then the EndedAtCreationFlags type would be used elsewhere where this method (or similar ones) are called.

&gt; Source/WebCore/platform/mock/MockMediaStreamCenter.cpp:236
&gt; -    client-&gt;didCreateStream(MediaStreamDescriptor::create(audioSources, videoSources));
&gt; +    client-&gt;didCreateStream(MediaStreamDescriptor::create(audioSources, videoSources, false));

...Then this line becomes much more understandable:

client-&gt;didCreateStream(MediaStreamDescriptor::create(audioSources, videoSources, MediaStreamDescriptor::IsNotEnded));

There are a few examples like this in HTMLMediaElement.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938578</commentid>
    <comment_count>6</comment_count>
      <attachid>213936</attachid>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-10 15:39:32 -0700</bug_when>
    <thetext>Created attachment 213936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938580</commentid>
    <comment_count>7</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-10-10 15:40:28 -0700</bug_when>
    <thetext>Adding Enum on MediaStreamDescriptor create method</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938582</commentid>
    <comment_count>8</comment_count>
      <attachid>213936</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-10-10 15:42:53 -0700</bug_when>
    <thetext>Comment on attachment 213936
Patch

Looks good! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938596</commentid>
    <comment_count>9</comment_count>
      <attachid>213936</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-10 16:15:47 -0700</bug_when>
    <thetext>Comment on attachment 213936
Patch

Clearing flags on attachment: 213936

Committed r157268: &lt;http://trac.webkit.org/changeset/157268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938597</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-10 16:15:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213882</attachid>
            <date>2013-10-10 07:48:15 -0700</date>
            <delta_ts>2013-10-10 13:03:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122358-20131010114814.patch</filename>
            <type>text/plain</type>
            <size>13437</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0MDMxNGVlNGFmOGVi
MDUwYzBmYmNmYjZjMjg3ZDEzN2NlNWNiMS4uMTdmMmU4ODBiOTE4MDJiNzQ0NWIzN2RhZjI0MjY3
ZDMxZGRmNzdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTEwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENyZWF0ZSBNZWRpYVN0cmVhbSBvYmplY3Qgd2l0aCBlbmRlZCBhdHRyaWJ1dGUgc2V0
IGlmIGFsbCB0cmFja3MgdGhhdCBhcmUgYmVpbmcgdXNlZCBvbiBpdHMgY3JlYXRpb24gYXJlIGVu
ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIz
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVj
IHRlbGxzIHRoYXQgaWYgYWxsIHRyYWNrcyB0aGF0IGJlbG9uZ3MgdG8gYSBuZXcgTWVkaWFTdHJl
YW0gb2JqZWN0IGJlaW5nIGNyZWF0ZWQgYXJlIGVuZGVkLAorICAgICAgICB0aGVuIHRoZSBlbmRl
ZCBhdHRyaWJ1dGUgb2YgdGhpcyBNZWRpYVN0cmVhbSBtdXN0IGJlIHNldCB0byB0cnVlLgorICAg
ICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9tZWRpYWNhcHR1cmUtc3RyZWFtcy8jd2lkbC1NZWRp
YVN0cmVhbS1lbmRlZAorCisgICAgICAgIFNpbmNlIHRoZXJlIGlzIG5vIHBvcnQgc3VwcG9ydGlu
ZyBNZWRpYVN0cmVhbSB5ZXQsIHdlIGFyZSBza2lwcGluZyB0aGlzIHRlc3QgZm9yIG5vdy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRo
LWVuZGVkLXRyYWNrcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNjcmlwdG9y
OjpNZWRpYVN0cmVhbURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVN0cmVhbUNl
bnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorCiAyMDEzLTEwLTEwICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlbmRlck9iamVjdDo6bGF5b3V0KCkg
dG8gUmVuZGVyRWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNzQ2NzhhYWVkMjgyNjc3OTNiMThjZTgwYzQ1YTRl
ZGQ5NDA4NzczOC4uZmJmOTExZDRkZmJlOTFiYTE0YjNkOGY5MGJiNDVjYTA0NDExNDNjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKQEAgLTYwLDkgKzYwLDkgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc1RyYWNrKE1lZGlhU3RyZWFt
VHJhY2sqIHRyYWNrLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgc291cmMKICAgICAgICAgc291
cmNlVmVjdG9yLmFwcGVuZChzb3VyY2UpOwogfQogCi1zdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbT4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3Qg
TWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykKK3N0YXRpYyBQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtPiBjcmVhdGVGcm9tU291cmNlVmVjdG9ycyhTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2Vz
LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzLCBib29sIGVuZGVk
KQogewotICAgIFJlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+IGRlc2NyaXB0b3IgPSBNZWRp
YVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7Cisg
ICAgUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gZGVzY3JpcHRvciA9IE1lZGlhU3RyZWFt
RGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzLCBlbmRlZCk7CiAg
ICAgcmV0dXJuIE1lZGlhU3RyZWFtOjpjcmVhdGUoY29udGV4dCwgZGVzY3JpcHRvci5yZWxlYXNl
KCkpOwogfQogCkBAIC03MSw3ICs3MSw3IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlh
U3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICBNZWRp
YVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VW
ZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0gICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3Jz
KGNvbnRleHQsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAgICByZXR1cm4gY3JlYXRl
RnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGZh
bHNlKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBz
dHJlYW0pCkBAIC04Nyw3ICs4Nyw3IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3Ry
ZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzCiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBzdHJlYW0tPm1fdmlkZW9UcmFja3Muc2l6ZSgpOyArK2kpCiAg
ICAgICAgIHByb2Nlc3NUcmFjayhzdHJlYW0tPm1fdmlkZW9UcmFja3NbaV0uZ2V0KCksIHZpZGVv
U291cmNlcyk7CiAKLSAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwg
YXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291cmNl
VmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgc3RyZWFtLT5lbmRl
ZCgpKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVj
dG9yJiB0cmFja3MpCkBAIC05NSwxMCArOTUsMTMgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4g
TWVkaWFTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb24K
ICAgICBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJl
YW1Tb3VyY2VWZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB0cmFja3Muc2l6ZSgpOyArK2kpCisgICAgYm9vbCBlbmRlZCA9IHRydWU7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCB0cmFja3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZW5kZWQgJj0g
dHJhY2tzW2ldLT5lbmRlZCgpOwogICAgICAgICBwcm9jZXNzVHJhY2sodHJhY2tzW2ldLmdldCgp
LCB0cmFja3NbaV0tPmtpbmQoKSA9PSAiYXVkaW8iID8gYXVkaW9Tb3VyY2VzIDogdmlkZW9Tb3Vy
Y2VzKTsKKyAgICB9CiAKLSAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4
dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291
cmNlVmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgZW5kZWQpOwog
fQogCiBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBzdHJlYW1EZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAK
aW5kZXggYTY0ZGE1MzQzNTQ3OTczZDNmYzE5NjJjMzY1N2JjYzZkNjU2NGE2My4uOWIyYWU4OTRk
NTRkNjg1NWFjMTQxZWVhZDVjZjA3N2JlZjQ4YjkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwCkBAIC01MSw3ICs1MSw3IEBAIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5h
dGlvbk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoQXVkaW9Db250ZXh0KiBj
CiAgICAgbV9zb3VyY2UgPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUoKTsKICAgICBN
ZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgYXVkaW9Tb3VyY2VzLmFw
cGVuZChtX3NvdXJjZSk7Ci0gICAgbV9zdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRl
eHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVh
dGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvcigpKSk7CisgICAgbV9zdHJl
YW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRleHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVh
bVNvdXJjZVZlY3RvcigpLCBmYWxzZSkpOwogCiAgICAgbV9zb3VyY2UtPnNldEF1ZGlvRm9ybWF0
KG51bWJlck9mQ2hhbm5lbHMsIGNvbnRleHQtPnNhbXBsZVJhdGUoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURl
c2NyaXB0b3IuY3BwCmluZGV4IDU2Mjk5ODdkOGE3N2Q4MDFmMGRkNjE1ZjUwY2JiYmYwYzI2NDQz
ZjEuLmUzYTEwNTc5MGVmNjVkNmRlYzdlNWE4Yzg0MTRhNDNkM2MyMzE1YjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1EZXNjcmlwdG9yLmNwcApAQCAtNDMsOSArNDMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBNZWRpYVN0cmVhbURlc2NyaXB0
b3I6OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQorUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGNvbnN0
IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFt
U291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wgZW5kZWQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmlu
ZygpLCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcykpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSwgYXVk
aW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGVuZGVkKSk7CiB9CiAKIE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcjo6fk1lZGlhU3RyZWFtRGVzY3JpcHRvcigpCkBAIC0xMDgsMTAgKzEwOCwxMCBAQCB2b2lk
IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6cmVtb3ZlUmVtb3RlU291cmNlKE1lZGlhU3RyZWFtU291
cmNlKiBzb3VyY2UpCiAgICAgICAgIHJlbW92ZVNvdXJjZShzb3VyY2UpOwogfQogCi1NZWRpYVN0
cmVhbURlc2NyaXB0b3I6Ok1lZGlhU3RyZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGlkLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0
cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQorTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpN
ZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFTdHJlYW1T
b3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Im
IHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCkKICAgICA6IG1fY2xpZW50KDApCiAgICAgLCBtX2lk
KGlkKQotICAgICwgbV9lbmRlZChmYWxzZSkKKyAgICAsIG1fZW5kZWQoZW5kZWQpCiB7CiAgICAg
QVNTRVJUKG1faWQubGVuZ3RoKCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXVkaW9T
b3VyY2VzLnNpemUoKTsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCmluZGV4IDBjMGZiM2Iz
OTQ5MWQyNGI1NWU3MjlhZGVjOTVjYTUwNWYzMGZjMGIuLjUzODE4YjBlMTE1MjU0N2IyNWRjMmNi
MjljNTg5NGJhYjA3OTY0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCkBAIC01Miw3ICs1Miw3
IEBAIHB1YmxpYzoKIAogY2xhc3MgTWVkaWFTdHJlYW1EZXNjcmlwdG9yIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZp
ZGVvU291cmNlcyk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29u
c3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCk7CiAK
ICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbURlc2NyaXB0b3IoKTsKIApAQCAtNzcsNyArNzcsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmRlZCgpOwogCiBwcml2YXRlOgotICAgIE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9T
b3VyY2VzKTsKKyAgICBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29u
c3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJl
YW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCk7CiAKICAgICBNZWRpYVN0
cmVhbURlc2NyaXB0b3JDbGllbnQqIG1fY2xpZW50OwogICAgIFN0cmluZyBtX2lkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIu
Y3BwCmluZGV4IGMxOTQ2NzgwNzMxYzRlNzM0YjY0YzY4NzI3NTJkYzZmNjljYTI3NWEuLjEzMjIy
Njg4MGIzNzk5MmRlNzQ0NmYyMGVmNzIxZTE2MmQ3MGRhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKQEAgLTIz
Myw3ICsyMzMsNyBAQCB2b2lkIE1vY2tNZWRpYVN0cmVhbUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJl
YW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZQogICAgICAgICB9CiAgICAgfQog
ICAgIAotICAgIGNsaWVudC0+ZGlkQ3JlYXRlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6
Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKSk7CisgICAgY2xpZW50LT5kaWRDcmVh
dGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCB2aWRl
b1NvdXJjZXMsIGZhbHNlKSk7CiB9CiAKIGJvb2wgTW9ja01lZGlhU3RyZWFtQ2VudGVyOjpnZXRN
ZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
UmVxdWVzdENsaWVudD4gcHJwQ2xpZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBiMGFiZjIwOWUzZjk3MTg1YWQ4ZTlh
ZGI5OTc3OTM5ZTJiYzA2OTAuLmFkZmUxMDU3OTBlOGRmNTViYTcyMGE1MzU4MmVjN2QxMWY2YTQw
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0xMC0xMCAgVGhpYWdvIGRlIEJhcnJvcyBM
YWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDcmVhdGUg
TWVkaWFTdHJlYW0gb2JqZWN0IHdpdGggZW5kZWQgYXR0cmlidXRlIHNldCBpZiBhbGwgdHJhY2tz
IHRoYXQgYXJlIGJlaW5nIHVzZWQgb24gaXRzIGNyZWF0aW9uIGFyZSBlbmRlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyMzU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgdGhlcmUgaXMgbm8g
cG9ydCBzdXBwb3J0aW5nIE1lZGlhU3RyZWFtIHlldCwgd2UgYXJlIHNraXBwaW5nIHRoaXMgdGVz
dCBmb3Igbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRoLWVuZGVkLXRyYWNrcy5odG1s
OiBBZGRlZC4KKwogMjAxMy0xMC0xMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFYOiBDcmFzaCBhdCBXZWJDb3JlOjphY2Nlc3NpYmxlTmFtZUZvck5v
ZGUgd2hlbiB2aXNpdGluZyBGYWNlYm9vawpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDg2ZjAxZDkz
YWU2NzZiMmY0ZDMwMTc0NGNkNmZkZmExYmM2ZThiOC4uNzczNjM0MDJlNDRiZmEzM2MxYzI5MWUy
ZTY0NjhkMjA0MWY0Y2VkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC01NCwzICs1NCw2IEBAIHdl
YmtpdC5vcmcvYi8xMTI1MjEgWyBEZWJ1ZyBdIHdlYmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUu
aHRtbCBbIFBhc3MgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzcyNjk4IG1lZGlhL2F1ZGlvLWdhcmJh
Z2UtY29sbGVjdC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi81Mzk5MCBmYXN0L2Zvcm1z
L3NlYXJjaC1ldmVudC1kZWxheS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKworIyBObyBwb3J0IGlu
IFdlYktpdCBhbHJlYWR5IHN1cHBvcnQgZ2V0TWVkaWFTdHJlYW0sIHNvIHdlIGFyZSBza2lwcGlu
ZyBpdCBmb3Igbm93LgorZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0
aC1lbmRlZC10cmFja3MuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRlZC10cmFja3MuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgtZW5kZWQt
dHJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NkZDk4MzI2YTY3Yjc3OWU1ZGE2YmExZTc1YmNkYjg5
ZTIwYmMwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgtZW5kZWQtdHJhY2tzLmh0bWwKQEAgLTAsMCArMSw2
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFy
IG1lZGlhU3RyZWFtOworICAgICAgICAgICAgdmFyIHZpZGVvVHJhY2s7CisgICAgICAgICAgICB2
YXIgYXVkaW9UcmFjazsKKyAgICAgICAgICAgIHZhciBuZXdNZWRpYVN0cmVhbTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gZ290U3RyZWFtKHN0cmVhbSkgeworICAgICAgICAgICAgICAgIG1lZGlh
U3RyZWFtID0gc3RyZWFtOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRFdmFsdWF0ZVRvKCdtZWRpYVN0cmVhbS5lbmRlZCcsIGZhbHNlKTsKKworICAg
ICAgICAgICAgICAgIGV2YWxBbmRMb2coInZpZGVvVHJhY2sgPSBtZWRpYVN0cmVhbS5nZXRWaWRl
b1RyYWNrcygpWzBdIik7CisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygiYXVkaW9UcmFjayA9
IG1lZGlhU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0iKTsKKworICAgICAgICAgICAgICAgIHNo
b3VsZE5vdEJlRXF1YWxUb1N0cmluZygndmlkZW9UcmFjay5yZWFkeVN0YXRlJywgJ2VuZGVkJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKCdhdWRpb1RyYWNrLnJl
YWR5U3RhdGUnLCAnZW5kZWQnKTsKKworICAgICAgICAgICAgICAgIHZpZGVvVHJhY2suc3RvcCgp
OworICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2suc3RvcCgpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndmlkZW9UcmFjay5yZWFkeVN0YXRlJywgJ2VuZGVkJyk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdhdWRpb1RyYWNrLnJlYWR5U3Rh
dGUnLCAnZW5kZWQnKTsKKworICAgICAgICAgICAgICAgIHZhciB0cmFja3NBcnJheSA9IFtdOwor
ICAgICAgICAgICAgICAgIHRyYWNrc0FycmF5LnB1c2godmlkZW9UcmFjayk7CisgICAgICAgICAg
ICAgICAgdHJhY2tzQXJyYXkucHVzaChhdWRpb1RyYWNrKTsKKyAgICAgICAgICAgICAgICBuZXdN
ZWRpYVN0cmVhbSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbSh0cmFja3NBcnJheSk7CisKKyAgICAg
ICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRvKCduZXdNZWRpYVN0cmVhbS5lbmRlZCcsIHRydWUp
OworICAgICAgICAgICAgICAgIHNob3VsZE5vdEJlRXF1YWxUb1N0cmluZyhtZWRpYVN0cmVhbS5p
ZCwgbmV3TWVkaWFTdHJlYW0uaWQpOworCisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU3RyZWFt
Q29weSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbShuZXdNZWRpYVN0cmVhbSk7CisgICAgICAgICAg
ICAgICAgc2hvdWxkRXZhbHVhdGVUbygnbWVkaWFTdHJlYW1Db3B5LmVuZGVkJywgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKG1lZGlhU3RyZWFtQ29weS5p
ZCwgbmV3TWVkaWFTdHJlYW0uaWQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBnZXRVc2VyTWVkaWFFcnJvcigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdD
b3VsZCBub3QgZ2V0IE1lZGlhU3RyZWFtJyk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkgeworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci53ZWJraXRH
ZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9LCBnb3RTdHJlYW0sIGdldFVzZXJN
ZWRpYUVycm9yKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ3dlYmtpdEdldFVzZXJNZWRpYSB0aHJldyBleGNlcHRpb24gOicg
KyBlKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+
CisgICAgICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213917</attachid>
            <date>2013-10-10 13:03:39 -0700</date>
            <delta_ts>2013-10-10 13:21:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122358-20131010170337.patch</filename>
            <type>text/plain</type>
            <size>13428</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0MDMxNGVlNGFmOGVi
MDUwYzBmYmNmYjZjMjg3ZDEzN2NlNWNiMS4uMTdmMmU4ODBiOTE4MDJiNzQ0NWIzN2RhZjI0MjY3
ZDMxZGRmNzdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTEwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENyZWF0ZSBNZWRpYVN0cmVhbSBvYmplY3Qgd2l0aCBlbmRlZCBhdHRyaWJ1dGUgc2V0
IGlmIGFsbCB0cmFja3MgdGhhdCBhcmUgYmVpbmcgdXNlZCBvbiBpdHMgY3JlYXRpb24gYXJlIGVu
ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIz
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVj
IHRlbGxzIHRoYXQgaWYgYWxsIHRyYWNrcyB0aGF0IGJlbG9uZ3MgdG8gYSBuZXcgTWVkaWFTdHJl
YW0gb2JqZWN0IGJlaW5nIGNyZWF0ZWQgYXJlIGVuZGVkLAorICAgICAgICB0aGVuIHRoZSBlbmRl
ZCBhdHRyaWJ1dGUgb2YgdGhpcyBNZWRpYVN0cmVhbSBtdXN0IGJlIHNldCB0byB0cnVlLgorICAg
ICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9tZWRpYWNhcHR1cmUtc3RyZWFtcy8jd2lkbC1NZWRp
YVN0cmVhbS1lbmRlZAorCisgICAgICAgIFNpbmNlIHRoZXJlIGlzIG5vIHBvcnQgc3VwcG9ydGlu
ZyBNZWRpYVN0cmVhbSB5ZXQsIHdlIGFyZSBza2lwcGluZyB0aGlzIHRlc3QgZm9yIG5vdy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRo
LWVuZGVkLXRyYWNrcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNjcmlwdG9y
OjpNZWRpYVN0cmVhbURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVN0cmVhbUNl
bnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorCiAyMDEzLTEwLTEwICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlbmRlck9iamVjdDo6bGF5b3V0KCkg
dG8gUmVuZGVyRWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNzQ2NzhhYWVkMjgyNjc3OTNiMThjZTgwYzQ1YTRl
ZGQ5NDA4NzczOC4uZmJmOTExZDRkZmJlOTFiYTE0YjNkOGY5MGJiNDVjYTA0NDExNDNjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKQEAgLTYwLDkgKzYwLDkgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc1RyYWNrKE1lZGlhU3RyZWFt
VHJhY2sqIHRyYWNrLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgc291cmMKICAgICAgICAgc291
cmNlVmVjdG9yLmFwcGVuZChzb3VyY2UpOwogfQogCi1zdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbT4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3Qg
TWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykKK3N0YXRpYyBQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtPiBjcmVhdGVGcm9tU291cmNlVmVjdG9ycyhTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2Vz
LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzLCBib29sIGVuZGVk
KQogewotICAgIFJlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+IGRlc2NyaXB0b3IgPSBNZWRp
YVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7Cisg
ICAgUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gZGVzY3JpcHRvciA9IE1lZGlhU3RyZWFt
RGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzLCBlbmRlZCk7CiAg
ICAgcmV0dXJuIE1lZGlhU3RyZWFtOjpjcmVhdGUoY29udGV4dCwgZGVzY3JpcHRvci5yZWxlYXNl
KCkpOwogfQogCkBAIC03MSw3ICs3MSw3IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlh
U3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICBNZWRp
YVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VW
ZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0gICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3Jz
KGNvbnRleHQsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAgICByZXR1cm4gY3JlYXRl
RnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGZh
bHNlKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBz
dHJlYW0pCkBAIC04Nyw3ICs4Nyw3IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3Ry
ZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzCiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBzdHJlYW0tPm1fdmlkZW9UcmFja3Muc2l6ZSgpOyArK2kpCiAg
ICAgICAgIHByb2Nlc3NUcmFjayhzdHJlYW0tPm1fdmlkZW9UcmFja3NbaV0uZ2V0KCksIHZpZGVv
U291cmNlcyk7CiAKLSAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwg
YXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291cmNl
VmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgc3RyZWFtLT5lbmRl
ZCgpKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVj
dG9yJiB0cmFja3MpCkBAIC05NSwxMCArOTUsMTMgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4g
TWVkaWFTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb24K
ICAgICBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJl
YW1Tb3VyY2VWZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB0cmFja3Muc2l6ZSgpOyArK2kpCisgICAgYm9vbCBlbmRlZCA9IHRydWU7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCB0cmFja3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZW5kZWQgJj0g
dHJhY2tzW2ldLT5lbmRlZCgpOwogICAgICAgICBwcm9jZXNzVHJhY2sodHJhY2tzW2ldLmdldCgp
LCB0cmFja3NbaV0tPmtpbmQoKSA9PSAiYXVkaW8iID8gYXVkaW9Tb3VyY2VzIDogdmlkZW9Tb3Vy
Y2VzKTsKKyAgICB9CiAKLSAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4
dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291
cmNlVmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgZW5kZWQpOwog
fQogCiBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBzdHJlYW1EZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAK
aW5kZXggYTY0ZGE1MzQzNTQ3OTczZDNmYzE5NjJjMzY1N2JjYzZkNjU2NGE2My4uOWIyYWU4OTRk
NTRkNjg1NWFjMTQxZWVhZDVjZjA3N2JlZjQ4YjkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwCkBAIC01MSw3ICs1MSw3IEBAIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5h
dGlvbk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoQXVkaW9Db250ZXh0KiBj
CiAgICAgbV9zb3VyY2UgPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUoKTsKICAgICBN
ZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgYXVkaW9Tb3VyY2VzLmFw
cGVuZChtX3NvdXJjZSk7Ci0gICAgbV9zdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRl
eHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVh
dGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvcigpKSk7CisgICAgbV9zdHJl
YW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRleHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVh
bVNvdXJjZVZlY3RvcigpLCBmYWxzZSkpOwogCiAgICAgbV9zb3VyY2UtPnNldEF1ZGlvRm9ybWF0
KG51bWJlck9mQ2hhbm5lbHMsIGNvbnRleHQtPnNhbXBsZVJhdGUoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURl
c2NyaXB0b3IuY3BwCmluZGV4IDU2Mjk5ODdkOGE3N2Q4MDFmMGRkNjE1ZjUwY2JiYmYwYzI2NDQz
ZjEuLmUzYTEwNTc5MGVmNjVkNmRlYzdlNWE4Yzg0MTRhNDNkM2MyMzE1YjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1EZXNjcmlwdG9yLmNwcApAQCAtNDMsOSArNDMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBNZWRpYVN0cmVhbURlc2NyaXB0
b3I6OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQorUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGNvbnN0
IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFt
U291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wgZW5kZWQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmlu
ZygpLCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcykpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSwgYXVk
aW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGVuZGVkKSk7CiB9CiAKIE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcjo6fk1lZGlhU3RyZWFtRGVzY3JpcHRvcigpCkBAIC0xMDgsMTAgKzEwOCwxMCBAQCB2b2lk
IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6cmVtb3ZlUmVtb3RlU291cmNlKE1lZGlhU3RyZWFtU291
cmNlKiBzb3VyY2UpCiAgICAgICAgIHJlbW92ZVNvdXJjZShzb3VyY2UpOwogfQogCi1NZWRpYVN0
cmVhbURlc2NyaXB0b3I6Ok1lZGlhU3RyZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGlkLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0
cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQorTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpN
ZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFTdHJlYW1T
b3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Im
IHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCkKICAgICA6IG1fY2xpZW50KDApCiAgICAgLCBtX2lk
KGlkKQotICAgICwgbV9lbmRlZChmYWxzZSkKKyAgICAsIG1fZW5kZWQoZW5kZWQpCiB7CiAgICAg
QVNTRVJUKG1faWQubGVuZ3RoKCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXVkaW9T
b3VyY2VzLnNpemUoKTsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCmluZGV4IDBjMGZiM2Iz
OTQ5MWQyNGI1NWU3MjlhZGVjOTVjYTUwNWYzMGZjMGIuLjUzODE4YjBlMTE1MjU0N2IyNWRjMmNi
MjljNTg5NGJhYjA3OTY0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCkBAIC01Miw3ICs1Miw3
IEBAIHB1YmxpYzoKIAogY2xhc3MgTWVkaWFTdHJlYW1EZXNjcmlwdG9yIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZp
ZGVvU291cmNlcyk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29u
c3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCk7CiAK
ICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbURlc2NyaXB0b3IoKTsKIApAQCAtNzcsNyArNzcsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmRlZCgpOwogCiBwcml2YXRlOgotICAgIE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9T
b3VyY2VzKTsKKyAgICBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29u
c3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJl
YW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCk7CiAKICAgICBNZWRpYVN0
cmVhbURlc2NyaXB0b3JDbGllbnQqIG1fY2xpZW50OwogICAgIFN0cmluZyBtX2lkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIu
Y3BwCmluZGV4IGMxOTQ2NzgwNzMxYzRlNzM0YjY0YzY4NzI3NTJkYzZmNjljYTI3NWEuLjEzMjIy
Njg4MGIzNzk5MmRlNzQ0NmYyMGVmNzIxZTE2MmQ3MGRhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKQEAgLTIz
Myw3ICsyMzMsNyBAQCB2b2lkIE1vY2tNZWRpYVN0cmVhbUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJl
YW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZQogICAgICAgICB9CiAgICAgfQog
ICAgIAotICAgIGNsaWVudC0+ZGlkQ3JlYXRlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6
Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKSk7CisgICAgY2xpZW50LT5kaWRDcmVh
dGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCB2aWRl
b1NvdXJjZXMsIGZhbHNlKSk7CiB9CiAKIGJvb2wgTW9ja01lZGlhU3RyZWFtQ2VudGVyOjpnZXRN
ZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
UmVxdWVzdENsaWVudD4gcHJwQ2xpZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBiMGFiZjIwOWUzZjk3MTg1YWQ4ZTlh
ZGI5OTc3OTM5ZTJiYzA2OTAuLmFkZmUxMDU3OTBlOGRmNTViYTcyMGE1MzU4MmVjN2QxMWY2YTQw
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0xMC0xMCAgVGhpYWdvIGRlIEJhcnJvcyBM
YWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDcmVhdGUg
TWVkaWFTdHJlYW0gb2JqZWN0IHdpdGggZW5kZWQgYXR0cmlidXRlIHNldCBpZiBhbGwgdHJhY2tz
IHRoYXQgYXJlIGJlaW5nIHVzZWQgb24gaXRzIGNyZWF0aW9uIGFyZSBlbmRlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyMzU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgdGhlcmUgaXMgbm8g
cG9ydCBzdXBwb3J0aW5nIE1lZGlhU3RyZWFtIHlldCwgd2UgYXJlIHNraXBwaW5nIHRoaXMgdGVz
dCBmb3Igbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRoLWVuZGVkLXRyYWNrcy5odG1s
OiBBZGRlZC4KKwogMjAxMy0xMC0xMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFYOiBDcmFzaCBhdCBXZWJDb3JlOjphY2Nlc3NpYmxlTmFtZUZvck5v
ZGUgd2hlbiB2aXNpdGluZyBGYWNlYm9vawpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDg2ZjAxZDkz
YWU2NzZiMmY0ZDMwMTc0NGNkNmZkZmExYmM2ZThiOC4uNzczNjM0MDJlNDRiZmEzM2MxYzI5MWUy
ZTY0NjhkMjA0MWY0Y2VkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC01NCwzICs1NCw2IEBAIHdl
YmtpdC5vcmcvYi8xMTI1MjEgWyBEZWJ1ZyBdIHdlYmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUu
aHRtbCBbIFBhc3MgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzcyNjk4IG1lZGlhL2F1ZGlvLWdhcmJh
Z2UtY29sbGVjdC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi81Mzk5MCBmYXN0L2Zvcm1z
L3NlYXJjaC1ldmVudC1kZWxheS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKworIyBObyBwb3J0IGlu
IFdlYktpdCBhbHJlYWR5IHN1cHBvcnQgZ2V0TWVkaWFTdHJlYW0sIHNvIHdlIGFyZSBza2lwcGlu
ZyBpdCBmb3Igbm93LgorZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0
aC1lbmRlZC10cmFja3MuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRlZC10cmFja3MuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgtZW5kZWQt
dHJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc0MjQ0NTdlNjVjYmU4ODcyMDM1ZmExNTAzYzljNGQx
M2ZkZmZmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgtZW5kZWQtdHJhY2tzLmh0bWwKQEAgLTAsMCArMSw2
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFy
IG1lZGlhU3RyZWFtOworICAgICAgICAgICAgdmFyIHZpZGVvVHJhY2s7CisgICAgICAgICAgICB2
YXIgYXVkaW9UcmFjazsKKyAgICAgICAgICAgIHZhciBuZXdNZWRpYVN0cmVhbTsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gZ290U3RyZWFtKHN0cmVhbSkgeworICAgICAgICAgICAgICAgIG1lZGlh
U3RyZWFtID0gc3RyZWFtOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAg
ICAgICBzaG91bGRFdmFsdWF0ZVRvKCdtZWRpYVN0cmVhbS5lbmRlZCcsIGZhbHNlKTsKKworICAg
ICAgICAgICAgICAgIGV2YWxBbmRMb2coInZpZGVvVHJhY2sgPSBtZWRpYVN0cmVhbS5nZXRWaWRl
b1RyYWNrcygpWzBdIik7CisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygiYXVkaW9UcmFjayA9
IG1lZGlhU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0iKTsKKworICAgICAgICAgICAgICAgIHNo
b3VsZE5vdEJlRXF1YWxUb1N0cmluZygndmlkZW9UcmFjay5yZWFkeVN0YXRlJywgJ2VuZGVkJyk7
CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKCdhdWRpb1RyYWNrLnJl
YWR5U3RhdGUnLCAnZW5kZWQnKTsKKworICAgICAgICAgICAgICAgIHZpZGVvVHJhY2suc3RvcCgp
OworICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2suc3RvcCgpOworICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndmlkZW9UcmFjay5yZWFkeVN0YXRlJywgJ2VuZGVkJyk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdhdWRpb1RyYWNrLnJlYWR5U3Rh
dGUnLCAnZW5kZWQnKTsKKworICAgICAgICAgICAgICAgIHZhciB0cmFja3NBcnJheSA9IFtdOwor
ICAgICAgICAgICAgICAgIHRyYWNrc0FycmF5LnB1c2godmlkZW9UcmFjayk7CisgICAgICAgICAg
ICAgICAgdHJhY2tzQXJyYXkucHVzaChhdWRpb1RyYWNrKTsKKyAgICAgICAgICAgICAgICBuZXdN
ZWRpYVN0cmVhbSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbSh0cmFja3NBcnJheSk7CisKKyAgICAg
ICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRvKCduZXdNZWRpYVN0cmVhbS5lbmRlZCcsIHRydWUp
OworICAgICAgICAgICAgICAgIHNob3VsZE5vdEJlRXF1YWxUb1N0cmluZyhtZWRpYVN0cmVhbS5p
ZCwgbmV3TWVkaWFTdHJlYW0uaWQpOworCisgICAgICAgICAgICAgICAgdmFyIG1lZGlhU3RyZWFt
Q29weSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbShuZXdNZWRpYVN0cmVhbSk7CisgICAgICAgICAg
ICAgICAgc2hvdWxkRXZhbHVhdGVUbygnbWVkaWFTdHJlYW1Db3B5LmVuZGVkJywgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkTm90QmUoJ21lZGlhU3RyZWFtQ29weS5pZCcsICduZXdNZWRp
YVN0cmVhbS5pZCcpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBnZXRV
c2VyTWVkaWFFcnJvcigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdDb3VsZCBub3Qg
Z2V0IE1lZGlhU3RyZWFtJyk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkgeworICAgICAgICAgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci53ZWJraXRHZXRVc2VyTWVk
aWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9LCBnb3RTdHJlYW0sIGdldFVzZXJNZWRpYUVycm9y
KTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ3dlYmtpdEdldFVzZXJNZWRpYSB0aHJldyBleGNlcHRpb24gOicgKyBlKTsKKyAg
ICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cisg
ICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+CisgICAgICAg
IDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213920</attachid>
            <date>2013-10-10 13:21:50 -0700</date>
            <delta_ts>2013-10-10 13:27:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122358-20131010172149.patch</filename>
            <type>text/plain</type>
            <size>13437</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0MDMxNGVlNGFmOGVi
MDUwYzBmYmNmYjZjMjg3ZDEzN2NlNWNiMS4uMTdmMmU4ODBiOTE4MDJiNzQ0NWIzN2RhZjI0MjY3
ZDMxZGRmNzdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTEwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENyZWF0ZSBNZWRpYVN0cmVhbSBvYmplY3Qgd2l0aCBlbmRlZCBhdHRyaWJ1dGUgc2V0
IGlmIGFsbCB0cmFja3MgdGhhdCBhcmUgYmVpbmcgdXNlZCBvbiBpdHMgY3JlYXRpb24gYXJlIGVu
ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIz
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVj
IHRlbGxzIHRoYXQgaWYgYWxsIHRyYWNrcyB0aGF0IGJlbG9uZ3MgdG8gYSBuZXcgTWVkaWFTdHJl
YW0gb2JqZWN0IGJlaW5nIGNyZWF0ZWQgYXJlIGVuZGVkLAorICAgICAgICB0aGVuIHRoZSBlbmRl
ZCBhdHRyaWJ1dGUgb2YgdGhpcyBNZWRpYVN0cmVhbSBtdXN0IGJlIHNldCB0byB0cnVlLgorICAg
ICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9tZWRpYWNhcHR1cmUtc3RyZWFtcy8jd2lkbC1NZWRp
YVN0cmVhbS1lbmRlZAorCisgICAgICAgIFNpbmNlIHRoZXJlIGlzIG5vIHBvcnQgc3VwcG9ydGlu
ZyBNZWRpYVN0cmVhbSB5ZXQsIHdlIGFyZSBza2lwcGluZyB0aGlzIHRlc3QgZm9yIG5vdy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRo
LWVuZGVkLXRyYWNrcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNjcmlwdG9y
OjpNZWRpYVN0cmVhbURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVN0cmVhbUNl
bnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorCiAyMDEzLTEwLTEwICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlbmRlck9iamVjdDo6bGF5b3V0KCkg
dG8gUmVuZGVyRWxlbWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYVN0cmVhbS5jcHAKaW5kZXggNzQ2NzhhYWVkMjgyNjc3OTNiMThjZTgwYzQ1YTRl
ZGQ5NDA4NzczOC4uZmJmOTExZDRkZmJlOTFiYTE0YjNkOGY5MGJiNDVjYTA0NDExNDNjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS5j
cHAKQEAgLTYwLDkgKzYwLDkgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc1RyYWNrKE1lZGlhU3RyZWFt
VHJhY2sqIHRyYWNrLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgc291cmMKICAgICAgICAgc291
cmNlVmVjdG9yLmFwcGVuZChzb3VyY2UpOwogfQogCi1zdGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbT4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3Qg
TWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykKK3N0YXRpYyBQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtPiBjcmVhdGVGcm9tU291cmNlVmVjdG9ycyhTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2Vz
LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzLCBib29sIGVuZGVk
KQogewotICAgIFJlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+IGRlc2NyaXB0b3IgPSBNZWRp
YVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7Cisg
ICAgUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gZGVzY3JpcHRvciA9IE1lZGlhU3RyZWFt
RGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzLCBlbmRlZCk7CiAg
ICAgcmV0dXJuIE1lZGlhU3RyZWFtOjpjcmVhdGUoY29udGV4dCwgZGVzY3JpcHRvci5yZWxlYXNl
KCkpOwogfQogCkBAIC03MSw3ICs3MSw3IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlh
U3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICBNZWRp
YVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VW
ZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0gICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3Jz
KGNvbnRleHQsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAgICByZXR1cm4gY3JlYXRl
RnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGZh
bHNlKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBz
dHJlYW0pCkBAIC04Nyw3ICs4Nyw3IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3Ry
ZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzCiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBzdHJlYW0tPm1fdmlkZW9UcmFja3Muc2l6ZSgpOyArK2kpCiAg
ICAgICAgIHByb2Nlc3NUcmFjayhzdHJlYW0tPm1fdmlkZW9UcmFja3NbaV0uZ2V0KCksIHZpZGVv
U291cmNlcyk7CiAKLSAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwg
YXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291cmNl
VmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgc3RyZWFtLT5lbmRl
ZCgpKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVj
dG9yJiB0cmFja3MpCkBAIC05NSwxMCArOTUsMTMgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4g
TWVkaWFTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb24K
ICAgICBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJl
YW1Tb3VyY2VWZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB0cmFja3Muc2l6ZSgpOyArK2kpCisgICAgYm9vbCBlbmRlZCA9IHRydWU7CisgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCB0cmFja3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgZW5kZWQgJj0g
dHJhY2tzW2ldLT5lbmRlZCgpOwogICAgICAgICBwcm9jZXNzVHJhY2sodHJhY2tzW2ldLmdldCgp
LCB0cmFja3NbaV0tPmtpbmQoKSA9PSAiYXVkaW8iID8gYXVkaW9Tb3VyY2VzIDogdmlkZW9Tb3Vy
Y2VzKTsKKyAgICB9CiAKLSAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4
dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291
cmNlVmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgZW5kZWQpOwog
fQogCiBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBzdHJlYW1EZXNjcmlwdG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAK
aW5kZXggYTY0ZGE1MzQzNTQ3OTczZDNmYzE5NjJjMzY1N2JjYzZkNjU2NGE2My4uOWIyYWU4OTRk
NTRkNjg1NWFjMTQxZWVhZDVjZjA3N2JlZjQ4YjkwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwCkBAIC01MSw3ICs1MSw3IEBAIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5h
dGlvbk5vZGU6Ok1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoQXVkaW9Db250ZXh0KiBj
CiAgICAgbV9zb3VyY2UgPSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUoKTsKICAgICBN
ZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgYXVkaW9Tb3VyY2VzLmFw
cGVuZChtX3NvdXJjZSk7Ci0gICAgbV9zdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRl
eHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVh
dGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvcigpKSk7CisgICAgbV9zdHJl
YW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRleHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVh
bVNvdXJjZVZlY3RvcigpLCBmYWxzZSkpOwogCiAgICAgbV9zb3VyY2UtPnNldEF1ZGlvRm9ybWF0
KG51bWJlck9mQ2hhbm5lbHMsIGNvbnRleHQtPnNhbXBsZVJhdGUoKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURl
c2NyaXB0b3IuY3BwCmluZGV4IDU2Mjk5ODdkOGE3N2Q4MDFmMGRkNjE1ZjUwY2JiYmYwYzI2NDQz
ZjEuLmUzYTEwNTc5MGVmNjVkNmRlYzdlNWE4Yzg0MTRhNDNkM2MyMzE1YjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1EZXNjcmlwdG9yLmNwcApAQCAtNDMsOSArNDMsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLVBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBNZWRpYVN0cmVhbURlc2NyaXB0
b3I6OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQorUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbURlc2NyaXB0b3I+IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGNvbnN0
IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFt
U291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wgZW5kZWQpCiB7Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmlu
ZygpLCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcykpOworICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNyZWF0ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSwgYXVk
aW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGVuZGVkKSk7CiB9CiAKIE1lZGlhU3RyZWFtRGVzY3Jp
cHRvcjo6fk1lZGlhU3RyZWFtRGVzY3JpcHRvcigpCkBAIC0xMDgsMTAgKzEwOCwxMCBAQCB2b2lk
IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6cmVtb3ZlUmVtb3RlU291cmNlKE1lZGlhU3RyZWFtU291
cmNlKiBzb3VyY2UpCiAgICAgICAgIHJlbW92ZVNvdXJjZShzb3VyY2UpOwogfQogCi1NZWRpYVN0
cmVhbURlc2NyaXB0b3I6Ok1lZGlhU3RyZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGlkLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0
cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQorTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpN
ZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFTdHJlYW1T
b3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Im
IHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCkKICAgICA6IG1fY2xpZW50KDApCiAgICAgLCBtX2lk
KGlkKQotICAgICwgbV9lbmRlZChmYWxzZSkKKyAgICAsIG1fZW5kZWQoZW5kZWQpCiB7CiAgICAg
QVNTRVJUKG1faWQubGVuZ3RoKCkpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXVkaW9T
b3VyY2VzLnNpemUoKTsgaSsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCmluZGV4IDBjMGZiM2Iz
OTQ5MWQyNGI1NWU3MjlhZGVjOTVjYTUwNWYzMGZjMGIuLjUzODE4YjBlMTE1MjU0N2IyNWRjMmNi
MjljNTg5NGJhYjA3OTY0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5oCkBAIC01Miw3ICs1Miw3
IEBAIHB1YmxpYzoKIAogY2xhc3MgTWVkaWFTdHJlYW1EZXNjcmlwdG9yIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZp
ZGVvU291cmNlcyk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9y
PiBjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29u
c3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCk7CiAK
ICAgICB2aXJ0dWFsIH5NZWRpYVN0cmVhbURlc2NyaXB0b3IoKTsKIApAQCAtNzcsNyArNzcsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRFbmRlZCgpOwogCiBwcml2YXRlOgotICAgIE1lZGlhU3Ry
ZWFtRGVzY3JpcHRvcihjb25zdCBTdHJpbmcmIGlkLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciYgYXVkaW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9T
b3VyY2VzKTsKKyAgICBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29u
c3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJl
YW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcywgYm9vbCBlbmRlZCk7CiAKICAgICBNZWRpYVN0
cmVhbURlc2NyaXB0b3JDbGllbnQqIG1fY2xpZW50OwogICAgIFN0cmluZyBtX2lkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIu
Y3BwCmluZGV4IGMxOTQ2NzgwNzMxYzRlNzM0YjY0YzY4NzI3NTJkYzZmNjljYTI3NWEuLjEzMjIy
Njg4MGIzNzk5MmRlNzQ0NmYyMGVmNzIxZTE2MmQ3MGRhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKQEAgLTIz
Myw3ICsyMzMsNyBAQCB2b2lkIE1vY2tNZWRpYVN0cmVhbUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJl
YW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZQogICAgICAgICB9CiAgICAgfQog
ICAgIAotICAgIGNsaWVudC0+ZGlkQ3JlYXRlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6
Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKSk7CisgICAgY2xpZW50LT5kaWRDcmVh
dGVTdHJlYW0oTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCB2aWRl
b1NvdXJjZXMsIGZhbHNlKSk7CiB9CiAKIGJvb2wgTW9ja01lZGlhU3RyZWFtQ2VudGVyOjpnZXRN
ZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2Vz
UmVxdWVzdENsaWVudD4gcHJwQ2xpZW50KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBiMGFiZjIwOWUzZjk3MTg1YWQ4ZTlh
ZGI5OTc3OTM5ZTJiYzA2OTAuLmFkZmUxMDU3OTBlOGRmNTViYTcyMGE1MzU4MmVjN2QxMWY2YTQw
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0xMC0xMCAgVGhpYWdvIGRlIEJhcnJvcyBM
YWNlcmRhICA8dGhpYWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBDcmVhdGUg
TWVkaWFTdHJlYW0gb2JqZWN0IHdpdGggZW5kZWQgYXR0cmlidXRlIHNldCBpZiBhbGwgdHJhY2tz
IHRoYXQgYXJlIGJlaW5nIHVzZWQgb24gaXRzIGNyZWF0aW9uIGFyZSBlbmRlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyMzU4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2luY2UgdGhlcmUgaXMgbm8g
cG9ydCBzdXBwb3J0aW5nIE1lZGlhU3RyZWFtIHlldCwgd2UgYXJlIHNraXBwaW5nIHRoaXMgdGVz
dCBmb3Igbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRoLWVuZGVkLXRyYWNrcy5odG1s
OiBBZGRlZC4KKwogMjAxMy0xMC0xMCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIEFYOiBDcmFzaCBhdCBXZWJDb3JlOjphY2Nlc3NpYmxlTmFtZUZvck5v
ZGUgd2hlbiB2aXNpdGluZyBGYWNlYm9vawpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDg2ZjAxZDkz
YWU2NzZiMmY0ZDMwMTc0NGNkNmZkZmExYmM2ZThiOC4uNzY1MWVlYzAzMWI2MzY5ZTgxMDg0YWY1
NGRlM2E4ODcwOGY0MjJhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC01NCwzICs1NCw2IEBAIHdl
YmtpdC5vcmcvYi8xMTI1MjEgWyBEZWJ1ZyBdIHdlYmF1ZGlvL2phdmFzY3JpcHRhdWRpb25vZGUu
aHRtbCBbIFBhc3MgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzcyNjk4IG1lZGlhL2F1ZGlvLWdhcmJh
Z2UtY29sbGVjdC5odG1sIFsgU2tpcCBdCiAKIHdlYmtpdC5vcmcvYi81Mzk5MCBmYXN0L2Zvcm1z
L3NlYXJjaC1ldmVudC1kZWxheS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKworIyBObyBwb3J0IGlu
IFdlYktpdCBhbHJlYWR5IHN1cHBvcnQgZ2V0TWVkaWFTdHJlYW0sIHNvIHdlIGFyZSBza2lwcGlu
ZyBpdCBmb3Igbm93LgorZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0
aC1lbmRlZC10cmFja3MuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRlZC10cmFja3MuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdp
dGgtZW5kZWQtdHJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDc0MjQ0NTdlNjVjYmU4ODcyMDM1ZmEx
NTAzYzljNGQxM2ZkZmZmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgtZW5kZWQtdHJhY2tzLmh0bWwKQEAg
LTAsMCArMSw2MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAg
ICAgICAgdmFyIG1lZGlhU3RyZWFtOworICAgICAgICAgICAgdmFyIHZpZGVvVHJhY2s7CisgICAg
ICAgICAgICB2YXIgYXVkaW9UcmFjazsKKyAgICAgICAgICAgIHZhciBuZXdNZWRpYVN0cmVhbTsK
KworICAgICAgICAgICAgZnVuY3Rpb24gZ290U3RyZWFtKHN0cmVhbSkgeworICAgICAgICAgICAg
ICAgIG1lZGlhU3RyZWFtID0gc3RyZWFtOworICAgICAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAg
ICAgICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRvKCdtZWRpYVN0cmVhbS5lbmRlZCcsIGZhbHNl
KTsKKworICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coInZpZGVvVHJhY2sgPSBtZWRpYVN0cmVh
bS5nZXRWaWRlb1RyYWNrcygpWzBdIik7CisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygiYXVk
aW9UcmFjayA9IG1lZGlhU3RyZWFtLmdldEF1ZGlvVHJhY2tzKClbMF0iKTsKKworICAgICAgICAg
ICAgICAgIHNob3VsZE5vdEJlRXF1YWxUb1N0cmluZygndmlkZW9UcmFjay5yZWFkeVN0YXRlJywg
J2VuZGVkJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKCdhdWRp
b1RyYWNrLnJlYWR5U3RhdGUnLCAnZW5kZWQnKTsKKworICAgICAgICAgICAgICAgIHZpZGVvVHJh
Y2suc3RvcCgpOworICAgICAgICAgICAgICAgIGF1ZGlvVHJhY2suc3RvcCgpOworICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndmlkZW9UcmFjay5yZWFkeVN0YXRlJywgJ2Vu
ZGVkJyk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdhdWRpb1RyYWNr
LnJlYWR5U3RhdGUnLCAnZW5kZWQnKTsKKworICAgICAgICAgICAgICAgIHZhciB0cmFja3NBcnJh
eSA9IFtdOworICAgICAgICAgICAgICAgIHRyYWNrc0FycmF5LnB1c2godmlkZW9UcmFjayk7Cisg
ICAgICAgICAgICAgICAgdHJhY2tzQXJyYXkucHVzaChhdWRpb1RyYWNrKTsKKyAgICAgICAgICAg
ICAgICBuZXdNZWRpYVN0cmVhbSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbSh0cmFja3NBcnJheSk7
CisKKyAgICAgICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRvKCduZXdNZWRpYVN0cmVhbS5lbmRl
ZCcsIHRydWUpOworICAgICAgICAgICAgICAgIHNob3VsZE5vdEJlRXF1YWxUb1N0cmluZyhtZWRp
YVN0cmVhbS5pZCwgbmV3TWVkaWFTdHJlYW0uaWQpOworCisgICAgICAgICAgICAgICAgdmFyIG1l
ZGlhU3RyZWFtQ29weSA9IG5ldyB3ZWJraXRNZWRpYVN0cmVhbShuZXdNZWRpYVN0cmVhbSk7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkRXZhbHVhdGVUbygnbWVkaWFTdHJlYW1Db3B5LmVuZGVkJywg
dHJ1ZSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmUoJ21lZGlhU3RyZWFtQ29weS5pZCcs
ICduZXdNZWRpYVN0cmVhbS5pZCcpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5j
dGlvbiBnZXRVc2VyTWVkaWFFcnJvcigpIHsKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdD
b3VsZCBub3QgZ2V0IE1lZGlhU3RyZWFtJyk7CisgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHN0YXJ0KCkgeworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci53ZWJraXRH
ZXRVc2VyTWVkaWEoe2F1ZGlvOnRydWUsIHZpZGVvOnRydWV9LCBnb3RTdHJlYW0sIGdldFVzZXJN
ZWRpYUVycm9yKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7CisgICAgICAgICAgICAg
ICAgICAgIHRlc3RGYWlsZWQoJ3dlYmtpdEdldFVzZXJNZWRpYSB0aHJldyBleGNlcHRpb24gOicg
KyBlKTsKKyAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisgICAgICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0ic3RhcnQoKSI+
CisgICAgICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213921</attachid>
            <date>2013-10-10 13:27:08 -0700</date>
            <delta_ts>2013-10-10 15:39:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122358-20131010172707.patch</filename>
            <type>text/plain</type>
            <size>13439</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTVlNzMzMTBlZDI5MDdl
MjgxNDExZDk1N2ZiMzAwYjc2MzRiMDA0ZS4uZWYxZTlkMGVhMzYwZTQyYzczNmViYWU1NjFmZjk4
NGU0NjAwYzBlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTEwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENyZWF0ZSBNZWRpYVN0cmVhbSBvYmplY3Qgd2l0aCBlbmRlZCBhdHRyaWJ1dGUgc2V0
IGlmIGFsbCB0cmFja3MgdGhhdCBhcmUgYmVpbmcgdXNlZCBvbiBpdHMgY3JlYXRpb24gYXJlIGVu
ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIz
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVj
IHRlbGxzIHRoYXQgaWYgYWxsIHRyYWNrcyB0aGF0IGJlbG9uZ3MgdG8gYSBuZXcgTWVkaWFTdHJl
YW0gb2JqZWN0IGJlaW5nIGNyZWF0ZWQgYXJlIGVuZGVkLAorICAgICAgICB0aGVuIHRoZSBlbmRl
ZCBhdHRyaWJ1dGUgb2YgdGhpcyBNZWRpYVN0cmVhbSBtdXN0IGJlIHNldCB0byB0cnVlLgorICAg
ICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9tZWRpYWNhcHR1cmUtc3RyZWFtcy8jd2lkbC1NZWRp
YVN0cmVhbS1lbmRlZAorCisgICAgICAgIFNpbmNlIHRoZXJlIGlzIG5vIHBvcnQgc3VwcG9ydGlu
ZyBNZWRpYVN0cmVhbSB5ZXQsIHdlIGFyZSBza2lwcGluZyB0aGlzIHRlc3QgZm9yIG5vdy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRo
LWVuZGVkLXRyYWNrcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNjcmlwdG9y
OjpNZWRpYVN0cmVhbURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVN0cmVhbUNl
bnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorCiAyMDEzLTEwLTEwICBSb2dlciBGb25nICA8cm9n
ZXJfZm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgU3RvcmUgdW5pZm9ybSB0eXBlIGluZm9ybWF0
aW9uIGluIFdlYkdMVW5pZm9ybWF0aW9uTG9jYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDc0Njc4YWFlZDI4MjY3
NzkzYjE4Y2U4MGM0NWE0ZWRkOTQwODc3MzguLmZiZjkxMWQ0ZGZiZTkxYmExNGIzZDhmOTBiYjQ1
Y2EwNDQxMTQzY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0uY3BwCkBAIC02MCw5ICs2MCw5IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NU
cmFjayhNZWRpYVN0cmVhbVRyYWNrKiB0cmFjaywgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHNv
dXJjCiAgICAgICAgIHNvdXJjZVZlY3Rvci5hcHBlbmQoc291cmNlKTsKIH0KIAotc3RhdGljIFBh
c3NSZWZQdHI8TWVkaWFTdHJlYW0+IGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRp
b1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMpCitz
dGF0aWMgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0
b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291
cmNlcywgYm9vbCBlbmRlZCkKIHsKLSAgICBSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBk
ZXNjcmlwdG9yID0gTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCB2
aWRlb1NvdXJjZXMpOworICAgIFJlZlB0cjxNZWRpYVN0cmVhbURlc2NyaXB0b3I+IGRlc2NyaXB0
b3IgPSBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJjZXMsIHZpZGVvU291
cmNlcywgZW5kZWQpOwogICAgIHJldHVybiBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRleHQsIGRl
c2NyaXB0b3IucmVsZWFzZSgpKTsKIH0KIApAQCAtNzEsNyArNzEsNyBAQCBQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQpCiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IgYXVkaW9Tb3VyY2VzOwogICAgIE1l
ZGlhU3RyZWFtU291cmNlVmVjdG9yIHZpZGVvU291cmNlczsKIAotICAgIHJldHVybiBjcmVhdGVG
cm9tU291cmNlVmVjdG9ycyhjb250ZXh0LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcyk7Cisg
ICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKGNvbnRleHQsIGF1ZGlvU291cmNlcywg
dmlkZW9Tb3VyY2VzLCBmYWxzZSk7CiB9CiAKIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlh
U3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0
cjxNZWRpYVN0cmVhbT4gc3RyZWFtKQpAQCAtODcsNyArODcsNyBAQCBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRl
eHQsIFBhcwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3RyZWFtLT5tX3ZpZGVvVHJhY2tz
LnNpemUoKTsgKytpKQogICAgICAgICBwcm9jZXNzVHJhY2soc3RyZWFtLT5tX3ZpZGVvVHJhY2tz
W2ldLmdldCgpLCB2aWRlb1NvdXJjZXMpOwogCi0gICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3VyY2VW
ZWN0b3JzKGNvbnRleHQsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAgICByZXR1cm4g
Y3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJj
ZXMsIHN0cmVhbS0+ZW5kZWQoKSk7CiB9CiAKIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlh
U3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgTWVk
aWFTdHJlYW1UcmFja1ZlY3RvciYgdHJhY2tzKQpAQCAtOTUsMTAgKzk1LDEzIEBAIFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uCiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IgYXVkaW9Tb3VyY2Vz
OwogICAgIE1lZGlhU3RyZWFtU291cmNlVmVjdG9yIHZpZGVvU291cmNlczsKIAotICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgdHJhY2tzLnNpemUoKTsgKytpKQorICAgIGJvb2wgZW5kZWQgPSB0
cnVlOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdHJhY2tzLnNpemUoKTsgKytpKSB7Cisg
ICAgICAgIGVuZGVkICY9IHRyYWNrc1tpXS0+ZW5kZWQoKTsKICAgICAgICAgcHJvY2Vzc1RyYWNr
KHRyYWNrc1tpXS5nZXQoKSwgdHJhY2tzW2ldLT5raW5kKCkgPT0gImF1ZGlvIiA/IGF1ZGlvU291
cmNlcyA6IHZpZGVvU291cmNlcyk7CisgICAgfQogCi0gICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3Vy
Y2VWZWN0b3JzKGNvbnRleHQsIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzKTsKKyAgICByZXR1
cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1Nv
dXJjZXMsIGVuZGVkKTsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06
OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtRGVzY3JpcHRvcj4gc3RyZWFtRGVzY3JpcHRvcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0
aW5hdGlvbk5vZGUuY3BwCmluZGV4IGE2NGRhNTM0MzU0Nzk3M2QzZmMxOTYyYzM2NTdiY2M2ZDY1
NjRhNjMuLjliMmFlODk0ZDU0ZDY4NTVhYzE0MWVlYWQ1Y2YwNzdiZWY0OGI5MGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3Rp
bmF0aW9uTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRp
YVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBNZWRpYVN0
cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2Rl
KEF1ZGlvQ29udGV4dCogYwogICAgIG1fc291cmNlID0gTWVkaWFTdHJlYW1BdWRpb1NvdXJjZTo6
Y3JlYXRlKCk7CiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IgYXVkaW9Tb3VyY2VzOwogICAg
IGF1ZGlvU291cmNlcy5hcHBlbmQobV9zb3VyY2UpOwotICAgIG1fc3RyZWFtID0gTWVkaWFTdHJl
YW06OmNyZWF0ZShjb250ZXh0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIE1lZGlhU3RyZWFt
RGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Io
KSkpOworICAgIG1fc3RyZWFtID0gTWVkaWFTdHJlYW06OmNyZWF0ZShjb250ZXh0LT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCksIE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291
cmNlcywgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IoKSwgZmFsc2UpKTsKIAogICAgIG1fc291cmNl
LT5zZXRBdWRpb0Zvcm1hdChudW1iZXJPZkNoYW5uZWxzLCBjb250ZXh0LT5zYW1wbGVSYXRlKCkp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmNwcAppbmRleCA1NjI5OTg3ZDhhNzdkODAxZjBkZDYx
NWY1MGNiYmJmMGMyNjQ0M2YxLi5lM2ExMDU3OTBlZjY1ZDZkZWM3ZTVhOGM4NDE0YTQzZDNjMjMx
NWIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5jcHAKQEAgLTQzLDkgKzQzLDkgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gTWVk
aWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3Im
IGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNl
cykKK1Bhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBNZWRpYVN0cmVhbURlc2NyaXB0
b3I6OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBj
b25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzLCBib29sIGVuZGVkKQog
ewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNyZWF0ZUNh
bm9uaWNhbFVVSURTdHJpbmcoKSwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMpKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IE1lZGlhU3RyZWFtRGVzY3JpcHRvcihjcmVhdGVDYW5vbmljYWxV
VUlEU3RyaW5nKCksIGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzLCBlbmRlZCkpOwogfQogCiBN
ZWRpYVN0cmVhbURlc2NyaXB0b3I6On5NZWRpYVN0cmVhbURlc2NyaXB0b3IoKQpAQCAtMTA4LDEw
ICsxMDgsMTAgQEAgdm9pZCBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OnJlbW92ZVJlbW90ZVNvdXJj
ZShNZWRpYVN0cmVhbVNvdXJjZSogc291cmNlKQogICAgICAgICByZW1vdmVTb3VyY2Uoc291cmNl
KTsKIH0KIAotTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpNZWRpYVN0cmVhbURlc2NyaXB0b3IoY29u
c3QgU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNl
cywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykKK01lZGlhU3Ry
ZWFtRGVzY3JpcHRvcjo6TWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNvbnN0IFN0cmluZyYgaWQsIGNv
bnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3Ry
ZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wgZW5kZWQpCiAgICAgOiBtX2NsaWVu
dCgwKQogICAgICwgbV9pZChpZCkKLSAgICAsIG1fZW5kZWQoZmFsc2UpCisgICAgLCBtX2VuZGVk
KGVuZGVkKQogewogICAgIEFTU0VSVChtX2lkLmxlbmd0aCgpKTsKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGF1ZGlvU291cmNlcy5zaXplKCk7IGkrKykgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1EZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3Iu
aAppbmRleCAwYzBmYjNiMzk0OTFkMjRiNTVlNzI5YWRlYzk1Y2E1MDVmMzBmYzBiLi41MzgxOGIw
ZTExNTI1NDdiMjVkYzJjYjI5YzU4OTRiYWIwNzk2NGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbURlc2NyaXB0b3Iu
aApAQCAtNTIsNyArNTIsNyBAQCBwdWJsaWM6CiAKIGNsYXNzIE1lZGlhU3RyZWFtRGVzY3JpcHRv
ciA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gewogcHVibGljOgot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0
IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFt
U291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBh
dWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMs
IGJvb2wgZW5kZWQpOwogCiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1EZXNjcmlwdG9yKCk7CiAK
QEAgLTc3LDcgKzc3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RW5kZWQoKTsKIAogcHJpdmF0
ZToKLSAgICBNZWRpYVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgTWVk
aWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3ImIHZpZGVvU291cmNlcyk7CisgICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNvbnN0
IFN0cmluZyYgaWQsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMs
IGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wgZW5kZWQp
OwogCiAgICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yQ2xpZW50KiBtX2NsaWVudDsKICAgICBTdHJp
bmcgbV9pZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcAppbmRleCBjMTk0Njc4MDczMWM0ZTczNGI2NGM2ODcyNzUyZGM2
ZjY5Y2EyNzVhLi4xMzIyMjY4ODBiMzc5OTJkZTc0NDZmMjBlZjcyMWUxNjJkNzBkYWQ4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1D
ZW50ZXIuY3BwCkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6
OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWUKICAg
ICAgICAgfQogICAgIH0KICAgICAKLSAgICBjbGllbnQtPmRpZENyZWF0ZVN0cmVhbShNZWRpYVN0
cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcykpOworICAg
IGNsaWVudC0+ZGlkQ3JlYXRlU3RyZWFtKE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGF1
ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzLCBmYWxzZSkpOwogfQogCiBib29sIE1vY2tNZWRpYVN0
cmVhbUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0
cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+IHBycENsaWVudCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4YWJiMzEw
OTk0YTlhN2RkZGEwMjBiNGZkMTllNmI4YTAxY2M3ZTNjLi42MDY2ZTM3MWQzMjExZDYyYTg1MWRk
YjZhYTdiMTNhMTk2OTcxZDY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMTAtMTAgIFRo
aWFnbyBkZSBCYXJyb3MgTGFjZXJkYSAgPHRoaWFnby5sYWNlcmRhQG9wZW5ib3NzYS5vcmc+CisK
KyAgICAgICAgQ3JlYXRlIE1lZGlhU3RyZWFtIG9iamVjdCB3aXRoIGVuZGVkIGF0dHJpYnV0ZSBz
ZXQgaWYgYWxsIHRyYWNrcyB0aGF0IGFyZSBiZWluZyB1c2VkIG9uIGl0cyBjcmVhdGlvbiBhcmUg
ZW5kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
MjM1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNp
bmNlIHRoZXJlIGlzIG5vIHBvcnQgc3VwcG9ydGluZyBNZWRpYVN0cmVhbSB5ZXQsIHdlIGFyZSBz
a2lwcGluZyB0aGlzIHRlc3QgZm9yIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1l
bmRlZC10cmFja3MuaHRtbDogQWRkZWQuCisKIDIwMTMtMTAtMTAgIE1hcmNlbG8gTW9yYWlzICA8
bS5tb3JhaXNAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHRo
ZSBvbGQgZnJvbnQtZW5kIGZyb20gV2ViS2l0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMmJlNWM1
MGFhMjFlNzBhZjBjOTdhZWRkMjYxMjQwZDI5YWM3M2I5Li5mNmU3M2Q2MzE5ZDIxMmI0OGM5NTIx
Y2IxYWM1MTUyYWIxN2Q5YjZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTU2LDMgKzU2LDYgQEAg
d2Via2l0Lm9yZy9iLzExMjUyMSBbIERlYnVnIF0gd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9k
ZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3ZWJraXQub3JnL2IvNzI2OTggbWVkaWEvYXVkaW8tZ2Fy
YmFnZS1jb2xsZWN0Lmh0bWwgWyBTa2lwIF0KIAogd2Via2l0Lm9yZy9iLzUzOTkwIGZhc3QvZm9y
bXMvc2VhcmNoLWV2ZW50LWRlbGF5Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCisjIE5vIHBvcnQg
aW4gV2ViS2l0IGFscmVhZHkgc3VwcG9ydCBnZXRNZWRpYVN0cmVhbSwgc28gd2UgYXJlIHNraXBw
aW5nIGl0IGZvciBub3cuCitmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13
aXRoLWVuZGVkLXRyYWNrcy5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRoLWVuZGVkLXRyYWNrcy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qt
d2l0aC1lbmRlZC10cmFja3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzQyNDQ1N2U2NWNiZTg4NzIwMzVm
YTE1MDNjOWM0ZDEzZmRmZmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRlZC10cmFja3MuaHRtbApA
QCAtMCwwICsxLDYzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICB2YXIgbWVkaWFTdHJlYW07CisgICAgICAgICAgICB2YXIgdmlkZW9UcmFjazsKKyAg
ICAgICAgICAgIHZhciBhdWRpb1RyYWNrOworICAgICAgICAgICAgdmFyIG5ld01lZGlhU3RyZWFt
OworCisgICAgICAgICAgICBmdW5jdGlvbiBnb3RTdHJlYW0oc3RyZWFtKSB7CisgICAgICAgICAg
ICAgICAgbWVkaWFTdHJlYW0gPSBzdHJlYW07CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOwor
ICAgICAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oJ21lZGlhU3RyZWFtLmVuZGVkJywgZmFs
c2UpOworCisgICAgICAgICAgICAgICAgZXZhbEFuZExvZygidmlkZW9UcmFjayA9IG1lZGlhU3Ry
ZWFtLmdldFZpZGVvVHJhY2tzKClbMF0iKTsKKyAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJh
dWRpb1RyYWNrID0gbWVkaWFTdHJlYW0uZ2V0QXVkaW9UcmFja3MoKVswXSIpOworCisgICAgICAg
ICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKCd2aWRlb1RyYWNrLnJlYWR5U3RhdGUn
LCAnZW5kZWQnKTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RCZUVxdWFsVG9TdHJpbmcoJ2F1
ZGlvVHJhY2sucmVhZHlTdGF0ZScsICdlbmRlZCcpOworCisgICAgICAgICAgICAgICAgdmlkZW9U
cmFjay5zdG9wKCk7CisgICAgICAgICAgICAgICAgYXVkaW9UcmFjay5zdG9wKCk7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd2aWRlb1RyYWNrLnJlYWR5U3RhdGUnLCAn
ZW5kZWQnKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2F1ZGlvVHJh
Y2sucmVhZHlTdGF0ZScsICdlbmRlZCcpOworCisgICAgICAgICAgICAgICAgdmFyIHRyYWNrc0Fy
cmF5ID0gW107CisgICAgICAgICAgICAgICAgdHJhY2tzQXJyYXkucHVzaCh2aWRlb1RyYWNrKTsK
KyAgICAgICAgICAgICAgICB0cmFja3NBcnJheS5wdXNoKGF1ZGlvVHJhY2spOworICAgICAgICAg
ICAgICAgIG5ld01lZGlhU3RyZWFtID0gbmV3IHdlYmtpdE1lZGlhU3RyZWFtKHRyYWNrc0FycmF5
KTsKKworICAgICAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oJ25ld01lZGlhU3RyZWFtLmVu
ZGVkJywgdHJ1ZSk7CisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKG1l
ZGlhU3RyZWFtLmlkLCBuZXdNZWRpYVN0cmVhbS5pZCk7CisKKyAgICAgICAgICAgICAgICB2YXIg
bWVkaWFTdHJlYW1Db3B5ID0gbmV3IHdlYmtpdE1lZGlhU3RyZWFtKG5ld01lZGlhU3RyZWFtKTsK
KyAgICAgICAgICAgICAgICBzaG91bGRFdmFsdWF0ZVRvKCdtZWRpYVN0cmVhbUNvcHkuZW5kZWQn
LCB0cnVlKTsKKyAgICAgICAgICAgICAgICBzaG91bGROb3RCZSgnbWVkaWFTdHJlYW1Db3B5Lmlk
JywgJ25ld01lZGlhU3RyZWFtLmlkJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1
bmN0aW9uIGdldFVzZXJNZWRpYUVycm9yKCkgeworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQo
J0NvdWxkIG5vdCBnZXQgTWVkaWFTdHJlYW0nKTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7Cisg
ICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgbmF2aWdhdG9yLndlYmtp
dEdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwgdmlkZW86dHJ1ZX0sIGdvdFN0cmVhbSwgZ2V0VXNl
ck1lZGlhRXJyb3IpOworICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgnd2Via2l0R2V0VXNlck1lZGlhIHRocmV3IGV4Y2VwdGlvbiA6
JyArIGUpOworICAgICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKKyAgICAgICAgICAgIHdpbmRvdy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgp
Ij4KKyAgICAgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisgICAgICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213936</attachid>
            <date>2013-10-10 15:39:32 -0700</date>
            <delta_ts>2013-10-10 16:15:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122358-20131010193930.patch</filename>
            <type>text/plain</type>
            <size>13754</size>
            <attacher name="Thiago de Barros Lacerda">thiago.lacerda</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M5NDVhY2JjZjQ3OWUx
MGFjZDgwYmQ1ZDA3NmYzY2E5Zjk0NWQ2NS4uYzdhMDg4ZTk4MTAwMjExNzc2NDU0MWVjYzNjZWFk
MDE0OTcyMDgwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTEwICBUaGlh
Z28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgorCisg
ICAgICAgIENyZWF0ZSBNZWRpYVN0cmVhbSBvYmplY3Qgd2l0aCBlbmRlZCBhdHRyaWJ1dGUgc2V0
IGlmIGFsbCB0cmFja3MgdGhhdCBhcmUgYmVpbmcgdXNlZCBvbiBpdHMgY3JlYXRpb24gYXJlIGVu
ZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIz
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTcGVj
IHRlbGxzIHRoYXQgaWYgYWxsIHRyYWNrcyB0aGF0IGJlbG9uZ3MgdG8gYSBuZXcgTWVkaWFTdHJl
YW0gb2JqZWN0IGJlaW5nIGNyZWF0ZWQgYXJlIGVuZGVkLAorICAgICAgICB0aGVuIHRoZSBlbmRl
ZCBhdHRyaWJ1dGUgb2YgdGhpcyBNZWRpYVN0cmVhbSBtdXN0IGJlIHNldCB0byB0cnVlLgorICAg
ICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi9tZWRpYWNhcHR1cmUtc3RyZWFtcy8jd2lkbC1NZWRp
YVN0cmVhbS1lbmRlZAorCisgICAgICAgIFNpbmNlIHRoZXJlIGlzIG5vIHBvcnQgc3VwcG9ydGlu
ZyBNZWRpYVN0cmVhbSB5ZXQsIHdlIGFyZSBza2lwcGluZyB0aGlzIHRlc3QgZm9yIG5vdy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRo
LWVuZGVkLXRyYWNrcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVs
ZXMvd2ViYXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpNZWRpYVN0cmVhbUF1
ZGlvRGVzdGluYXRpb25Ob2RlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNj
cmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1EZXNjcmlwdG9y
OjpNZWRpYVN0cmVhbURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja01l
ZGlhU3RyZWFtQ2VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVN0cmVhbUNl
bnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0pOgorCiAyMDEzLTEwLTEwICBTZXJnaW8gQ29ycmVpYSAg
PHNlcmdpby5jb3JyZWlhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHVudXNlZCBh
dHRyaWJ1dGUgaW4gQ29vcmRpbmF0ZWRUaWxlIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwCmluZGV4IDc0Njc4YWFlZDI4MjY3
NzkzYjE4Y2U4MGM0NWE0ZWRkOTQwODc3MzguLmQ0ZTAxMDIzODZlODE2MzJmMGJlYzBmMzlkOTg5
OTNjMzJlYmJlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW0uY3BwCkBAIC02MCw5ICs2MCwxMCBAQCBzdGF0aWMgdm9pZCBwcm9jZXNz
VHJhY2soTWVkaWFTdHJlYW1UcmFjayogdHJhY2ssIE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBz
b3VyYwogICAgICAgICBzb3VyY2VWZWN0b3IuYXBwZW5kKHNvdXJjZSk7CiB9CiAKLXN0YXRpYyBQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBjcmVhdGVGcm9tU291cmNlVmVjdG9ycyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVk
aW9Tb3VyY2VzLCBjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzKQor
c3RhdGljIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVj
dG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1Nv
dXJjZXMsIGJvb2wgZW5kZWQpCiB7Ci0gICAgUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4g
ZGVzY3JpcHRvciA9IE1lZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywg
dmlkZW9Tb3VyY2VzKTsKKyAgICBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OkVuZGVkQXRDcmVhdGlv
bkZsYWcgZmxhZyA9IGVuZGVkID8gTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpJc0VuZGVkIDogTWVk
aWFTdHJlYW1EZXNjcmlwdG9yOjpJc05vdEVuZGVkOworICAgIFJlZlB0cjxNZWRpYVN0cmVhbURl
c2NyaXB0b3I+IGRlc2NyaXB0b3IgPSBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRp
b1NvdXJjZXMsIHZpZGVvU291cmNlcywgZmxhZyk7CiAgICAgcmV0dXJuIE1lZGlhU3RyZWFtOjpj
cmVhdGUoY29udGV4dCwgZGVzY3JpcHRvci5yZWxlYXNlKCkpOwogfQogCkBAIC03MSw3ICs3Miw3
IEBAIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciBhdWRp
b1NvdXJjZXM7CiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IgdmlkZW9Tb3VyY2VzOwogCi0g
ICAgcmV0dXJuIGNyZWF0ZUZyb21Tb3VyY2VWZWN0b3JzKGNvbnRleHQsIGF1ZGlvU291cmNlcywg
dmlkZW9Tb3VyY2VzKTsKKyAgICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4
dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGZhbHNlKTsKIH0KIAogUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtPiBzdHJlYW0pCkBAIC04Nyw3ICs4OCw3IEBA
IFBhc3NSZWZQdHI8TWVkaWFTdHJlYW0+IE1lZGlhU3RyZWFtOjpjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgUGFzCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdHJl
YW0tPm1fdmlkZW9UcmFja3Muc2l6ZSgpOyArK2kpCiAgICAgICAgIHByb2Nlc3NUcmFjayhzdHJl
YW0tPm1fdmlkZW9UcmFja3NbaV0uZ2V0KCksIHZpZGVvU291cmNlcyk7CiAKLSAgICByZXR1cm4g
Y3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJj
ZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291cmNlVmVjdG9ycyhjb250ZXh0LCBhdWRpb1Nv
dXJjZXMsIHZpZGVvU291cmNlcywgc3RyZWFtLT5lbmRlZCgpKTsKIH0KIAogUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBjb25zdCBNZWRpYVN0cmVhbVRyYWNrVmVjdG9yJiB0cmFja3MpCkBAIC05NSwxMCAr
OTYsMTMgQEAgUGFzc1JlZlB0cjxNZWRpYVN0cmVhbT4gTWVkaWFTdHJlYW06OmNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb24KICAgICBNZWRpYVN0cmVhbVNvdXJjZVZl
Y3RvciBhdWRpb1NvdXJjZXM7CiAgICAgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3IgdmlkZW9Tb3Vy
Y2VzOwogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFja3Muc2l6ZSgpOyArK2kpCisg
ICAgYm9vbCBhbGxFbmRlZCA9IHRydWU7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFj
a3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgYWxsRW5kZWQgJj0gdHJhY2tzW2ldLT5lbmRlZCgp
OwogICAgICAgICBwcm9jZXNzVHJhY2sodHJhY2tzW2ldLmdldCgpLCB0cmFja3NbaV0tPmtpbmQo
KSA9PSAiYXVkaW8iID8gYXVkaW9Tb3VyY2VzIDogdmlkZW9Tb3VyY2VzKTsKKyAgICB9CiAKLSAg
ICByZXR1cm4gY3JlYXRlRnJvbVNvdXJjZVZlY3RvcnMoY29udGV4dCwgYXVkaW9Tb3VyY2VzLCB2
aWRlb1NvdXJjZXMpOworICAgIHJldHVybiBjcmVhdGVGcm9tU291cmNlVmVjdG9ycyhjb250ZXh0
LCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNlcywgYWxsRW5kZWQpOwogfQogCiBQYXNzUmVmUHRy
PE1lZGlhU3RyZWFtPiBNZWRpYVN0cmVhbTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBzdHJlYW1EZXNjcmlw
dG9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9NZWRpYVN0
cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
YXVkaW8vTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggYTY0ZGE1MzQz
NTQ3OTczZDNmYzE5NjJjMzY1N2JjYzZkNjU2NGE2My4uYTRiMzJmNTEyMjM1N2UwNzM0MWJkYTQw
MGMxZDcwMTFhYmI4OGE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJh
dWRpby9NZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYmF1ZGlvL01lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3Bw
CkBAIC01MSw3ICs1MSw3IEBAIE1lZGlhU3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGU6Ok1lZGlh
U3RyZWFtQXVkaW9EZXN0aW5hdGlvbk5vZGUoQXVkaW9Db250ZXh0KiBjCiAgICAgbV9zb3VyY2Ug
PSBNZWRpYVN0cmVhbUF1ZGlvU291cmNlOjpjcmVhdGUoKTsKICAgICBNZWRpYVN0cmVhbVNvdXJj
ZVZlY3RvciBhdWRpb1NvdXJjZXM7CiAgICAgYXVkaW9Tb3VyY2VzLmFwcGVuZChtX3NvdXJjZSk7
Ci0gICAgbV9zdHJlYW0gPSBNZWRpYVN0cmVhbTo6Y3JlYXRlKGNvbnRleHQtPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSwgTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2Vz
LCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvcigpKSk7CisgICAgbV9zdHJlYW0gPSBNZWRpYVN0cmVh
bTo6Y3JlYXRlKGNvbnRleHQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgTWVkaWFTdHJlYW1E
ZXNjcmlwdG9yOjpjcmVhdGUoYXVkaW9Tb3VyY2VzLCBNZWRpYVN0cmVhbVNvdXJjZVZlY3Rvcigp
LCBNZWRpYVN0cmVhbURlc2NyaXB0b3I6OklzTm90RW5kZWQpKTsKIAogICAgIG1fc291cmNlLT5z
ZXRBdWRpb0Zvcm1hdChudW1iZXJPZkNoYW5uZWxzLCBjb250ZXh0LT5zYW1wbGVSYXRlKCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1EZXNjcmlwdG9yLmNwcAppbmRleCA1NjI5OTg3ZDhhNzdkODAxZjBkZDYxNWY1
MGNiYmJmMGMyNjQ0M2YxLi5jMmY4ZDE1M2E3MjYxYWUyNDYxMDQzMDU4YThiMjAxMTgwMjVlZGZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0
cmVhbURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtRGVzY3JpcHRvci5jcHAKQEAgLTQzLDkgKzQzLDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gTWVkaWFT
dHJlYW1EZXNjcmlwdG9yOjpjcmVhdGUoY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1
ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcykK
K1Bhc3NSZWZQdHI8TWVkaWFTdHJlYW1EZXNjcmlwdG9yPiBNZWRpYVN0cmVhbURlc2NyaXB0b3I6
OmNyZWF0ZShjb25zdCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgYXVkaW9Tb3VyY2VzLCBjb25z
dCBNZWRpYVN0cmVhbVNvdXJjZVZlY3RvciYgdmlkZW9Tb3VyY2VzLCBFbmRlZEF0Q3JlYXRpb25G
bGFnIGZsYWcpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVN0cmVhbURlc2NyaXB0
b3IoY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpLCBhdWRpb1NvdXJjZXMsIHZpZGVvU291cmNl
cykpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNyZWF0
ZUNhbm9uaWNhbFVVSURTdHJpbmcoKSwgYXVkaW9Tb3VyY2VzLCB2aWRlb1NvdXJjZXMsIGZsYWcg
PT0gSXNFbmRlZCkpOwogfQogCiBNZWRpYVN0cmVhbURlc2NyaXB0b3I6On5NZWRpYVN0cmVhbURl
c2NyaXB0b3IoKQpAQCAtMTA4LDEwICsxMDgsMTAgQEAgdm9pZCBNZWRpYVN0cmVhbURlc2NyaXB0
b3I6OnJlbW92ZVJlbW90ZVNvdXJjZShNZWRpYVN0cmVhbVNvdXJjZSogc291cmNlKQogICAgICAg
ICByZW1vdmVTb3VyY2Uoc291cmNlKTsKIH0KIAotTWVkaWFTdHJlYW1EZXNjcmlwdG9yOjpNZWRp
YVN0cmVhbURlc2NyaXB0b3IoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFTdHJlYW1Tb3Vy
Y2VWZWN0b3ImIGF1ZGlvU291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZp
ZGVvU291cmNlcykKK01lZGlhU3RyZWFtRGVzY3JpcHRvcjo6TWVkaWFTdHJlYW1EZXNjcmlwdG9y
KGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1Nv
dXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wg
ZW5kZWQpCiAgICAgOiBtX2NsaWVudCgwKQogICAgICwgbV9pZChpZCkKLSAgICAsIG1fZW5kZWQo
ZmFsc2UpCisgICAgLCBtX2VuZGVkKGVuZGVkKQogewogICAgIEFTU0VSVChtX2lkLmxlbmd0aCgp
KTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGF1ZGlvU291cmNlcy5zaXplKCk7IGkrKykg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1EZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbURlc2NyaXB0b3IuaAppbmRleCAwYzBmYjNiMzk0OTFkMjRiNTVlNzI5YWRlYzk1
Y2E1MDVmMzBmYzBiLi5iYjdmZDBmYjBiN2NlOTEzYWVjYmM0ZGE0MWZjYjcwMDkxM2JiZTQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbURlc2NyaXB0b3IuaApAQCAtNTIsNyArNTIsOSBAQCBwdWJsaWM6CiAKIGNsYXNz
IE1lZGlhU3RyZWFtRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhU3RyZWFtRGVz
Y3JpcHRvcj4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVz
Y3JpcHRvcj4gY3JlYXRlKGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJj
ZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVjdG9yJiB2aWRlb1NvdXJjZXMpOworICAgIGVu
dW0gRW5kZWRBdENyZWF0aW9uRmxhZyB7IElzTm90RW5kZWQsIElzRW5kZWQgfTsKKworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPE1lZGlhU3RyZWFtRGVzY3JpcHRvcj4gY3JlYXRlKGNvbnN0IE1lZGlh
U3RyZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNl
VmVjdG9yJiB2aWRlb1NvdXJjZXMsIEVuZGVkQXRDcmVhdGlvbkZsYWcpOwogCiAgICAgdmlydHVh
bCB+TWVkaWFTdHJlYW1EZXNjcmlwdG9yKCk7CiAKQEAgLTc3LDcgKzc5LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0RW5kZWQoKTsKIAogcHJpdmF0ZToKLSAgICBNZWRpYVN0cmVhbURlc2NyaXB0
b3IoY29uc3QgU3RyaW5nJiBpZCwgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIGF1ZGlv
U291cmNlcywgY29uc3QgTWVkaWFTdHJlYW1Tb3VyY2VWZWN0b3ImIHZpZGVvU291cmNlcyk7Cisg
ICAgTWVkaWFTdHJlYW1EZXNjcmlwdG9yKGNvbnN0IFN0cmluZyYgaWQsIGNvbnN0IE1lZGlhU3Ry
ZWFtU291cmNlVmVjdG9yJiBhdWRpb1NvdXJjZXMsIGNvbnN0IE1lZGlhU3RyZWFtU291cmNlVmVj
dG9yJiB2aWRlb1NvdXJjZXMsIGJvb2wgZW5kZWQpOwogCiAgICAgTWVkaWFTdHJlYW1EZXNjcmlw
dG9yQ2xpZW50KiBtX2NsaWVudDsKICAgICBTdHJpbmcgbV9pZDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja01lZGlhU3RyZWFtQ2VudGVyLmNwcAppbmRleCBj
MTk0Njc4MDczMWM0ZTczNGI2NGM2ODcyNzUyZGM2ZjY5Y2EyNzVhLi44Zjk3YjYxZTVmYTMzNzUx
NTBhMjBiY2UwNWE1ZDVhODZlMjMyODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tNZWRpYVN0cmVhbUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrTWVkaWFTdHJlYW1DZW50ZXIuY3BwCkBAIC0yMzMsNyArMjMzLDcg
QEAgdm9pZCBNb2NrTWVkaWFTdHJlYW1DZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWUKICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBj
bGllbnQtPmRpZENyZWF0ZVN0cmVhbShNZWRpYVN0cmVhbURlc2NyaXB0b3I6OmNyZWF0ZShhdWRp
b1NvdXJjZXMsIHZpZGVvU291cmNlcykpOworICAgIGNsaWVudC0+ZGlkQ3JlYXRlU3RyZWFtKE1l
ZGlhU3RyZWFtRGVzY3JpcHRvcjo6Y3JlYXRlKGF1ZGlvU291cmNlcywgdmlkZW9Tb3VyY2VzLCBN
ZWRpYVN0cmVhbURlc2NyaXB0b3I6OklzTm90RW5kZWQpKTsKIH0KIAogYm9vbCBNb2NrTWVkaWFT
dHJlYW1DZW50ZXI6OmdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50PiBwcnBDbGllbnQpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTM0MDk4
MmVhMjRmYjI3ODYwM2ZlYjg2M2JjODA3MTQyZTUzOTBhZS4uMmVkMzI5Mzc4ZjMzYTY0MDYyNDk5
YzBhYjE4NTc0ODdiZDc2MjJlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTEwLTEwICBU
aGlhZ28gZGUgQmFycm9zIExhY2VyZGEgIDx0aGlhZ28ubGFjZXJkYUBvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIENyZWF0ZSBNZWRpYVN0cmVhbSBvYmplY3Qgd2l0aCBlbmRlZCBhdHRyaWJ1dGUg
c2V0IGlmIGFsbCB0cmFja3MgdGhhdCBhcmUgYmVpbmcgdXNlZCBvbiBpdHMgY3JlYXRpb24gYXJl
IGVuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjIzNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW5jZSB0aGVyZSBpcyBubyBwb3J0IHN1cHBvcnRpbmcgTWVkaWFTdHJlYW0geWV0LCB3ZSBhcmUg
c2tpcHBpbmcgdGhpcyB0ZXN0IGZvciBub3cuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25z
OgorICAgICAgICAqIGZhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tY29uc3RydWN0LXdpdGgt
ZW5kZWQtdHJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEzLTEwLTEwICBHdXN0YXZvIE5vcm9uaGEg
U2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBB
ZGQgdGltZW91dCBhbm5vdGF0aW9uIHRvIGd0ay13azItc3BlY2lmaWMgZXhwZWN0YXRpb24gZm9y
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBiMmJlNWM1MGFhMjFlNzBhZjBjOTdhZWRkMjYxMjQwZDI5
YWM3M2I5Li5mNmU3M2Q2MzE5ZDIxMmI0OGM5NTIxY2IxYWM1MTUyYWIxN2Q5YjZkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTU2LDMgKzU2LDYgQEAgd2Via2l0Lm9yZy9iLzExMjUyMSBbIERlYnVn
IF0gd2ViYXVkaW8vamF2YXNjcmlwdGF1ZGlvbm9kZS5odG1sIFsgUGFzcyBDcmFzaCBdCiB3ZWJr
aXQub3JnL2IvNzI2OTggbWVkaWEvYXVkaW8tZ2FyYmFnZS1jb2xsZWN0Lmh0bWwgWyBTa2lwIF0K
IAogd2Via2l0Lm9yZy9iLzUzOTkwIGZhc3QvZm9ybXMvc2VhcmNoLWV2ZW50LWRlbGF5Lmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQorCisjIE5vIHBvcnQgaW4gV2ViS2l0IGFscmVhZHkgc3VwcG9ydCBn
ZXRNZWRpYVN0cmVhbSwgc28gd2UgYXJlIHNraXBwaW5nIGl0IGZvciBub3cuCitmYXN0L21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtLWNvbnN0cnVjdC13aXRoLWVuZGVkLXRyYWNrcy5odG1sIFsgU2tp
cCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL01lZGlhU3RyZWFt
LWNvbnN0cnVjdC13aXRoLWVuZGVkLXRyYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbS1jb25zdHJ1Y3Qtd2l0aC1lbmRlZC10cmFja3MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kNzQyNDQ1N2U2NWNiZTg4NzIwMzVmYTE1MDNjOWM0ZDEzZmRmZmYwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS1jb25z
dHJ1Y3Qtd2l0aC1lbmRlZC10cmFja3MuaHRtbApAQCAtMCwwICsxLDYzIEBACis8IURPQ1RZUEUg
SFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgbWVkaWFTdHJlYW07Cisg
ICAgICAgICAgICB2YXIgdmlkZW9UcmFjazsKKyAgICAgICAgICAgIHZhciBhdWRpb1RyYWNrOwor
ICAgICAgICAgICAgdmFyIG5ld01lZGlhU3RyZWFtOworCisgICAgICAgICAgICBmdW5jdGlvbiBn
b3RTdHJlYW0oc3RyZWFtKSB7CisgICAgICAgICAgICAgICAgbWVkaWFTdHJlYW0gPSBzdHJlYW07
CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIHNob3VsZEV2YWx1
YXRlVG8oJ21lZGlhU3RyZWFtLmVuZGVkJywgZmFsc2UpOworCisgICAgICAgICAgICAgICAgZXZh
bEFuZExvZygidmlkZW9UcmFjayA9IG1lZGlhU3RyZWFtLmdldFZpZGVvVHJhY2tzKClbMF0iKTsK
KyAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJhdWRpb1RyYWNrID0gbWVkaWFTdHJlYW0uZ2V0
QXVkaW9UcmFja3MoKVswXSIpOworCisgICAgICAgICAgICAgICAgc2hvdWxkTm90QmVFcXVhbFRv
U3RyaW5nKCd2aWRlb1RyYWNrLnJlYWR5U3RhdGUnLCAnZW5kZWQnKTsKKyAgICAgICAgICAgICAg
ICBzaG91bGROb3RCZUVxdWFsVG9TdHJpbmcoJ2F1ZGlvVHJhY2sucmVhZHlTdGF0ZScsICdlbmRl
ZCcpOworCisgICAgICAgICAgICAgICAgdmlkZW9UcmFjay5zdG9wKCk7CisgICAgICAgICAgICAg
ICAgYXVkaW9UcmFjay5zdG9wKCk7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd2aWRlb1RyYWNrLnJlYWR5U3RhdGUnLCAnZW5kZWQnKTsKKyAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2F1ZGlvVHJhY2sucmVhZHlTdGF0ZScsICdlbmRlZCcpOwor
CisgICAgICAgICAgICAgICAgdmFyIHRyYWNrc0FycmF5ID0gW107CisgICAgICAgICAgICAgICAg
dHJhY2tzQXJyYXkucHVzaCh2aWRlb1RyYWNrKTsKKyAgICAgICAgICAgICAgICB0cmFja3NBcnJh
eS5wdXNoKGF1ZGlvVHJhY2spOworICAgICAgICAgICAgICAgIG5ld01lZGlhU3RyZWFtID0gbmV3
IHdlYmtpdE1lZGlhU3RyZWFtKHRyYWNrc0FycmF5KTsKKworICAgICAgICAgICAgICAgIHNob3Vs
ZEV2YWx1YXRlVG8oJ25ld01lZGlhU3RyZWFtLmVuZGVkJywgdHJ1ZSk7CisgICAgICAgICAgICAg
ICAgc2hvdWxkTm90QmVFcXVhbFRvU3RyaW5nKG1lZGlhU3RyZWFtLmlkLCBuZXdNZWRpYVN0cmVh
bS5pZCk7CisKKyAgICAgICAgICAgICAgICB2YXIgbWVkaWFTdHJlYW1Db3B5ID0gbmV3IHdlYmtp
dE1lZGlhU3RyZWFtKG5ld01lZGlhU3RyZWFtKTsKKyAgICAgICAgICAgICAgICBzaG91bGRFdmFs
dWF0ZVRvKCdtZWRpYVN0cmVhbUNvcHkuZW5kZWQnLCB0cnVlKTsKKyAgICAgICAgICAgICAgICBz
aG91bGROb3RCZSgnbWVkaWFTdHJlYW1Db3B5LmlkJywgJ25ld01lZGlhU3RyZWFtLmlkJyk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGdldFVzZXJNZWRpYUVycm9yKCkg
eworICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ0NvdWxkIG5vdCBnZXQgTWVkaWFTdHJlYW0n
KTsKKyAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYSh7YXVkaW86dHJ1ZSwg
dmlkZW86dHJ1ZX0sIGdvdFN0cmVhbSwgZ2V0VXNlck1lZGlhRXJyb3IpOworICAgICAgICAgICAg
ICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnd2Via2l0
R2V0VXNlck1lZGlhIHRocmV3IGV4Y2VwdGlvbiA6JyArIGUpOworICAgICAgICAgICAgICAgICAg
ICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKyAgICAgICAgICAgIHdpbmRv
dy5zdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHkgb25sb2FkPSJzdGFydCgpIj4KKyAgICAgICAgPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+CisgICAgICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgICAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgICAg
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>