<?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>76705</bug_id>
          
          <creation_ts>2012-01-20 08:01:26 -0800</creation_ts>
          <short_desc>Web Inspector: IndexedDBModel should keep track of requests sent to the backend.</short_desc>
          <delta_ts>2012-01-23 07:17:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>75386</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Vsevolod Vlasov">vsevik</reporter>
          <assigned_to name="Vsevolod Vlasov">vsevik</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>539515</commentid>
    <comment_count>0</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-20 08:01:26 -0800</bug_when>
    <thetext>IndexedDBModel should keep track of requests sent to the backend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539518</commentid>
    <comment_count>1</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-20 08:04:21 -0800</bug_when>
    <thetext>Otherwise after we send a request for a particular frame we can get a response when this frame was already detached/navigated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539537</commentid>
    <comment_count>2</comment_count>
      <attachid>123326</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-20 08:35:24 -0800</bug_when>
    <thetext>Created attachment 123326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539552</commentid>
    <comment_count>3</comment_count>
      <attachid>123333</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-20 08:58:29 -0800</bug_when>
    <thetext>Created attachment 123333
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540422</commentid>
    <comment_count>4</comment_count>
      <attachid>123333</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-23 01:08:00 -0800</bug_when>
    <thetext>Comment on attachment 123333
Patch

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

&gt; Source/WebCore/inspector/front-end/IndexedDBModel.js:255
&gt;  WebInspector.IndexedDBDispatcher.prototype = {

We try to keep the logic either in the dispather or in the model. In your case, model is preferred. I&apos;d suggest to make dispatcher a pure delegate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540507</commentid>
    <comment_count>5</comment_count>
      <attachid>123548</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-23 06:30:23 -0800</bug_when>
    <thetext>Created attachment 123548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540525</commentid>
    <comment_count>6</comment_count>
      <attachid>123554</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-23 06:54:05 -0800</bug_when>
    <thetext>Created attachment 123554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540527</commentid>
    <comment_count>7</comment_count>
      <attachid>123554</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-23 06:58:28 -0800</bug_when>
    <thetext>Comment on attachment 123554
Patch

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

&gt; Source/WebCore/inspector/front-end/IndexedDBModel.js:37
&gt; +    this._indexedDBAgent = new WebInspector.IndexedDBAgentWrapper;

We use () upon constructions.

&gt; Source/WebCore/inspector/front-end/IndexedDBModel.js:307
&gt; +WebInspector.IndexedDBAgentWrapper.DatabasesForFrameRequest = function(frameId, callback)

IndexedDBRequestManager?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540532</commentid>
    <comment_count>8</comment_count>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-01-23 07:17:24 -0800</bug_when>
    <thetext>Committed r105621: &lt;http://trac.webkit.org/changeset/105621&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123326</attachid>
            <date>2012-01-20 08:35:24 -0800</date>
            <delta_ts>2012-01-20 08:58:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76705-20120120203522.patch</filename>
            <type>text/plain</type>
            <size>14255</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllYzMwODljN2M4NmIx
OGEyMmIwY2ZlYjRmYmE4MTI2YWU5ZTU3My4uMWFhZjQ1YTg3ODc4ZTRjNzRhMGFkMjFhMWRjMWI2
MjE2NjRhNWExMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAxLTIwICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEluZGV4ZWREQk1vZGVsIHNob3VsZCBrZWVwIHRyYWNrIG9mIHJlcXVlc3RzIHNlbnQgdG8g
dGhlIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjcwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbmRleGVkREJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRl
eGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9JbmRleGVkREJNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVk
REJNb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBl
Ll9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX2RhdGFiYXNlTmFtZXNMb2FkZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLklu
ZGV4ZWREQk1vZGVsLnByb3RvdHlwZS5fbG9hZERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5wcm90b3R5cGUuZGF0YWJhc2VOYW1lc0xvYWRlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5wcm90b3R5cGUuX2Fk
ZFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4ZWREQkRpc3BhdGNoZXIucHJv
dG90eXBlLl9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJE
aXNwYXRjaGVyLnByb3RvdHlwZS5fcmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4
ZWREQkRpc3BhdGNoZXIuUmVxdWVzdCk6CisKIDIwMTItMDEtMjAgIE5pa29sYXMgWmltbWVybWFu
biAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjk4ODUyKTog
YXBwbGUuY29tIG5hdmlnYXRpb24gYmFyIGlzIGJyb2tlbiB1bmRlciBmdWxsLXBhZ2Ugem9vbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDhjMzllOWRjMTk0MGE3
YjYzOTRmMDE2NzRiMjJjMzU5ZTg5MWJkYTguLjAxYzNlZjk2MjVjMmRiM2FlMmU1YmM3OGU4YmQy
YmQxMzgwMDM4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAg
LTkzNSwxMSArOTM1LDEwIEBACiAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAidHlw
ZXMiOiBbCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgImlkIjogIkZyYW1lV2l0aERh
dGFiYXNlTmFtZXMiLAorICAgICAgICAgICAgICAgICJpZCI6ICJTZWN1cml0eU9yaWdpbldpdGhE
YXRhYmFzZU5hbWVzIiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcmlnaW4gd2l0aCBkYXRhYmFzZSBuYW1lcyBhbmQg
ZnJhbWUgaWRzLiIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlY3VyaXR5IG9y
aWdpbiB3aXRoIGRhdGFiYXNlIG5hbWVzLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIkcmVmIjogIk5l
dHdvcmsuRnJhbWVJZCIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSBpZC4iIH0sCiAgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAic2VjdXJpdHlPcmlnaW4iLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiU2VjdXJpdHkgb3JpZ2luLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJkYXRhYmFzZU5hbWVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0
eXBlIjogInN0cmluZyIgfSwgImRlc2NyaXB0aW9uIjogIkRhdGFiYXNlIG5hbWVzIGZvciB0aGlz
IG9yaWdpbi4iIH0KICAgICAgICAgICAgICAgICBdCkBAIC05NTcsNyArOTU2LDggQEAKICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJyZXF1ZXN0RGF0YWJhc2VOYW1lc0Zv
ckZyYW1lIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiB9Cisg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdl
ciIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiwgImRlc2NyaXB0
aW9uIjogIkZyYW1lIGlkLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIlJlcXVlc3RzIGRhdGFiYXNlIG5hbWVzIGZvciBnaXZlbiBmcmFtZSdz
IHNlY3VyaXR5IG9yaWdpbi4iCiAgICAgICAgICAgICB9CkBAIC05NjYsNyArOTY2LDggQEAKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkYXRhYmFzZU5hbWVzTG9hZGVk
IiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJmcmFtZVdpdGhEYXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAiRnJhbWVXaXRoRGF0
YWJhc2VOYW1lcyIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSB3aXRoIGRhdGFiYXNlIG5hbWVzLiIg
fQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICJ0eXBlIjogIm51
bWJlciIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAi
U2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcyIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSB3
aXRoIGRhdGFiYXNlIG5hbWVzLiIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0K
ICAgICAgICAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluZGV4ZWREQkFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bmRleGVkREJBZ2VudC5jcHAKaW5kZXggYmMyOWY0YjUyNThiNzQzOTVjYmM0ZmYyZDIzNWFiMmVl
YTBjYjFjZC4uZTcwNWZmOGU5YWQxMDIzNDNiY2E3MDA1Y2M1YTY2N2ZlMTllM2NmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQu
Y3BwCkBAIC01Miw3ICs1Miw3IEBACiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLXVzaW5n
IFdlYkNvcmU6OlR5cGVCdWlsZGVyOjpJbmRleGVkREI6OkZyYW1lV2l0aERhdGFiYXNlTmFtZXM7
Cit1c2luZyBXZWJDb3JlOjpUeXBlQnVpbGRlcjo6SW5kZXhlZERCOjpTZWN1cml0eU9yaWdpbldp
dGhEYXRhYmFzZU5hbWVzOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTk2LDkgKzk2LDkg
QEAgcHVibGljOgogCiBjbGFzcyBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2sgOiBwdWJsaWMgSW5z
cGVjdG9ySURCQ2FsbGJhY2sgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdldERh
dGFiYXNlTmFtZXNDYWxsYmFjaz4gY3JlYXRlKFBhc3NSZWZQdHI8SW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIsIGNvbnN0IFN0cmluZyYg
ZnJhbWVJZCwgY29uc3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbikKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2s+IGNyZWF0ZShQYXNzUmVmUHRyPEluc3BlY3Rv
ckluZGV4ZWREQkFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQg
cmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soZnJvbnRlbmRQcm92
aWRlciwgZnJhbWVJZCwgc2VjdXJpdHlPcmlnaW4pKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElk
LCBzZWN1cml0eU9yaWdpbikpOwogICAgIH0KIAogICAgIHZpcnR1YWwgfkdldERhdGFiYXNlTmFt
ZXNDYWxsYmFjaygpIHsgfQpAQCAtMTEyLDIxICsxMTIsMjAgQEAgcHVibGljOgogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGRhdGFiYXNlTmFtZXNMaXN0LT5sZW5ndGgoKTsgKytpKQog
ICAgICAgICAgICAgZGF0YWJhc2VOYW1lcy0+cHVzaFN0cmluZyhkYXRhYmFzZU5hbWVzTGlzdC0+
aXRlbShpKSk7CiAKLSAgICAgICAgUmVmUHRyPEZyYW1lV2l0aERhdGFiYXNlTmFtZXM+IHJlc3Vs
dCA9IEZyYW1lV2l0aERhdGFiYXNlTmFtZXM6OmNyZWF0ZSgpCi0gICAgICAgICAgICAuc2V0RnJh
bWVJZChtX2ZyYW1lSWQpCisgICAgICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFz
ZU5hbWVzPiByZXN1bHQgPSBTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzOjpjcmVhdGUo
KQogICAgICAgICAgICAgLnNldFNlY3VyaXR5T3JpZ2luKG1fc2VjdXJpdHlPcmlnaW4pCiAgICAg
ICAgICAgICAuc2V0RGF0YWJhc2VOYW1lcyhkYXRhYmFzZU5hbWVzKTsKIAotICAgICAgICBtX2Zy
b250ZW5kUHJvdmlkZXItPmZyb250ZW5kKCktPmRhdGFiYXNlTmFtZXNMb2FkZWQocmVzdWx0KTsK
KyAgICAgICAgbV9mcm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5kYXRhYmFzZU5hbWVzTG9h
ZGVkKG1fcmVxdWVzdElkLCByZXN1bHQpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBHZXREYXRh
YmFzZU5hbWVzQ2FsbGJhY2soUGFzc1JlZlB0cjxJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6RnJv
bnRlbmRQcm92aWRlcj4gZnJvbnRlbmRQcm92aWRlciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBj
b25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luKQorICAgIEdldERhdGFiYXNlTmFtZXNDYWxsYmFj
ayhQYXNzUmVmUHRyPEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBm
cm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3Jp
Z2luKQogICAgICAgICA6IG1fZnJvbnRlbmRQcm92aWRlcihmcm9udGVuZFByb3ZpZGVyKQotICAg
ICAgICAsIG1fZnJhbWVJZChmcmFtZUlkKQorICAgICAgICAsIG1fcmVxdWVzdElkKHJlcXVlc3RJ
ZCkKICAgICAgICAgLCBtX3NlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKSB7IH0KICAgICBS
ZWZQdHI8SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IG1fZnJvbnRl
bmRQcm92aWRlcjsKLSAgICBTdHJpbmcgbV9mcmFtZUlkOworICAgIGludCBtX3JlcXVlc3RJZDsK
ICAgICBTdHJpbmcgbV9zZWN1cml0eU9yaWdpbjsKIH07CiAKQEAgLTE3Miw3ICsxNzEsNyBAQCB2
b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBt
X3N0YXRlLT5zZXRCb29sZWFuKEluZGV4ZWREQkFnZW50U3RhdGU6OmluZGV4ZWREQkFnZW50RW5h
YmxlZCwgZmFsc2UpOwogfQogCi12b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpyZXF1ZXN0
RGF0YWJhc2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nJiBm
cmFtZUlkKQordm9pZCBJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFt
ZXNGb3JGcmFtZShFcnJvclN0cmluZyogZXJyb3IsIGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmlu
ZyYgZnJhbWVJZCkKIHsKICAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2VBZ2VudC0+ZnJhbWVGb3JJ
ZChmcmFtZUlkKTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSA/IGZyYW1lLT5kb2N1
bWVudCgpIDogMDsKQEAgLTE4NCw3ICsxODMsNyBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFn
ZW50OjpyZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiBlcnJvciwgYwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPEdldERhdGFiYXNlTmFtZXNDYWxs
YmFjaz4gY2FsbGJhY2sgPSBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2s6OmNyZWF0ZShtX2Zyb250
ZW5kUHJvdmlkZXIsIGZyYW1lSWQsIGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmlu
ZygpKTsKKyAgICBSZWZQdHI8R2V0RGF0YWJhc2VOYW1lc0NhbGxiYWNrPiBjYWxsYmFjayA9IEdl
dERhdGFiYXNlTmFtZXNDYWxsYmFjazo6Y3JlYXRlKG1fZnJvbnRlbmRQcm92aWRlciwgcmVxdWVz
dElkLCBkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgR3JvdXBT
ZXR0aW5ncyogZ3JvdXBTZXR0aW5ncyA9IGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuZ3JvdXBT
ZXR0aW5ncygpOwogICAgIGlkYkJhY2tlbmQtPmdldERhdGFiYXNlTmFtZXMoY2FsbGJhY2suZ2V0
KCksIGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLCBkb2N1bWVudC0+ZnJhbWUoKSwgZ3JvdXBT
ZXR0aW5ncy0+aW5kZXhlZERCRGF0YWJhc2VQYXRoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaAppbmRleCA5M2Q2NDQ4OTZh
ZTgwNjU0NDcyMzE1NWFhMDZmMDM4YWYxNzcwN2M3Li5kN2Y2NDY0Y2IwMTIyNmNlZWQ1YjRhNDAz
NDg2ZWE5YWVkNmRjOTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5kZXhlZERCQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5kZXhlZERCQWdlbnQuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgLy8g
Q2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KICAgICB2b2lkIGVuYWJsZShFcnJvclN0cmluZyop
OwogICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOwotICAgIHZvaWQgcmVxdWVzdERhdGFi
YXNlTmFtZXNGb3JGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7Cisg
ICAgdm9pZCByZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiwgaW50IHJl
cXVlc3RJZCwgY29uc3QgU3RyaW5nJiBmcmFtZUlkKTsKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9y
SW5kZXhlZERCQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5z
cGVjdG9yUGFnZUFnZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5kZXhlZERCTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0luZGV4ZWREQk1vZGVsLmpzCmluZGV4IDFmZGEyYWEzYWVlZjg1YmUwMzg4ZDA3
Yjk5NDdhNzZmNTc4OWE0MmIuLmQ5ODFkZDk5YTJhOWYwYmNlNjVlZmIxMjIyZmYwNmNjYWY3YTEw
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhl
ZERCTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRl
eGVkREJNb2RlbC5qcwpAQCAtMzUsNyArMzUsOCBAQAogV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1v
ZGVsID0gZnVuY3Rpb24oKQogewogICAgIEluZGV4ZWREQkFnZW50LmVuYWJsZSgpOwotICAgIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJJbmRleGVkREJEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0
b3IuSW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzKSk7CisgICAgdGhpcy5fZGlzcGF0Y2hlciA9IG5l
dyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzKTsKKyAgICBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVySW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzLl9kaXNwYXRjaGVyKTsKICAg
ICAKICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5GcmFtZU5hdmlnYXRlZCwg
dGhpcy5fZnJhbWVOYXZpZ2F0ZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5F
dmVudFR5cGVzLkZyYW1lRGV0YWNoZWQsIHRoaXMuX2ZyYW1lRGV0YWNoZWQsIHRoaXMpOwpAQCAt
ODAsNiArODEsNyBAQCBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgdmFyIHJlc291cmNlVHJlZUZyYW1lID0gLyoqIEB0eXBlIHtXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlRnJhbWV9ICovIGV2ZW50LmRhdGE7CiAgICAgICAgIHRoaXMuX29y
aWdpblJlbW92ZWRGcm9tRnJhbWUocmVzb3VyY2VUcmVlRnJhbWUuaWQpOworICAgICAgICB0aGlz
Ll9kaXNwYXRjaGVyLl9mcmFtZURldGFjaGVkKHJlc291cmNlVHJlZUZyYW1lLmlkKTsKICAgICB9
LAogCiAgICAgX3Jlc2V0OiBmdW5jdGlvbigpCkBAIC04Nyw2ICs4OSw3IEBAIFdlYkluc3BlY3Rv
ci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3NlY3VyaXR5T3Jp
Z2luQnlGcmFtZUlkID0ge307CiAgICAgICAgIHRoaXMuX2ZyYW1lSWRzQnlTZWN1cml0eU9yaWdp
biA9IHt9OwogICAgICAgICB0aGlzLl9kYXRhYmFzZU5hbWVzQnlTZWN1cml0eU9yaWdpbiA9IHt9
OworICAgICAgICB0aGlzLl9kaXNwYXRjaGVyLl9yZXNldCgpOwogICAgICAgICAvLyBGSVhNRTog
ZGlzcGF0Y2ggZXZlbnRzPwogICAgIH0sCiAgICAgCkBAIC0yMDIsMjAgKzIwNSwxOSBAQCBXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioK
LSAgICAgKiBAcGFyYW0ge0luZGV4ZWREQkFnZW50LkZyYW1lV2l0aERhdGFiYXNlTmFtZXN9IGZy
YW1lV2l0aERhdGFiYXNlTmFtZXMKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5JbmRleGVk
REJEaXNwYXRjaGVyLlJlcXVlc3R9IHJlcXVlc3QKKyAgICAgKiBAcGFyYW0ge0luZGV4ZWREQkFn
ZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXN9IHNlY3VyaXR5T3JpZ2luV2l0aERh
dGFiYXNlTmFtZXMKICAgICAgKi8KLSAgICBfZGF0YWJhc2VOYW1lc0xvYWRlZDogZnVuY3Rpb24o
ZnJhbWVXaXRoRGF0YWJhc2VOYW1lcykKKyAgICBfZGF0YWJhc2VOYW1lc0xvYWRlZDogZnVuY3Rp
b24ocmVxdWVzdCwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcykKICAgICB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaW1wbGVtZW50IGV2ZW50cyBvcmRlciwgc28gdGhhdCB3
ZSBjb3VsZCBub3QgdXBkYXRlIGRhdGFiYXNlTmFtZXMgZm9yIGEgZnJhbWUgdGhhdCB3YXMgYWxy
ZWFkeSBkZXRhY2hlZC4KLSAgICAgICAgCi0gICAgICAgIHZhciBkYXRhYmFzZU5hbWVzID0gZnJh
bWVXaXRoRGF0YWJhc2VOYW1lcy5kYXRhYmFzZU5hbWVzOwotICAgICAgICB2YXIgb2xkU2VjdXJp
dHlPcmlnaW4gPSB0aGlzLl9zZWN1cml0eU9yaWdpbkJ5RnJhbWVJZFtmcmFtZVdpdGhEYXRhYmFz
ZU5hbWVzLmZyYW1lSWRdOwotICAgICAgICBpZiAob2xkU2VjdXJpdHlPcmlnaW4gJiYgb2xkU2Vj
dXJpdHlPcmlnaW4gPT09IGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pCi0g
ICAgICAgICAgICB0aGlzLl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzKGZyYW1lV2l0aERhdGFi
YXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4sIGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VO
YW1lcyk7CisgICAgICAgIHZhciBkYXRhYmFzZU5hbWVzID0gc2VjdXJpdHlPcmlnaW5XaXRoRGF0
YWJhc2VOYW1lcy5kYXRhYmFzZU5hbWVzOworICAgICAgICB2YXIgb2xkU2VjdXJpdHlPcmlnaW4g
PSB0aGlzLl9zZWN1cml0eU9yaWdpbkJ5RnJhbWVJZFtyZXF1ZXN0LmZyYW1lSWRdOworICAgICAg
ICBpZiAob2xkU2VjdXJpdHlPcmlnaW4gJiYgb2xkU2VjdXJpdHlPcmlnaW4gPT09IHNlY3VyaXR5
T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICB0aGlz
Ll91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzKHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFt
ZXMuc2VjdXJpdHlPcmlnaW4sIHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMuZGF0YWJh
c2VOYW1lcyk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgdGhpcy5fb3JpZ2luUmVtb3Zl
ZEZyb21GcmFtZShmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmZyYW1lSWQpOwotICAgICAgICAgICAg
dGhpcy5fb3JpZ2luQWRkZWRUb0ZyYW1lKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuZnJhbWVJZCwg
ZnJhbWVXaXRoRGF0YWJhc2VOYW1lcy5zZWN1cml0eU9yaWdpbik7Ci0gICAgICAgICAgICB0aGlz
Ll91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuc2VjdXJp
dHlPcmlnaW4sIGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VOYW1lcyk7CisgICAgICAg
ICAgICB0aGlzLl9vcmlnaW5SZW1vdmVkRnJvbUZyYW1lKHJlcXVlc3QuZnJhbWVJZCk7CisgICAg
ICAgICAgICB0aGlzLl9vcmlnaW5BZGRlZFRvRnJhbWUocmVxdWVzdC5mcmFtZUlkLCBzZWN1cml0
eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2luKTsKKyAgICAgICAgICAgIHRo
aXMuX3VwZGF0ZU9yaWdpbkRhdGFiYXNlTmFtZXMoc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VO
YW1lcy5zZWN1cml0eU9yaWdpbiwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcy5kYXRh
YmFzZU5hbWVzKTsKICAgICAgICAgfQogICAgIH0sCiAKQEAgLTIyOCw4ICsyMzAsOSBAQCBXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgSW5kZXhl
ZERCQWdlbnQucmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShmcmFtZUlkLCBjYWxsYmFjayk7
CisKKyAgICAgICAgdmFyIHJlcXVlc3RJZCA9IHRoaXMuX2Rpc3BhdGNoZXIuX2FkZFJlcXVlc3Qo
ZnJhbWVJZCk7CisgICAgICAgIEluZGV4ZWREQkFnZW50LnJlcXVlc3REYXRhYmFzZU5hbWVzRm9y
RnJhbWUocmVxdWVzdElkLCBmcmFtZUlkLCBjYWxsYmFjayk7CiAgICAgfQogfQogCkBAIC0yNDIs
MTYgKzI0NSw2MyBAQCBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLl9fcHJv
dG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwogV2ViSW5zcGVjdG9yLkluZGV4
ZWREQkRpc3BhdGNoZXIgPSBmdW5jdGlvbihpbmRleGVkREJNb2RlbCkKIHsKICAgICB0aGlzLl9p
bmRleGVkREJNb2RlbCA9IGluZGV4ZWREQk1vZGVsOworICAgIAorICAgIHRoaXMuX3JlcXVlc3Rz
ID0ge307CisgICAgdGhpcy5fbGFzdFJlcXVlc3RJZCA9IDA7CiB9CiAKIFdlYkluc3BlY3Rvci5J
bmRleGVkREJEaXNwYXRjaGVyLl9jYWxsYmFja3MgPSB7fTsKIAogV2ViSW5zcGVjdG9yLkluZGV4
ZWREQkRpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgIC8qKgotICAgICAqIEBwYXJhbSB7SW5k
ZXhlZERCQWdlbnQuRnJhbWVXaXRoRGF0YWJhc2VOYW1lc30gZnJhbWVXaXRoRGF0YWJhc2VOYW1l
cworICAgICAqIEBwYXJhbSB7bnVtYmVyfSByZXF1ZXN0SWQKKyAgICAgKiBAcGFyYW0ge0luZGV4
ZWREQkFnZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXN9IHNlY3VyaXR5T3JpZ2lu
V2l0aERhdGFiYXNlTmFtZXMKKyAgICAgKi8KKyAgICBkYXRhYmFzZU5hbWVzTG9hZGVkOiBmdW5j
dGlvbihyZXF1ZXN0SWQsIHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMpCisgICAgewor
ICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVlc3RzW3JlcXVlc3RJZF07CisgICAgICAg
IGlmICghcmVxdWVzdCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgICAgIHRo
aXMuX2luZGV4ZWREQk1vZGVsLl9kYXRhYmFzZU5hbWVzTG9hZGVkKHJlcXVlc3QsIHNlY3VyaXR5
T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gZnJhbWVJZAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRhYmFzZU5hbWUK
KyAgICAgKiBAcGFyYW0ge3N0cmluZ30gb2JqZWN0U3RvcmVOYW1lCisgICAgICogQHBhcmFtIHtz
dHJpbmd9IGluZGV4TmFtZQorICAgICAqIEBwYXJhbSB7b2JqZWN0fSBrZXlSYW5nZQorICAgICAq
IEByZXR1cm4ge251bWJlcn0KICAgICAgKi8KLSAgICBkYXRhYmFzZU5hbWVzTG9hZGVkOiBmdW5j
dGlvbihmcmFtZVdpdGhEYXRhYmFzZU5hbWVzKQorICAgIF9hZGRSZXF1ZXN0OiBmdW5jdGlvbihm
cmFtZUlkLCBkYXRhYmFzZU5hbWUsIG9iamVjdFN0b3JlTmFtZSwgaW5kZXhOYW1lLCBrZXlSYW5n
ZSkKICAgICB7Ci0gICAgICAgIHRoaXMuX2luZGV4ZWREQk1vZGVsLl9kYXRhYmFzZU5hbWVzTG9h
ZGVkKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMpOworICAgICAgICB0aGlzLl9yZXF1ZXN0c1srK3Ro
aXMuX2xhc3RSZXF1ZXN0SWRdID0gbmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJEaXNwYXRjaGVy
LlJlcXVlc3QoZnJhbWVJZCwgZGF0YWJhc2VOYW1lLCBvYmplY3RTdG9yZU5hbWUsIGluZGV4TmFt
ZSwga2V5UmFuZ2UpOworICAgICAgICByZXR1cm4gdGhpcy5fbGFzdFJlcXVlc3RJZDsKKyAgICB9
LAorCisgICAgX2ZyYW1lRGV0YWNoZWQ6IGZ1bmN0aW9uKGZyYW1lSWQpCisgICAgeworICAgICAg
ICBmb3IgKHZhciByZXF1ZXN0SWQgaW4gdGhpcy5fcmVxdWVzdHMpIHsKKyAgICAgICAgICAgIGlm
ICh0aGlzLl9yZXF1ZXN0c1tyZXF1ZXN0SWRdLmZyYW1lSWQgPT09IGZyYW1lSWQpCisgICAgICAg
ICAgICAgICAgZGVsZXRlIHRoaXMuX3JlcXVlc3RzW3JlcXVlc3RJZF07CisgICAgICAgIH0KKyAg
ICB9LAorCisgICAgX3Jlc2V0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9yZXF1
ZXN0cyA9IHt9OwogICAgIH0KIH0KKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5z
cGVjdG9yLkluZGV4ZWREQkRpc3BhdGNoZXIuUmVxdWVzdCA9IGZ1bmN0aW9uKGZyYW1lSWQsIGRh
dGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBpbmRleE5hbWUsIGtleVJhbmdlKQoreworICAg
IHRoaXMuZnJhbWVJZCA9IGZyYW1lSWQ7CisgICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBkYXRhYmFz
ZU5hbWU7CisgICAgdGhpcy5vYmplY3RTdG9yZU5hbWUgPSBvYmplY3RTdG9yZU5hbWU7CisgICAg
dGhpcy5pbmRleE5hbWUgPSBpbmRleE5hbWU7CisgICAgdGhpcy5rZXlSYW5nZSA9IGtleVJhbmdl
OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123333</attachid>
            <date>2012-01-20 08:58:29 -0800</date>
            <delta_ts>2012-01-23 06:30:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76705-20120120205827.patch</filename>
            <type>text/plain</type>
            <size>14309</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllYzMwODljN2M4NmIx
OGEyMmIwY2ZlYjRmYmE4MTI2YWU5ZTU3My4uMWFhZjQ1YTg3ODc4ZTRjNzRhMGFkMjFhMWRjMWI2
MjE2NjRhNWExMCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAxLTIwICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEluZGV4ZWREQk1vZGVsIHNob3VsZCBrZWVwIHRyYWNrIG9mIHJlcXVlc3RzIHNlbnQgdG8g
dGhlIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjcwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbmRleGVkREJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRl
eGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9JbmRleGVkREJNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVk
REJNb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBl
Ll9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX2RhdGFiYXNlTmFtZXNMb2FkZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLklu
ZGV4ZWREQk1vZGVsLnByb3RvdHlwZS5fbG9hZERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5wcm90b3R5cGUuZGF0YWJhc2VOYW1lc0xvYWRlZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5wcm90b3R5cGUuX2Fk
ZFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4ZWREQkRpc3BhdGNoZXIucHJv
dG90eXBlLl9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJE
aXNwYXRjaGVyLnByb3RvdHlwZS5fcmVzZXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4
ZWREQkRpc3BhdGNoZXIuUmVxdWVzdCk6CisKIDIwMTItMDEtMjAgIE5pa29sYXMgWmltbWVybWFu
biAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjk4ODUyKTog
YXBwbGUuY29tIG5hdmlnYXRpb24gYmFyIGlzIGJyb2tlbiB1bmRlciBmdWxsLXBhZ2Ugem9vbQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDhjMzllOWRjMTk0MGE3
YjYzOTRmMDE2NzRiMjJjMzU5ZTg5MWJkYTguLjAxYzNlZjk2MjVjMmRiM2FlMmU1YmM3OGU4YmQy
YmQxMzgwMDM4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAg
LTkzNSwxMSArOTM1LDEwIEBACiAgICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAidHlw
ZXMiOiBbCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgImlkIjogIkZyYW1lV2l0aERh
dGFiYXNlTmFtZXMiLAorICAgICAgICAgICAgICAgICJpZCI6ICJTZWN1cml0eU9yaWdpbldpdGhE
YXRhYmFzZU5hbWVzIiwKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcmlnaW4gd2l0aCBkYXRhYmFzZSBuYW1lcyBhbmQg
ZnJhbWUgaWRzLiIsCisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlY3VyaXR5IG9y
aWdpbiB3aXRoIGRhdGFiYXNlIG5hbWVzLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMi
OiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIkcmVmIjogIk5l
dHdvcmsuRnJhbWVJZCIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSBpZC4iIH0sCiAgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAic2VjdXJpdHlPcmlnaW4iLCAidHlwZSI6ICJzdHJpbmciLCAi
ZGVzY3JpcHRpb24iOiAiU2VjdXJpdHkgb3JpZ2luLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJkYXRhYmFzZU5hbWVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0
eXBlIjogInN0cmluZyIgfSwgImRlc2NyaXB0aW9uIjogIkRhdGFiYXNlIG5hbWVzIGZvciB0aGlz
IG9yaWdpbi4iIH0KICAgICAgICAgICAgICAgICBdCkBAIC05NTcsNyArOTU2LDggQEAKICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJyZXF1ZXN0RGF0YWJhc2VOYW1lc0Zv
ckZyYW1lIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiB9Cisg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdl
ciIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiwgImRlc2NyaXB0
aW9uIjogIkZyYW1lIGlkLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIlJlcXVlc3RzIGRhdGFiYXNlIG5hbWVzIGZvciBnaXZlbiBmcmFtZSdz
IHNlY3VyaXR5IG9yaWdpbi4iCiAgICAgICAgICAgICB9CkBAIC05NjYsNyArOTY2LDggQEAKICAg
ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJkYXRhYmFzZU5hbWVzTG9hZGVk
IiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJmcmFtZVdpdGhEYXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAiRnJhbWVXaXRoRGF0
YWJhc2VOYW1lcyIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSB3aXRoIGRhdGFiYXNlIG5hbWVzLiIg
fQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICJ0eXBlIjogIm51
bWJlciIsICJkZXNjcmlwdGlvbiI6ICJSZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAi
U2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcyIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSB3
aXRoIGRhdGFiYXNlIG5hbWVzLiIgfQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0K
ICAgICAgICAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluZGV4ZWREQkFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bmRleGVkREJBZ2VudC5jcHAKaW5kZXggYmMyOWY0YjUyNThiNzQzOTVjYmM0ZmYyZDIzNWFiMmVl
YTBjYjFjZC4uZTcwNWZmOGU5YWQxMDIzNDNiY2E3MDA1Y2M1YTY2N2ZlMTllM2NmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQu
Y3BwCkBAIC01Miw3ICs1Miw3IEBACiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLXVzaW5n
IFdlYkNvcmU6OlR5cGVCdWlsZGVyOjpJbmRleGVkREI6OkZyYW1lV2l0aERhdGFiYXNlTmFtZXM7
Cit1c2luZyBXZWJDb3JlOjpUeXBlQnVpbGRlcjo6SW5kZXhlZERCOjpTZWN1cml0eU9yaWdpbldp
dGhEYXRhYmFzZU5hbWVzOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTk2LDkgKzk2LDkg
QEAgcHVibGljOgogCiBjbGFzcyBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2sgOiBwdWJsaWMgSW5z
cGVjdG9ySURCQ2FsbGJhY2sgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdldERh
dGFiYXNlTmFtZXNDYWxsYmFjaz4gY3JlYXRlKFBhc3NSZWZQdHI8SW5zcGVjdG9ySW5kZXhlZERC
QWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IGZyb250ZW5kUHJvdmlkZXIsIGNvbnN0IFN0cmluZyYg
ZnJhbWVJZCwgY29uc3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbikKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2s+IGNyZWF0ZShQYXNzUmVmUHRyPEluc3BlY3Rv
ckluZGV4ZWREQkFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQg
cmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luKQogICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soZnJvbnRlbmRQcm92
aWRlciwgZnJhbWVJZCwgc2VjdXJpdHlPcmlnaW4pKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElk
LCBzZWN1cml0eU9yaWdpbikpOwogICAgIH0KIAogICAgIHZpcnR1YWwgfkdldERhdGFiYXNlTmFt
ZXNDYWxsYmFjaygpIHsgfQpAQCAtMTEyLDIxICsxMTIsMjAgQEAgcHVibGljOgogICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGRhdGFiYXNlTmFtZXNMaXN0LT5sZW5ndGgoKTsgKytpKQog
ICAgICAgICAgICAgZGF0YWJhc2VOYW1lcy0+cHVzaFN0cmluZyhkYXRhYmFzZU5hbWVzTGlzdC0+
aXRlbShpKSk7CiAKLSAgICAgICAgUmVmUHRyPEZyYW1lV2l0aERhdGFiYXNlTmFtZXM+IHJlc3Vs
dCA9IEZyYW1lV2l0aERhdGFiYXNlTmFtZXM6OmNyZWF0ZSgpCi0gICAgICAgICAgICAuc2V0RnJh
bWVJZChtX2ZyYW1lSWQpCisgICAgICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFz
ZU5hbWVzPiByZXN1bHQgPSBTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzOjpjcmVhdGUo
KQogICAgICAgICAgICAgLnNldFNlY3VyaXR5T3JpZ2luKG1fc2VjdXJpdHlPcmlnaW4pCiAgICAg
ICAgICAgICAuc2V0RGF0YWJhc2VOYW1lcyhkYXRhYmFzZU5hbWVzKTsKIAotICAgICAgICBtX2Zy
b250ZW5kUHJvdmlkZXItPmZyb250ZW5kKCktPmRhdGFiYXNlTmFtZXNMb2FkZWQocmVzdWx0KTsK
KyAgICAgICAgbV9mcm9udGVuZFByb3ZpZGVyLT5mcm9udGVuZCgpLT5kYXRhYmFzZU5hbWVzTG9h
ZGVkKG1fcmVxdWVzdElkLCByZXN1bHQpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBHZXREYXRh
YmFzZU5hbWVzQ2FsbGJhY2soUGFzc1JlZlB0cjxJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6RnJv
bnRlbmRQcm92aWRlcj4gZnJvbnRlbmRQcm92aWRlciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBj
b25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luKQorICAgIEdldERhdGFiYXNlTmFtZXNDYWxsYmFj
ayhQYXNzUmVmUHRyPEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBm
cm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3Jp
Z2luKQogICAgICAgICA6IG1fZnJvbnRlbmRQcm92aWRlcihmcm9udGVuZFByb3ZpZGVyKQotICAg
ICAgICAsIG1fZnJhbWVJZChmcmFtZUlkKQorICAgICAgICAsIG1fcmVxdWVzdElkKHJlcXVlc3RJ
ZCkKICAgICAgICAgLCBtX3NlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKSB7IH0KICAgICBS
ZWZQdHI8SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IG1fZnJvbnRl
bmRQcm92aWRlcjsKLSAgICBTdHJpbmcgbV9mcmFtZUlkOworICAgIGludCBtX3JlcXVlc3RJZDsK
ICAgICBTdHJpbmcgbV9zZWN1cml0eU9yaWdpbjsKIH07CiAKQEAgLTE3Miw3ICsxNzEsNyBAQCB2
b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBt
X3N0YXRlLT5zZXRCb29sZWFuKEluZGV4ZWREQkFnZW50U3RhdGU6OmluZGV4ZWREQkFnZW50RW5h
YmxlZCwgZmFsc2UpOwogfQogCi12b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpyZXF1ZXN0
RGF0YWJhc2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nJiBm
cmFtZUlkKQordm9pZCBJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFt
ZXNGb3JGcmFtZShFcnJvclN0cmluZyogZXJyb3IsIGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmlu
ZyYgZnJhbWVJZCkKIHsKICAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2VBZ2VudC0+ZnJhbWVGb3JJ
ZChmcmFtZUlkKTsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBmcmFtZSA/IGZyYW1lLT5kb2N1
bWVudCgpIDogMDsKQEAgLTE4NCw3ICsxODMsNyBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFn
ZW50OjpyZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiBlcnJvciwgYwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPEdldERhdGFiYXNlTmFtZXNDYWxs
YmFjaz4gY2FsbGJhY2sgPSBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2s6OmNyZWF0ZShtX2Zyb250
ZW5kUHJvdmlkZXIsIGZyYW1lSWQsIGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmlu
ZygpKTsKKyAgICBSZWZQdHI8R2V0RGF0YWJhc2VOYW1lc0NhbGxiYWNrPiBjYWxsYmFjayA9IEdl
dERhdGFiYXNlTmFtZXNDYWxsYmFjazo6Y3JlYXRlKG1fZnJvbnRlbmRQcm92aWRlciwgcmVxdWVz
dElkLCBkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgR3JvdXBT
ZXR0aW5ncyogZ3JvdXBTZXR0aW5ncyA9IGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuZ3JvdXBT
ZXR0aW5ncygpOwogICAgIGlkYkJhY2tlbmQtPmdldERhdGFiYXNlTmFtZXMoY2FsbGJhY2suZ2V0
KCksIGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLCBkb2N1bWVudC0+ZnJhbWUoKSwgZ3JvdXBT
ZXR0aW5ncy0+aW5kZXhlZERCRGF0YWJhc2VQYXRoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuaAppbmRleCA5M2Q2NDQ4OTZh
ZTgwNjU0NDcyMzE1NWFhMDZmMDM4YWYxNzcwN2M3Li5kN2Y2NDY0Y2IwMTIyNmNlZWQ1YjRhNDAz
NDg2ZWE5YWVkNmRjOTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5kZXhlZERCQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5kZXhlZERCQWdlbnQuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgLy8g
Q2FsbGVkIGZyb20gdGhlIGZyb250LWVuZC4KICAgICB2b2lkIGVuYWJsZShFcnJvclN0cmluZyop
OwogICAgIHZvaWQgZGlzYWJsZShFcnJvclN0cmluZyopOwotICAgIHZvaWQgcmVxdWVzdERhdGFi
YXNlTmFtZXNGb3JGcmFtZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7Cisg
ICAgdm9pZCByZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiwgaW50IHJl
cXVlc3RJZCwgY29uc3QgU3RyaW5nJiBmcmFtZUlkKTsKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9y
SW5kZXhlZERCQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5z
cGVjdG9yUGFnZUFnZW50Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5kZXhlZERCTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0luZGV4ZWREQk1vZGVsLmpzCmluZGV4IDFmZGEyYWEzYWVlZjg1YmUwMzg4ZDA3
Yjk5NDdhNzZmNTc4OWE0MmIuLjQwNDdlM2MwODcxOGI0NGRmMGMxMzEyY2U4YzgyNjhjYzY0MDY5
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhl
ZERCTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRl
eGVkREJNb2RlbC5qcwpAQCAtMzUsNyArMzUsOCBAQAogV2ViSW5zcGVjdG9yLkluZGV4ZWREQk1v
ZGVsID0gZnVuY3Rpb24oKQogewogICAgIEluZGV4ZWREQkFnZW50LmVuYWJsZSgpOwotICAgIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJJbmRleGVkREJEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0
b3IuSW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzKSk7CisgICAgdGhpcy5fZGlzcGF0Y2hlciA9IG5l
dyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzKTsKKyAgICBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVySW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzLl9kaXNwYXRjaGVyKTsKICAg
ICAKICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5GcmFtZU5hdmlnYXRlZCwg
dGhpcy5fZnJhbWVOYXZpZ2F0ZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5F
dmVudFR5cGVzLkZyYW1lRGV0YWNoZWQsIHRoaXMuX2ZyYW1lRGV0YWNoZWQsIHRoaXMpOwpAQCAt
ODAsNiArODEsNyBAQCBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgdmFyIHJlc291cmNlVHJlZUZyYW1lID0gLyoqIEB0eXBlIHtXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlRnJhbWV9ICovIGV2ZW50LmRhdGE7CiAgICAgICAgIHRoaXMuX29y
aWdpblJlbW92ZWRGcm9tRnJhbWUocmVzb3VyY2VUcmVlRnJhbWUuaWQpOworICAgICAgICB0aGlz
Ll9kaXNwYXRjaGVyLl9mcmFtZURldGFjaGVkKHJlc291cmNlVHJlZUZyYW1lLmlkKTsKICAgICB9
LAogCiAgICAgX3Jlc2V0OiBmdW5jdGlvbigpCkBAIC04Nyw2ICs4OSw3IEBAIFdlYkluc3BlY3Rv
ci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3NlY3VyaXR5T3Jp
Z2luQnlGcmFtZUlkID0ge307CiAgICAgICAgIHRoaXMuX2ZyYW1lSWRzQnlTZWN1cml0eU9yaWdp
biA9IHt9OwogICAgICAgICB0aGlzLl9kYXRhYmFzZU5hbWVzQnlTZWN1cml0eU9yaWdpbiA9IHt9
OworICAgICAgICB0aGlzLl9kaXNwYXRjaGVyLl9yZXNldCgpOwogICAgICAgICAvLyBGSVhNRTog
ZGlzcGF0Y2ggZXZlbnRzPwogICAgIH0sCiAgICAgCkBAIC0yMDIsMjAgKzIwNSwxOSBAQCBXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioK
LSAgICAgKiBAcGFyYW0ge0luZGV4ZWREQkFnZW50LkZyYW1lV2l0aERhdGFiYXNlTmFtZXN9IGZy
YW1lV2l0aERhdGFiYXNlTmFtZXMKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5JbmRleGVk
REJEaXNwYXRjaGVyLlJlcXVlc3R9IHJlcXVlc3QKKyAgICAgKiBAcGFyYW0ge0luZGV4ZWREQkFn
ZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXN9IHNlY3VyaXR5T3JpZ2luV2l0aERh
dGFiYXNlTmFtZXMKICAgICAgKi8KLSAgICBfZGF0YWJhc2VOYW1lc0xvYWRlZDogZnVuY3Rpb24o
ZnJhbWVXaXRoRGF0YWJhc2VOYW1lcykKKyAgICBfZGF0YWJhc2VOYW1lc0xvYWRlZDogZnVuY3Rp
b24ocmVxdWVzdCwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcykKICAgICB7Ci0gICAg
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgaW1wbGVtZW50IGV2ZW50cyBvcmRlciwgc28gdGhhdCB3
ZSBjb3VsZCBub3QgdXBkYXRlIGRhdGFiYXNlTmFtZXMgZm9yIGEgZnJhbWUgdGhhdCB3YXMgYWxy
ZWFkeSBkZXRhY2hlZC4KLSAgICAgICAgCi0gICAgICAgIHZhciBkYXRhYmFzZU5hbWVzID0gZnJh
bWVXaXRoRGF0YWJhc2VOYW1lcy5kYXRhYmFzZU5hbWVzOwotICAgICAgICB2YXIgb2xkU2VjdXJp
dHlPcmlnaW4gPSB0aGlzLl9zZWN1cml0eU9yaWdpbkJ5RnJhbWVJZFtmcmFtZVdpdGhEYXRhYmFz
ZU5hbWVzLmZyYW1lSWRdOwotICAgICAgICBpZiAob2xkU2VjdXJpdHlPcmlnaW4gJiYgb2xkU2Vj
dXJpdHlPcmlnaW4gPT09IGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pCi0g
ICAgICAgICAgICB0aGlzLl91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzKGZyYW1lV2l0aERhdGFi
YXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4sIGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VO
YW1lcyk7CisgICAgICAgIHZhciBkYXRhYmFzZU5hbWVzID0gc2VjdXJpdHlPcmlnaW5XaXRoRGF0
YWJhc2VOYW1lcy5kYXRhYmFzZU5hbWVzOworICAgICAgICB2YXIgb2xkU2VjdXJpdHlPcmlnaW4g
PSB0aGlzLl9zZWN1cml0eU9yaWdpbkJ5RnJhbWVJZFtyZXF1ZXN0LmZyYW1lSWRdOworICAgICAg
ICBpZiAob2xkU2VjdXJpdHlPcmlnaW4gJiYgb2xkU2VjdXJpdHlPcmlnaW4gPT09IHNlY3VyaXR5
T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICB0aGlz
Ll91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzKHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFt
ZXMuc2VjdXJpdHlPcmlnaW4sIHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMuZGF0YWJh
c2VOYW1lcyk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgdGhpcy5fb3JpZ2luUmVtb3Zl
ZEZyb21GcmFtZShmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmZyYW1lSWQpOwotICAgICAgICAgICAg
dGhpcy5fb3JpZ2luQWRkZWRUb0ZyYW1lKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuZnJhbWVJZCwg
ZnJhbWVXaXRoRGF0YWJhc2VOYW1lcy5zZWN1cml0eU9yaWdpbik7Ci0gICAgICAgICAgICB0aGlz
Ll91cGRhdGVPcmlnaW5EYXRhYmFzZU5hbWVzKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuc2VjdXJp
dHlPcmlnaW4sIGZyYW1lV2l0aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VOYW1lcyk7CisgICAgICAg
ICAgICB0aGlzLl9vcmlnaW5SZW1vdmVkRnJvbUZyYW1lKHJlcXVlc3QuZnJhbWVJZCk7CisgICAg
ICAgICAgICB0aGlzLl9vcmlnaW5BZGRlZFRvRnJhbWUocmVxdWVzdC5mcmFtZUlkLCBzZWN1cml0
eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2luKTsKKyAgICAgICAgICAgIHRo
aXMuX3VwZGF0ZU9yaWdpbkRhdGFiYXNlTmFtZXMoc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VO
YW1lcy5zZWN1cml0eU9yaWdpbiwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcy5kYXRh
YmFzZU5hbWVzKTsKICAgICAgICAgfQogICAgIH0sCiAKQEAgLTIyOCw4ICsyMzAsOSBAQCBXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgSW5kZXhl
ZERCQWdlbnQucmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShmcmFtZUlkLCBjYWxsYmFjayk7
CisKKyAgICAgICAgdmFyIHJlcXVlc3RJZCA9IHRoaXMuX2Rpc3BhdGNoZXIuX2FkZFJlcXVlc3Qo
ZnJhbWVJZCk7CisgICAgICAgIEluZGV4ZWREQkFnZW50LnJlcXVlc3REYXRhYmFzZU5hbWVzRm9y
RnJhbWUocmVxdWVzdElkLCBmcmFtZUlkLCBjYWxsYmFjayk7CiAgICAgfQogfQogCkBAIC0yNDIs
MTYgKzI0NSw2NiBAQCBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLl9fcHJv
dG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOwogV2ViSW5zcGVjdG9yLkluZGV4
ZWREQkRpc3BhdGNoZXIgPSBmdW5jdGlvbihpbmRleGVkREJNb2RlbCkKIHsKICAgICB0aGlzLl9p
bmRleGVkREJNb2RlbCA9IGluZGV4ZWREQk1vZGVsOworICAgIAorICAgIHRoaXMuX3JlcXVlc3Rz
ID0ge307CisgICAgdGhpcy5fbGFzdFJlcXVlc3RJZCA9IDA7CiB9CiAKIFdlYkluc3BlY3Rvci5J
bmRleGVkREJEaXNwYXRjaGVyLl9jYWxsYmFja3MgPSB7fTsKIAogV2ViSW5zcGVjdG9yLkluZGV4
ZWREQkRpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgIC8qKgotICAgICAqIEBwYXJhbSB7SW5k
ZXhlZERCQWdlbnQuRnJhbWVXaXRoRGF0YWJhc2VOYW1lc30gZnJhbWVXaXRoRGF0YWJhc2VOYW1l
cworICAgICAqIEBwYXJhbSB7bnVtYmVyfSByZXF1ZXN0SWQKKyAgICAgKiBAcGFyYW0ge0luZGV4
ZWREQkFnZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXN9IHNlY3VyaXR5T3JpZ2lu
V2l0aERhdGFiYXNlTmFtZXMKICAgICAgKi8KLSAgICBkYXRhYmFzZU5hbWVzTG9hZGVkOiBmdW5j
dGlvbihmcmFtZVdpdGhEYXRhYmFzZU5hbWVzKQorICAgIGRhdGFiYXNlTmFtZXNMb2FkZWQ6IGZ1
bmN0aW9uKHJlcXVlc3RJZCwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcykKICAgICB7
Ci0gICAgICAgIHRoaXMuX2luZGV4ZWREQk1vZGVsLl9kYXRhYmFzZU5hbWVzTG9hZGVkKGZyYW1l
V2l0aERhdGFiYXNlTmFtZXMpOworICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVlc3Rz
W3JlcXVlc3RJZF07CisgICAgICAgIGlmICghcmVxdWVzdCkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgCisgICAgICAgIHRoaXMuX2luZGV4ZWREQk1vZGVsLl9kYXRhYmFzZU5hbWVzTG9h
ZGVkKHJlcXVlc3QsIHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMpOworICAgIH0sCisK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gZnJhbWVJZAorICAgICAqIEBwYXJhbSB7
c3RyaW5nPX0gZGF0YWJhc2VOYW1lCisgICAgICogQHBhcmFtIHtzdHJpbmc9fSBvYmplY3RTdG9y
ZU5hbWUKKyAgICAgKiBAcGFyYW0ge3N0cmluZz19IGluZGV4TmFtZQorICAgICAqIEBwYXJhbSB7
T2JqZWN0PX0ga2V5UmFuZ2UKKyAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CisgICAgICovCisgICAg
X2FkZFJlcXVlc3Q6IGZ1bmN0aW9uKGZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVO
YW1lLCBpbmRleE5hbWUsIGtleVJhbmdlKQorICAgIHsKKyAgICAgICAgdGhpcy5fcmVxdWVzdHNb
Kyt0aGlzLl9sYXN0UmVxdWVzdElkXSA9IG5ldyBXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0
Y2hlci5SZXF1ZXN0KGZyYW1lSWQsIGRhdGFiYXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBpbmRl
eE5hbWUsIGtleVJhbmdlKTsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2xhc3RSZXF1ZXN0SWQ7Cisg
ICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmcmFtZUlkCisgICAgICov
CisgICAgX2ZyYW1lRGV0YWNoZWQ6IGZ1bmN0aW9uKGZyYW1lSWQpCisgICAgeworICAgICAgICBm
b3IgKHZhciByZXF1ZXN0SWQgaW4gdGhpcy5fcmVxdWVzdHMpIHsKKyAgICAgICAgICAgIGlmICh0
aGlzLl9yZXF1ZXN0c1tyZXF1ZXN0SWRdLmZyYW1lSWQgPT09IGZyYW1lSWQpCisgICAgICAgICAg
ICAgICAgZGVsZXRlIHRoaXMuX3JlcXVlc3RzW3JlcXVlc3RJZF07CisgICAgICAgIH0KKyAgICB9
LAorCisgICAgX3Jlc2V0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9yZXF1ZXN0
cyA9IHt9OwogICAgIH0KIH0KKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVj
dG9yLkluZGV4ZWREQkRpc3BhdGNoZXIuUmVxdWVzdCA9IGZ1bmN0aW9uKGZyYW1lSWQsIGRhdGFi
YXNlTmFtZSwgb2JqZWN0U3RvcmVOYW1lLCBpbmRleE5hbWUsIGtleVJhbmdlKQoreworICAgIHRo
aXMuZnJhbWVJZCA9IGZyYW1lSWQ7CisgICAgdGhpcy5kYXRhYmFzZU5hbWUgPSBkYXRhYmFzZU5h
bWU7CisgICAgdGhpcy5vYmplY3RTdG9yZU5hbWUgPSBvYmplY3RTdG9yZU5hbWU7CisgICAgdGhp
cy5pbmRleE5hbWUgPSBpbmRleE5hbWU7CisgICAgdGhpcy5rZXlSYW5nZSA9IGtleVJhbmdlOwor
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123548</attachid>
            <date>2012-01-23 06:30:23 -0800</date>
            <delta_ts>2012-01-23 06:53:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76705-20120123183020.patch</filename>
            <type>text/plain</type>
            <size>15751</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllYzMwODljN2M4NmIx
OGEyMmIwY2ZlYjRmYmE4MTI2YWU5ZTU3My4uZDE0ZDc3NDg5N2Q5MmI0MzIwZjE0OGFjNTVmYTdm
NWI0YjllMmZhMyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAxLTIzICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEluZGV4ZWREQk1vZGVsIHNob3VsZCBrZWVwIHRyYWNrIG9mIHJlcXVlc3RzIHNlbnQgdG8g
dGhlIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjcwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbmRleGVkREJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRl
eGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9JbmRleGVkREJNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVk
REJNb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBl
Ll9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX2xvYWREYXRhYmFzZU5hbWVzRm9yRnJhbWUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkluZGV4ZWREQkFnZW50V3JhcHBlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCQWdlbnRXcmFwcGVyLnByb3RvdHlwZS5yZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lLmlu
bmVyQ2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4ZWREQkFnZW50V3JhcHBl
ci5wcm90b3R5cGUucmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyLnByb3RvdHlwZS5fZGF0YWJhc2VOYW1lc0xv
YWRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyLnByb3Rv
dHlwZS5fcmVxdWVzdElkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJBZ2VudFdy
YXBwZXIucHJvdG90eXBlLl9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5J
bmRleGVkREJBZ2VudFdyYXBwZXIucHJvdG90eXBlLl9yZXNldCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyLkRhdGFiYXNlc0ZvckZyYW1lUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5wcm90b3R5cGUuZGF0YWJhc2VOYW1lc0xvYWRl
ZCk6CisKIDIwMTItMDEtMjAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjk4ODUyKTogYXBwbGUuY29tIG5hdmlnYXRpb24g
YmFyIGlzIGJyb2tlbiB1bmRlciBmdWxsLXBhZ2Ugem9vbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IDhjMzllOWRjMTk0MGE3YjYzOTRmMDE2NzRiMjJjMzU5ZTg5
MWJkYTguLjAxYzNlZjk2MjVjMmRiM2FlMmU1YmM3OGU4YmQyYmQxMzgwMDM4ZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTkzNSwxMSArOTM1LDEwIEBACiAg
ICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAidHlwZXMiOiBbCiAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgImlkIjogIkZyYW1lV2l0aERhdGFiYXNlTmFtZXMiLAorICAgICAg
ICAgICAgICAgICJpZCI6ICJTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzIiwKICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJPcmlnaW4gd2l0aCBkYXRhYmFzZSBuYW1lcyBhbmQgZnJhbWUgaWRzLiIsCisgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlY3VyaXR5IG9yaWdpbiB3aXRoIGRhdGFiYXNlIG5h
bWVzLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIkcmVmIjogIk5ldHdvcmsuRnJhbWVJZCIsICJkZXNj
cmlwdGlvbiI6ICJGcmFtZSBpZC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
c2VjdXJpdHlPcmlnaW4iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU2VjdXJp
dHkgb3JpZ2luLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkYXRhYmFzZU5h
bWVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfSwgImRl
c2NyaXB0aW9uIjogIkRhdGFiYXNlIG5hbWVzIGZvciB0aGlzIG9yaWdpbi4iIH0KICAgICAgICAg
ICAgICAgICBdCkBAIC05NTcsNyArOTU2LDggQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lIiwKICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFt
ZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiB9CisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJS
ZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwg
IiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiwgImRlc2NyaXB0aW9uIjogIkZyYW1lIGlkLiIgfQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlcXVl
c3RzIGRhdGFiYXNlIG5hbWVzIGZvciBnaXZlbiBmcmFtZSdzIHNlY3VyaXR5IG9yaWdpbi4iCiAg
ICAgICAgICAgICB9CkBAIC05NjYsNyArOTY2LDggQEAKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJkYXRhYmFzZU5hbWVzTG9hZGVkIiwKICAgICAgICAgICAgICAgICAi
cGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZVdpdGhE
YXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAiRnJhbWVXaXRoRGF0YWJhc2VOYW1lcyIsICJkZXNjcmlw
dGlvbiI6ICJGcmFtZSB3aXRoIGRhdGFiYXNlIG5hbWVzLiIgfQorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6
ICJSZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzZWN1cml0
eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAiU2VjdXJpdHlPcmlnaW5XaXRoRGF0
YWJhc2VOYW1lcyIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSB3aXRoIGRhdGFiYXNlIG5hbWVzLiIg
fQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAgICAgXQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKaW5k
ZXggYmMyOWY0YjUyNThiNzQzOTVjYmM0ZmYyZDIzNWFiMmVlYTBjYjFjZC4uZTcwNWZmOGU5YWQx
MDIzNDNiY2E3MDA1Y2M1YTY2N2ZlMTllM2NmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCkBAIC01Miw3ICs1Miw3IEBA
CiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLXVzaW5nIFdlYkNvcmU6OlR5cGVCdWlsZGVy
OjpJbmRleGVkREI6OkZyYW1lV2l0aERhdGFiYXNlTmFtZXM7Cit1c2luZyBXZWJDb3JlOjpUeXBl
QnVpbGRlcjo6SW5kZXhlZERCOjpTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTk2LDkgKzk2LDkgQEAgcHVibGljOgogCiBjbGFzcyBH
ZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2sgOiBwdWJsaWMgSW5zcGVjdG9ySURCQ2FsbGJhY2sgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdldERhdGFiYXNlTmFtZXNDYWxsYmFjaz4g
Y3JlYXRlKFBhc3NSZWZQdHI8SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OkZyb250ZW5kUHJvdmlk
ZXI+IGZyb250ZW5kUHJvdmlkZXIsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5n
JiBzZWN1cml0eU9yaWdpbikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxHZXREYXRhYmFzZU5hbWVz
Q2FsbGJhY2s+IGNyZWF0ZShQYXNzUmVmUHRyPEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpGcm9u
dGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJp
bmcmIHNlY3VyaXR5T3JpZ2luKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBH
ZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soZnJvbnRlbmRQcm92aWRlciwgZnJhbWVJZCwgc2VjdXJp
dHlPcmlnaW4pKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZXREYXRhYmFzZU5hbWVz
Q2FsbGJhY2soZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCBzZWN1cml0eU9yaWdpbikpOwog
ICAgIH0KIAogICAgIHZpcnR1YWwgfkdldERhdGFiYXNlTmFtZXNDYWxsYmFjaygpIHsgfQpAQCAt
MTEyLDIxICsxMTIsMjAgQEAgcHVibGljOgogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGRhdGFiYXNlTmFtZXNMaXN0LT5sZW5ndGgoKTsgKytpKQogICAgICAgICAgICAgZGF0YWJhc2VO
YW1lcy0+cHVzaFN0cmluZyhkYXRhYmFzZU5hbWVzTGlzdC0+aXRlbShpKSk7CiAKLSAgICAgICAg
UmVmUHRyPEZyYW1lV2l0aERhdGFiYXNlTmFtZXM+IHJlc3VsdCA9IEZyYW1lV2l0aERhdGFiYXNl
TmFtZXM6OmNyZWF0ZSgpCi0gICAgICAgICAgICAuc2V0RnJhbWVJZChtX2ZyYW1lSWQpCisgICAg
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzPiByZXN1bHQgPSBTZWN1
cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzOjpjcmVhdGUoKQogICAgICAgICAgICAgLnNldFNl
Y3VyaXR5T3JpZ2luKG1fc2VjdXJpdHlPcmlnaW4pCiAgICAgICAgICAgICAuc2V0RGF0YWJhc2VO
YW1lcyhkYXRhYmFzZU5hbWVzKTsKIAotICAgICAgICBtX2Zyb250ZW5kUHJvdmlkZXItPmZyb250
ZW5kKCktPmRhdGFiYXNlTmFtZXNMb2FkZWQocmVzdWx0KTsKKyAgICAgICAgbV9mcm9udGVuZFBy
b3ZpZGVyLT5mcm9udGVuZCgpLT5kYXRhYmFzZU5hbWVzTG9hZGVkKG1fcmVxdWVzdElkLCByZXN1
bHQpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soUGFz
c1JlZlB0cjxJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6RnJvbnRlbmRQcm92aWRlcj4gZnJvbnRl
bmRQcm92aWRlciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5
T3JpZ2luKQorICAgIEdldERhdGFiYXNlTmFtZXNDYWxsYmFjayhQYXNzUmVmUHRyPEluc3BlY3Rv
ckluZGV4ZWREQkFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQg
cmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luKQogICAgICAgICA6IG1fZnJv
bnRlbmRQcm92aWRlcihmcm9udGVuZFByb3ZpZGVyKQotICAgICAgICAsIG1fZnJhbWVJZChmcmFt
ZUlkKQorICAgICAgICAsIG1fcmVxdWVzdElkKHJlcXVlc3RJZCkKICAgICAgICAgLCBtX3NlY3Vy
aXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKSB7IH0KICAgICBSZWZQdHI8SW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IG1fZnJvbnRlbmRQcm92aWRlcjsKLSAgICBTdHJp
bmcgbV9mcmFtZUlkOworICAgIGludCBtX3JlcXVlc3RJZDsKICAgICBTdHJpbmcgbV9zZWN1cml0
eU9yaWdpbjsKIH07CiAKQEAgLTE3Miw3ICsxNzEsNyBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWRE
QkFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBtX3N0YXRlLT5zZXRCb29sZWFuKElu
ZGV4ZWREQkFnZW50U3RhdGU6OmluZGV4ZWREQkFnZW50RW5hYmxlZCwgZmFsc2UpOwogfQogCi12
b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpyZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1l
KEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkKQordm9pZCBJbnNwZWN0
b3JJbmRleGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShFcnJvclN0cmlu
ZyogZXJyb3IsIGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCkKIHsKICAgICBG
cmFtZSogZnJhbWUgPSBtX3BhZ2VBZ2VudC0+ZnJhbWVGb3JJZChmcmFtZUlkKTsKICAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBmcmFtZSA/IGZyYW1lLT5kb2N1bWVudCgpIDogMDsKQEAgLTE4NCw3
ICsxODMsNyBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpyZXF1ZXN0RGF0YWJhc2VO
YW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiBlcnJvciwgYwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUmVmUHRyPEdldERhdGFiYXNlTmFtZXNDYWxsYmFjaz4gY2FsbGJhY2sgPSBHZXRE
YXRhYmFzZU5hbWVzQ2FsbGJhY2s6OmNyZWF0ZShtX2Zyb250ZW5kUHJvdmlkZXIsIGZyYW1lSWQs
IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKTsKKyAgICBSZWZQdHI8R2V0
RGF0YWJhc2VOYW1lc0NhbGxiYWNrPiBjYWxsYmFjayA9IEdldERhdGFiYXNlTmFtZXNDYWxsYmFj
azo6Y3JlYXRlKG1fZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCBkb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgR3JvdXBTZXR0aW5ncyogZ3JvdXBTZXR0aW5n
cyA9IGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuZ3JvdXBTZXR0aW5ncygpOwogICAgIGlkYkJh
Y2tlbmQtPmdldERhdGFiYXNlTmFtZXMoY2FsbGJhY2suZ2V0KCksIGRvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpLCBkb2N1bWVudC0+ZnJhbWUoKSwgZ3JvdXBTZXR0aW5ncy0+aW5kZXhlZERCRGF0
YWJhc2VQYXRoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckluZGV4ZWREQkFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5kZXhlZERCQWdlbnQuaAppbmRleCA5M2Q2NDQ4OTZhZTgwNjU0NDcyMzE1NWFhMDZmMDM4
YWYxNzcwN2M3Li5kN2Y2NDY0Y2IwMTIyNmNlZWQ1YjRhNDAzNDg2ZWE5YWVkNmRjOTEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQu
aApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250
LWVuZC4KICAgICB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOwogICAgIHZvaWQgZGlzYWJsZShF
cnJvclN0cmluZyopOwotICAgIHZvaWQgcmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShFcnJv
clN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CisgICAgdm9pZCByZXF1ZXN0RGF0YWJh
c2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5n
JiBmcmFtZUlkKTsKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERC
TW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luZGV4ZWREQk1v
ZGVsLmpzCmluZGV4IDFmZGEyYWEzYWVlZjg1YmUwMzg4ZDA3Yjk5NDdhNzZmNTc4OWE0MmIuLmEw
NzRmN2I4MzgzNjdiZjdiMGY2MjgzYjY3MzJjMGYwZDc5YWZmODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCTW9kZWwuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJNb2RlbC5qcwpAQCAtMzQs
OCArMzQsNyBAQAogICovCiBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwgPSBmdW5jdGlvbigp
CiB7Ci0gICAgSW5kZXhlZERCQWdlbnQuZW5hYmxlKCk7Ci0gICAgSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckluZGV4ZWREQkRpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJEaXNw
YXRjaGVyKHRoaXMpKTsKKyAgICB0aGlzLl9pbmRleGVkREJBZ2VudCA9IG5ldyBXZWJJbnNwZWN0
b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyOwogICAgIAogICAgIFdlYkluc3BlY3Rvci5yZXNvdXJj
ZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2Rl
bC5FdmVudFR5cGVzLkZyYW1lTmF2aWdhdGVkLCB0aGlzLl9mcmFtZU5hdmlnYXRlZCwgdGhpcyk7
CiAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRnJhbWVEZXRhY2hlZCwgdGhp
cy5fZnJhbWVEZXRhY2hlZCwgdGhpcyk7CkBAIC04MCw2ICs3OSw3IEBAIFdlYkluc3BlY3Rvci5J
bmRleGVkREJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgcmVzb3VyY2VU
cmVlRnJhbWUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFtZX0gKi8g
ZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fb3JpZ2luUmVtb3ZlZEZyb21GcmFtZShyZXNvdXJj
ZVRyZWVGcmFtZS5pZCk7CisgICAgICAgIHRoaXMuX2luZGV4ZWREQkFnZW50Ll9mcmFtZURldGFj
aGVkKHJlc291cmNlVHJlZUZyYW1lLmlkKTsKICAgICB9LAogCiAgICAgX3Jlc2V0OiBmdW5jdGlv
bigpCkBAIC04Nyw2ICs4Nyw3IEBAIFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX3NlY3VyaXR5T3JpZ2luQnlGcmFtZUlkID0ge307CiAgICAg
ICAgIHRoaXMuX2ZyYW1lSWRzQnlTZWN1cml0eU9yaWdpbiA9IHt9OwogICAgICAgICB0aGlzLl9k
YXRhYmFzZU5hbWVzQnlTZWN1cml0eU9yaWdpbiA9IHt9OworICAgICAgICB0aGlzLl9pbmRleGVk
REJBZ2VudC5fcmVzZXQoKTsKICAgICAgICAgLy8gRklYTUU6IGRpc3BhdGNoIGV2ZW50cz8KICAg
ICB9LAogICAgIApAQCAtMjAyLDU2ICsyMDMsMTMwIEBAIFdlYkluc3BlY3Rvci5JbmRleGVkREJN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7SW5k
ZXhlZERCQWdlbnQuRnJhbWVXaXRoRGF0YWJhc2VOYW1lc30gZnJhbWVXaXRoRGF0YWJhc2VOYW1l
cworICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmcmFtZUlkCiAgICAgICovCi0gICAgX2RhdGFiYXNl
TmFtZXNMb2FkZWQ6IGZ1bmN0aW9uKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMpCisgICAgX2xvYWRE
YXRhYmFzZU5hbWVzRm9yRnJhbWU6IGZ1bmN0aW9uKGZyYW1lSWQpCiAgICAgewotICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGltcGxlbWVudCBldmVudHMgb3JkZXIsIHNvIHRoYXQgd2UgY291
bGQgbm90IHVwZGF0ZSBkYXRhYmFzZU5hbWVzIGZvciBhIGZyYW1lIHRoYXQgd2FzIGFscmVhZHkg
ZGV0YWNoZWQuCi0gICAgICAgIAotICAgICAgICB2YXIgZGF0YWJhc2VOYW1lcyA9IGZyYW1lV2l0
aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VOYW1lczsKLSAgICAgICAgdmFyIG9sZFNlY3VyaXR5T3Jp
Z2luID0gdGhpcy5fc2VjdXJpdHlPcmlnaW5CeUZyYW1lSWRbZnJhbWVXaXRoRGF0YWJhc2VOYW1l
cy5mcmFtZUlkXTsKLSAgICAgICAgaWYgKG9sZFNlY3VyaXR5T3JpZ2luICYmIG9sZFNlY3VyaXR5
T3JpZ2luID09PSBmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2luKQotICAgICAg
ICAgICAgdGhpcy5fdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyhmcmFtZVdpdGhEYXRhYmFzZU5h
bWVzLnNlY3VyaXR5T3JpZ2luLCBmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmRhdGFiYXNlTmFtZXMp
OwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHRoaXMuX29yaWdpblJlbW92ZWRGcm9tRnJh
bWUoZnJhbWVXaXRoRGF0YWJhc2VOYW1lcy5mcmFtZUlkKTsKLSAgICAgICAgICAgIHRoaXMuX29y
aWdpbkFkZGVkVG9GcmFtZShmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmZyYW1lSWQsIGZyYW1lV2l0
aERhdGFiYXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pOwotICAgICAgICAgICAgdGhpcy5fdXBkYXRl
T3JpZ2luRGF0YWJhc2VOYW1lcyhmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2lu
LCBmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmRhdGFiYXNlTmFtZXMpOworICAgICAgICAvKioKKyAg
ICAgICAgICogQHBhcmFtIHtJbmRleGVkREJBZ2VudC5TZWN1cml0eU9yaWdpbldpdGhEYXRhYmFz
ZU5hbWVzfSBzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzCisgICAgICAgICAqLworICAg
ICAgICBmdW5jdGlvbiBjYWxsYmFjayhzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzKQor
ICAgICAgICB7CisgICAgICAgICAgICB2YXIgZGF0YWJhc2VOYW1lcyA9IHNlY3VyaXR5T3JpZ2lu
V2l0aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VOYW1lczsKKyAgICAgICAgICAgIHZhciBvbGRTZWN1
cml0eU9yaWdpbiA9IHRoaXMuX3NlY3VyaXR5T3JpZ2luQnlGcmFtZUlkW2ZyYW1lSWRdOworICAg
ICAgICAgICAgaWYgKG9sZFNlY3VyaXR5T3JpZ2luICYmIG9sZFNlY3VyaXR5T3JpZ2luID09PSBz
ZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2luKQorICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZU9yaWdpbkRhdGFiYXNlTmFtZXMoc2VjdXJpdHlPcmlnaW5XaXRo
RGF0YWJhc2VOYW1lcy5zZWN1cml0eU9yaWdpbiwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VO
YW1lcy5kYXRhYmFzZU5hbWVzKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAg
IHRoaXMuX29yaWdpblJlbW92ZWRGcm9tRnJhbWUoZnJhbWVJZCk7CisgICAgICAgICAgICAgICAg
dGhpcy5fb3JpZ2luQWRkZWRUb0ZyYW1lKGZyYW1lSWQsIHNlY3VyaXR5T3JpZ2luV2l0aERhdGFi
YXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pOworICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU9y
aWdpbkRhdGFiYXNlTmFtZXMoc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcy5zZWN1cml0
eU9yaWdpbiwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcy5kYXRhYmFzZU5hbWVzKTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0sCiAKLSAgICBfbG9hZERhdGFiYXNlTmFt
ZXNGb3JGcmFtZTogZnVuY3Rpb24oZnJhbWVJZCkKKyAgICAgICAgdGhpcy5faW5kZXhlZERCQWdl
bnQucmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShmcmFtZUlkLCBjYWxsYmFjayk7CisgICAg
fQorfQorCitXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworCisvKioKKyAqIEBjb25zdHJ1Y3Rvcgor
ICovCitXZWJJbnNwZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyID0gZnVuY3Rpb24oKQorewor
ICAgIHRoaXMuX2xhc3RSZXF1ZXN0SWQgPSAwOworICAgIHRoaXMuX3JlcXVlc3REYXRhYmFzZU5h
bWVzRm9yRnJhbWVDYWxsYmFja3MgPSB7fTsKKworICAgIEluZGV4ZWREQkFnZW50LmVuYWJsZSgp
OworICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJJbmRleGVkREJEaXNwYXRjaGVyKG5ldyBX
ZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcih0aGlzKSk7Cit9CisKK1dlYkluc3BlY3Rv
ci5JbmRleGVkREJBZ2VudFdyYXBwZXIucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBw
YXJhbSB7c3RyaW5nfSBmcmFtZUlkCisgICAgICogQHBhcmFtIHtmdW5jdGlvbihJbmRleGVkREJB
Z2VudC5TZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzKX0gY2FsbGJhY2sKKyAgICAgKi8K
KyAgICByZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lOiBmdW5jdGlvbihmcmFtZUlkLCBjYWxs
YmFjaykKICAgICB7Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQorICAgICAgICB2
YXIgcmVxdWVzdElkID0gdGhpcy5fcmVxdWVzdElkKCk7CisgICAgICAgIHZhciByZXF1ZXN0ID0g
bmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJBZ2VudFdyYXBwZXIuRGF0YWJhc2VzRm9yRnJhbWVS
ZXF1ZXN0KGZyYW1lSWQsIGNhbGxiYWNrKTsKKyAgICAgICAgdGhpcy5fcmVxdWVzdERhdGFiYXNl
TmFtZXNGb3JGcmFtZUNhbGxiYWNrc1tyZXF1ZXN0SWRdID0gY2FsbGJhY2s7IAorCisgICAgICAg
IGZ1bmN0aW9uIGlubmVyQ2FsbGJhY2soZXJyb3IpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
IChlcnJvcikgewogICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkluZGV4ZWREQkFnZW50
IGVycm9yOiAiICsgZXJyb3IpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQorCisgICAgICAgIEluZGV4ZWREQkFnZW50LnJlcXVlc3REYXRhYmFzZU5h
bWVzRm9yRnJhbWUocmVxdWVzdElkLCBmcmFtZUlkLCBpbm5lckNhbGxiYWNrKTsKKyAgICB9LAor
ICAgIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSByZXF1ZXN0SWQKKyAgICAgKiBA
cGFyYW0ge0luZGV4ZWREQkFnZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXN9IHNl
Y3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMKKyAgICAgKi8KKyAgICBfZGF0YWJhc2VOYW1l
c0xvYWRlZDogZnVuY3Rpb24ocmVxdWVzdElkLCBzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5h
bWVzKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSB0aGlzLl9yZXF1ZXN0RGF0YWJhc2VO
YW1lc0ZvckZyYW1lQ2FsbGJhY2tzW3JlcXVlc3RJZF07CisgICAgICAgIGlmICghcmVxdWVzdC5j
YWxsYmFjaykKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgICAgIEluZGV4ZWRE
QkFnZW50LnJlcXVlc3REYXRhYmFzZU5hbWVzRm9yRnJhbWUoZnJhbWVJZCwgY2FsbGJhY2spOwor
ICAgICAgICByZXF1ZXN0LmNhbGxiYWNrKHNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMp
OworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CisgICAgICovCisg
ICAgX3JlcXVlc3RJZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuICsrdGhpcy5f
bGFzdFJlcXVlc3RJZDsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9
IGZyYW1lSWQKKyAgICAgKi8KKyAgICBfZnJhbWVEZXRhY2hlZDogZnVuY3Rpb24oZnJhbWVJZCkK
KyAgICB7CisgICAgICAgIGZvciAodmFyIHJlcXVlc3RJZCBpbiB0aGlzLl9yZXF1ZXN0RGF0YWJh
c2VOYW1lc0ZvckZyYW1lQ2FsbGJhY2tzKSB7CisgICAgICAgICAgICBpZiAodGhpcy5fcmVxdWVz
dERhdGFiYXNlTmFtZXNGb3JGcmFtZUNhbGxiYWNrc1tyZXF1ZXN0SWRdLmZyYW1lSWQgPT09IGZy
YW1lSWQpCisgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3JlcXVlc3REYXRhYmFzZU5hbWVz
Rm9yRnJhbWVDYWxsYmFja3NbcmVxdWVzdElkXTsKKyAgICAgICAgfQorICAgIH0sCisKKyAgICBf
cmVzZXQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX3JlcXVlc3REYXRhYmFzZU5h
bWVzRm9yRnJhbWVDYWxsYmFja3MgPSB7fTsKICAgICB9CiB9CiAKLVdlYkluc3BlY3Rvci5JbmRl
eGVkREJNb2RlbC5wcm90b3R5cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90
b3R5cGU7CisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICovCitXZWJJbnNwZWN0b3IuSW5kZXhlZERC
QWdlbnRXcmFwcGVyLkRhdGFiYXNlc0ZvckZyYW1lUmVxdWVzdCA9IGZ1bmN0aW9uKGZyYW1lSWQs
IGNhbGxiYWNrKQoreworICAgIHRoaXMuZnJhbWVJZCA9IGZyYW1lSWQ7CisgICAgdGhpcy5jYWxs
YmFjayA9IGNhbGxiYWNrOworfQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQGltcGxlbWVu
dHMge0luZGV4ZWREQkFnZW50LkRpc3BhdGNoZXJ9CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5J
bmRleGVkREJBZ2VudFdyYXBwZXJ9IGluZGV4ZWREQkFnZW50V3JhcHBlcgogICovCi1XZWJJbnNw
ZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlciA9IGZ1bmN0aW9uKGluZGV4ZWREQk1vZGVsKQorV2Vi
SW5zcGVjdG9yLkluZGV4ZWREQkRpc3BhdGNoZXIgPSBmdW5jdGlvbihpbmRleGVkREJBZ2VudFdy
YXBwZXIpCiB7Ci0gICAgdGhpcy5faW5kZXhlZERCTW9kZWwgPSBpbmRleGVkREJNb2RlbDsKKyAg
ICB0aGlzLl9hZ2VudFdyYXBwZXIgPSBpbmRleGVkREJBZ2VudFdyYXBwZXI7CiB9CiAKLVdlYklu
c3BlY3Rvci5JbmRleGVkREJEaXNwYXRjaGVyLl9jYWxsYmFja3MgPSB7fTsKLQogV2ViSW5zcGVj
dG9yLkluZGV4ZWREQkRpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgIC8qKgotICAgICAqIEBw
YXJhbSB7SW5kZXhlZERCQWdlbnQuRnJhbWVXaXRoRGF0YWJhc2VOYW1lc30gZnJhbWVXaXRoRGF0
YWJhc2VOYW1lcworICAgICAqIEBwYXJhbSB7bnVtYmVyfSByZXF1ZXN0SWQKKyAgICAgKiBAcGFy
YW0ge0luZGV4ZWREQkFnZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXN9IHNlY3Vy
aXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMKICAgICAgKi8KLSAgICBkYXRhYmFzZU5hbWVzTG9h
ZGVkOiBmdW5jdGlvbihmcmFtZVdpdGhEYXRhYmFzZU5hbWVzKQorICAgIGRhdGFiYXNlTmFtZXNM
b2FkZWQ6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1l
cykKICAgICB7Ci0gICAgICAgIHRoaXMuX2luZGV4ZWREQk1vZGVsLl9kYXRhYmFzZU5hbWVzTG9h
ZGVkKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMpOworICAgICAgICB0aGlzLl9hZ2VudFdyYXBwZXIu
X2RhdGFiYXNlTmFtZXNMb2FkZWQocmVxdWVzdElkLCBzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFz
ZU5hbWVzKTsKICAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123554</attachid>
            <date>2012-01-23 06:54:05 -0800</date>
            <delta_ts>2012-01-23 06:58:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76705-20120123185402.patch</filename>
            <type>text/plain</type>
            <size>15761</size>
            <attacher name="Vsevolod Vlasov">vsevik</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTllYzMwODljN2M4NmIx
OGEyMmIwY2ZlYjRmYmE4MTI2YWU5ZTU3My4uZDE0ZDc3NDg5N2Q5MmI0MzIwZjE0OGFjNTVmYTdm
NWI0YjllMmZhMyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAxLTIzICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEluZGV4ZWREQk1vZGVsIHNob3VsZCBrZWVwIHRyYWNrIG9mIHJlcXVlc3RzIHNlbnQgdG8g
dGhlIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjcwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JJbmRleGVkREJBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbmRl
eGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9JbmRleGVkREJNb2RlbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVk
REJNb2RlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBl
Ll9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX3Jlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5w
cm90b3R5cGUuX2xvYWREYXRhYmFzZU5hbWVzRm9yRnJhbWUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkluZGV4ZWREQkFnZW50V3JhcHBlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhl
ZERCQWdlbnRXcmFwcGVyLnByb3RvdHlwZS5yZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lLmlu
bmVyQ2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkluZGV4ZWREQkFnZW50V3JhcHBl
ci5wcm90b3R5cGUucmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyLnByb3RvdHlwZS5fZGF0YWJhc2VOYW1lc0xv
YWRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyLnByb3Rv
dHlwZS5fcmVxdWVzdElkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbmRleGVkREJBZ2VudFdy
YXBwZXIucHJvdG90eXBlLl9mcmFtZURldGFjaGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5J
bmRleGVkREJBZ2VudFdyYXBwZXIucHJvdG90eXBlLl9yZXNldCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyLkRhdGFiYXNlc0ZvckZyYW1lUmVxdWVzdCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5wcm90b3R5cGUuZGF0YWJhc2VOYW1lc0xvYWRl
ZCk6CisKIDIwMTItMDEtMjAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjk4ODUyKTogYXBwbGUuY29tIG5hdmlnYXRpb24g
YmFyIGlzIGJyb2tlbiB1bmRlciBmdWxsLXBhZ2Ugem9vbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IDhjMzllOWRjMTk0MGE3YjYzOTRmMDE2NzRiMjJjMzU5ZTg5
MWJkYTguLjAxYzNlZjk2MjVjMmRiM2FlMmU1YmM3OGU4YmQyYmQxMzgwMDM4ZTggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTkzNSwxMSArOTM1LDEwIEBACiAg
ICAgICAgICJoaWRkZW4iOiB0cnVlLAogICAgICAgICAidHlwZXMiOiBbCiAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgImlkIjogIkZyYW1lV2l0aERhdGFiYXNlTmFtZXMiLAorICAgICAg
ICAgICAgICAgICJpZCI6ICJTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzIiwKICAgICAg
ICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJPcmlnaW4gd2l0aCBkYXRhYmFzZSBuYW1lcyBhbmQgZnJhbWUgaWRzLiIsCisgICAgICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNlY3VyaXR5IG9yaWdpbiB3aXRoIGRhdGFiYXNlIG5h
bWVzLiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIkcmVmIjogIk5ldHdvcmsuRnJhbWVJZCIsICJkZXNj
cmlwdGlvbiI6ICJGcmFtZSBpZC4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
c2VjdXJpdHlPcmlnaW4iLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU2VjdXJp
dHkgb3JpZ2luLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkYXRhYmFzZU5h
bWVzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICJ0eXBlIjogInN0cmluZyIgfSwgImRl
c2NyaXB0aW9uIjogIkRhdGFiYXNlIG5hbWVzIGZvciB0aGlzIG9yaWdpbi4iIH0KICAgICAgICAg
ICAgICAgICBdCkBAIC05NTcsNyArOTU2LDggQEAKICAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICAgICAibmFtZSI6ICJyZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lIiwKICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFt
ZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiB9CisgICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJS
ZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZUlkIiwg
IiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiwgImRlc2NyaXB0aW9uIjogIkZyYW1lIGlkLiIgfQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlcXVl
c3RzIGRhdGFiYXNlIG5hbWVzIGZvciBnaXZlbiBmcmFtZSdzIHNlY3VyaXR5IG9yaWdpbi4iCiAg
ICAgICAgICAgICB9CkBAIC05NjYsNyArOTY2LDggQEAKICAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJkYXRhYmFzZU5hbWVzTG9hZGVkIiwKICAgICAgICAgICAgICAgICAi
cGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJmcmFtZVdpdGhE
YXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAiRnJhbWVXaXRoRGF0YWJhc2VOYW1lcyIsICJkZXNjcmlw
dGlvbiI6ICJGcmFtZSB3aXRoIGRhdGFiYXNlIG5hbWVzLiIgfQorICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInJlcXVlc3RJZCIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6
ICJSZXF1ZXN0IGlkLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzZWN1cml0
eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzIiwgIiRyZWYiOiAiU2VjdXJpdHlPcmlnaW5XaXRoRGF0
YWJhc2VOYW1lcyIsICJkZXNjcmlwdGlvbiI6ICJGcmFtZSB3aXRoIGRhdGFiYXNlIG5hbWVzLiIg
fQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAgICAgXQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKaW5k
ZXggYmMyOWY0YjUyNThiNzQzOTVjYmM0ZmYyZDIzNWFiMmVlYTBjYjFjZC4uZTcwNWZmOGU5YWQx
MDIzNDNiY2E3MDA1Y2M1YTY2N2ZlMTllM2NmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCkBAIC01Miw3ICs1Miw3IEBA
CiAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKLXVzaW5nIFdlYkNvcmU6OlR5cGVCdWlsZGVy
OjpJbmRleGVkREI6OkZyYW1lV2l0aERhdGFiYXNlTmFtZXM7Cit1c2luZyBXZWJDb3JlOjpUeXBl
QnVpbGRlcjo6SW5kZXhlZERCOjpTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzOwogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTk2LDkgKzk2LDkgQEAgcHVibGljOgogCiBjbGFzcyBH
ZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2sgOiBwdWJsaWMgSW5zcGVjdG9ySURCQ2FsbGJhY2sgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEdldERhdGFiYXNlTmFtZXNDYWxsYmFjaz4g
Y3JlYXRlKFBhc3NSZWZQdHI8SW5zcGVjdG9ySW5kZXhlZERCQWdlbnQ6OkZyb250ZW5kUHJvdmlk
ZXI+IGZyb250ZW5kUHJvdmlkZXIsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5n
JiBzZWN1cml0eU9yaWdpbikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxHZXREYXRhYmFzZU5hbWVz
Q2FsbGJhY2s+IGNyZWF0ZShQYXNzUmVmUHRyPEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpGcm9u
dGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQgcmVxdWVzdElkLCBjb25zdCBTdHJp
bmcmIHNlY3VyaXR5T3JpZ2luKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBH
ZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soZnJvbnRlbmRQcm92aWRlciwgZnJhbWVJZCwgc2VjdXJp
dHlPcmlnaW4pKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBHZXREYXRhYmFzZU5hbWVz
Q2FsbGJhY2soZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCBzZWN1cml0eU9yaWdpbikpOwog
ICAgIH0KIAogICAgIHZpcnR1YWwgfkdldERhdGFiYXNlTmFtZXNDYWxsYmFjaygpIHsgfQpAQCAt
MTEyLDIxICsxMTIsMjAgQEAgcHVibGljOgogICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGRhdGFiYXNlTmFtZXNMaXN0LT5sZW5ndGgoKTsgKytpKQogICAgICAgICAgICAgZGF0YWJhc2VO
YW1lcy0+cHVzaFN0cmluZyhkYXRhYmFzZU5hbWVzTGlzdC0+aXRlbShpKSk7CiAKLSAgICAgICAg
UmVmUHRyPEZyYW1lV2l0aERhdGFiYXNlTmFtZXM+IHJlc3VsdCA9IEZyYW1lV2l0aERhdGFiYXNl
TmFtZXM6OmNyZWF0ZSgpCi0gICAgICAgICAgICAuc2V0RnJhbWVJZChtX2ZyYW1lSWQpCisgICAg
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzPiByZXN1bHQgPSBTZWN1
cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzOjpjcmVhdGUoKQogICAgICAgICAgICAgLnNldFNl
Y3VyaXR5T3JpZ2luKG1fc2VjdXJpdHlPcmlnaW4pCiAgICAgICAgICAgICAuc2V0RGF0YWJhc2VO
YW1lcyhkYXRhYmFzZU5hbWVzKTsKIAotICAgICAgICBtX2Zyb250ZW5kUHJvdmlkZXItPmZyb250
ZW5kKCktPmRhdGFiYXNlTmFtZXNMb2FkZWQocmVzdWx0KTsKKyAgICAgICAgbV9mcm9udGVuZFBy
b3ZpZGVyLT5mcm9udGVuZCgpLT5kYXRhYmFzZU5hbWVzTG9hZGVkKG1fcmVxdWVzdElkLCByZXN1
bHQpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBHZXREYXRhYmFzZU5hbWVzQ2FsbGJhY2soUGFz
c1JlZlB0cjxJbnNwZWN0b3JJbmRleGVkREJBZ2VudDo6RnJvbnRlbmRQcm92aWRlcj4gZnJvbnRl
bmRQcm92aWRlciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5
T3JpZ2luKQorICAgIEdldERhdGFiYXNlTmFtZXNDYWxsYmFjayhQYXNzUmVmUHRyPEluc3BlY3Rv
ckluZGV4ZWREQkFnZW50OjpGcm9udGVuZFByb3ZpZGVyPiBmcm9udGVuZFByb3ZpZGVyLCBpbnQg
cmVxdWVzdElkLCBjb25zdCBTdHJpbmcmIHNlY3VyaXR5T3JpZ2luKQogICAgICAgICA6IG1fZnJv
bnRlbmRQcm92aWRlcihmcm9udGVuZFByb3ZpZGVyKQotICAgICAgICAsIG1fZnJhbWVJZChmcmFt
ZUlkKQorICAgICAgICAsIG1fcmVxdWVzdElkKHJlcXVlc3RJZCkKICAgICAgICAgLCBtX3NlY3Vy
aXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKSB7IH0KICAgICBSZWZQdHI8SW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQ6OkZyb250ZW5kUHJvdmlkZXI+IG1fZnJvbnRlbmRQcm92aWRlcjsKLSAgICBTdHJp
bmcgbV9mcmFtZUlkOworICAgIGludCBtX3JlcXVlc3RJZDsKICAgICBTdHJpbmcgbV9zZWN1cml0
eU9yaWdpbjsKIH07CiAKQEAgLTE3Miw3ICsxNzEsNyBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWRE
QkFnZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nKikKICAgICBtX3N0YXRlLT5zZXRCb29sZWFuKElu
ZGV4ZWREQkFnZW50U3RhdGU6OmluZGV4ZWREQkFnZW50RW5hYmxlZCwgZmFsc2UpOwogfQogCi12
b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpyZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1l
KEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgU3RyaW5nJiBmcmFtZUlkKQordm9pZCBJbnNwZWN0
b3JJbmRleGVkREJBZ2VudDo6cmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShFcnJvclN0cmlu
ZyogZXJyb3IsIGludCByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCkKIHsKICAgICBG
cmFtZSogZnJhbWUgPSBtX3BhZ2VBZ2VudC0+ZnJhbWVGb3JJZChmcmFtZUlkKTsKICAgICBEb2N1
bWVudCogZG9jdW1lbnQgPSBmcmFtZSA/IGZyYW1lLT5kb2N1bWVudCgpIDogMDsKQEAgLTE4NCw3
ICsxODMsNyBAQCB2b2lkIEluc3BlY3RvckluZGV4ZWREQkFnZW50OjpyZXF1ZXN0RGF0YWJhc2VO
YW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiBlcnJvciwgYwogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUmVmUHRyPEdldERhdGFiYXNlTmFtZXNDYWxsYmFjaz4gY2FsbGJhY2sgPSBHZXRE
YXRhYmFzZU5hbWVzQ2FsbGJhY2s6OmNyZWF0ZShtX2Zyb250ZW5kUHJvdmlkZXIsIGZyYW1lSWQs
IGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT50b1N0cmluZygpKTsKKyAgICBSZWZQdHI8R2V0
RGF0YWJhc2VOYW1lc0NhbGxiYWNrPiBjYWxsYmFjayA9IEdldERhdGFiYXNlTmFtZXNDYWxsYmFj
azo6Y3JlYXRlKG1fZnJvbnRlbmRQcm92aWRlciwgcmVxdWVzdElkLCBkb2N1bWVudC0+c2VjdXJp
dHlPcmlnaW4oKS0+dG9TdHJpbmcoKSk7CiAgICAgR3JvdXBTZXR0aW5ncyogZ3JvdXBTZXR0aW5n
cyA9IGRvY3VtZW50LT5wYWdlKCktPmdyb3VwKCkuZ3JvdXBTZXR0aW5ncygpOwogICAgIGlkYkJh
Y2tlbmQtPmdldERhdGFiYXNlTmFtZXMoY2FsbGJhY2suZ2V0KCksIGRvY3VtZW50LT5zZWN1cml0
eU9yaWdpbigpLCBkb2N1bWVudC0+ZnJhbWUoKSwgZ3JvdXBTZXR0aW5ncy0+aW5kZXhlZERCRGF0
YWJhc2VQYXRoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckluZGV4ZWREQkFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5kZXhlZERCQWdlbnQuaAppbmRleCA5M2Q2NDQ4OTZhZTgwNjU0NDcyMzE1NWFhMDZmMDM4
YWYxNzcwN2M3Li5kN2Y2NDY0Y2IwMTIyNmNlZWQ1YjRhNDAzNDg2ZWE5YWVkNmRjOTEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQu
aApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgLy8gQ2FsbGVkIGZyb20gdGhlIGZyb250
LWVuZC4KICAgICB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOwogICAgIHZvaWQgZGlzYWJsZShF
cnJvclN0cmluZyopOwotICAgIHZvaWQgcmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShFcnJv
clN0cmluZyosIGNvbnN0IFN0cmluZyYgZnJhbWVJZCk7CisgICAgdm9pZCByZXF1ZXN0RGF0YWJh
c2VOYW1lc0ZvckZyYW1lKEVycm9yU3RyaW5nKiwgaW50IHJlcXVlc3RJZCwgY29uc3QgU3RyaW5n
JiBmcmFtZUlkKTsKIHByaXZhdGU6CiAgICAgSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQoSW5zdHJ1
bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgSW5zcGVjdG9yUGFnZUFnZW50Kik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERC
TW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luZGV4ZWREQk1v
ZGVsLmpzCmluZGV4IDFmZGEyYWEzYWVlZjg1YmUwMzg4ZDA3Yjk5NDdhNzZmNTc4OWE0MmIuLmRl
YWQzYmFkNmNmZmY5NGRmNTJjYWY0NmQ3MDY3Y2NhNjA5NWUwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5kZXhlZERCTW9kZWwuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbmRleGVkREJNb2RlbC5qcwpAQCAtMzQs
OCArMzQsNyBAQAogICovCiBXZWJJbnNwZWN0b3IuSW5kZXhlZERCTW9kZWwgPSBmdW5jdGlvbigp
CiB7Ci0gICAgSW5kZXhlZERCQWdlbnQuZW5hYmxlKCk7Ci0gICAgSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckluZGV4ZWREQkRpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJEaXNw
YXRjaGVyKHRoaXMpKTsKKyAgICB0aGlzLl9pbmRleGVkREJBZ2VudCA9IG5ldyBXZWJJbnNwZWN0
b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyOwogICAgIAogICAgIFdlYkluc3BlY3Rvci5yZXNvdXJj
ZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2Rl
bC5FdmVudFR5cGVzLkZyYW1lTmF2aWdhdGVkLCB0aGlzLl9mcmFtZU5hdmlnYXRlZCwgdGhpcyk7
CiAgICAgV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRnJhbWVEZXRhY2hlZCwgdGhp
cy5fZnJhbWVEZXRhY2hlZCwgdGhpcyk7CkBAIC04MCw2ICs3OSw3IEBAIFdlYkluc3BlY3Rvci5J
bmRleGVkREJNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgcmVzb3VyY2VU
cmVlRnJhbWUgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFtZX0gKi8g
ZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fb3JpZ2luUmVtb3ZlZEZyb21GcmFtZShyZXNvdXJj
ZVRyZWVGcmFtZS5pZCk7CisgICAgICAgIHRoaXMuX2luZGV4ZWREQkFnZW50Ll9mcmFtZURldGFj
aGVkKHJlc291cmNlVHJlZUZyYW1lLmlkKTsKICAgICB9LAogCiAgICAgX3Jlc2V0OiBmdW5jdGlv
bigpCkBAIC04Nyw2ICs4Nyw3IEBAIFdlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX3NlY3VyaXR5T3JpZ2luQnlGcmFtZUlkID0ge307CiAgICAg
ICAgIHRoaXMuX2ZyYW1lSWRzQnlTZWN1cml0eU9yaWdpbiA9IHt9OwogICAgICAgICB0aGlzLl9k
YXRhYmFzZU5hbWVzQnlTZWN1cml0eU9yaWdpbiA9IHt9OworICAgICAgICB0aGlzLl9pbmRleGVk
REJBZ2VudC5fcmVzZXQoKTsKICAgICAgICAgLy8gRklYTUU6IGRpc3BhdGNoIGV2ZW50cz8KICAg
ICB9LAogICAgIApAQCAtMjAyLDU2ICsyMDMsMTMwIEBAIFdlYkluc3BlY3Rvci5JbmRleGVkREJN
b2RlbC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7SW5k
ZXhlZERCQWdlbnQuRnJhbWVXaXRoRGF0YWJhc2VOYW1lc30gZnJhbWVXaXRoRGF0YWJhc2VOYW1l
cworICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmcmFtZUlkCiAgICAgICovCi0gICAgX2RhdGFiYXNl
TmFtZXNMb2FkZWQ6IGZ1bmN0aW9uKGZyYW1lV2l0aERhdGFiYXNlTmFtZXMpCisgICAgX2xvYWRE
YXRhYmFzZU5hbWVzRm9yRnJhbWU6IGZ1bmN0aW9uKGZyYW1lSWQpCiAgICAgewotICAgICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGltcGxlbWVudCBldmVudHMgb3JkZXIsIHNvIHRoYXQgd2UgY291
bGQgbm90IHVwZGF0ZSBkYXRhYmFzZU5hbWVzIGZvciBhIGZyYW1lIHRoYXQgd2FzIGFscmVhZHkg
ZGV0YWNoZWQuCi0gICAgICAgIAotICAgICAgICB2YXIgZGF0YWJhc2VOYW1lcyA9IGZyYW1lV2l0
aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VOYW1lczsKLSAgICAgICAgdmFyIG9sZFNlY3VyaXR5T3Jp
Z2luID0gdGhpcy5fc2VjdXJpdHlPcmlnaW5CeUZyYW1lSWRbZnJhbWVXaXRoRGF0YWJhc2VOYW1l
cy5mcmFtZUlkXTsKLSAgICAgICAgaWYgKG9sZFNlY3VyaXR5T3JpZ2luICYmIG9sZFNlY3VyaXR5
T3JpZ2luID09PSBmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2luKQotICAgICAg
ICAgICAgdGhpcy5fdXBkYXRlT3JpZ2luRGF0YWJhc2VOYW1lcyhmcmFtZVdpdGhEYXRhYmFzZU5h
bWVzLnNlY3VyaXR5T3JpZ2luLCBmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmRhdGFiYXNlTmFtZXMp
OwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHRoaXMuX29yaWdpblJlbW92ZWRGcm9tRnJh
bWUoZnJhbWVXaXRoRGF0YWJhc2VOYW1lcy5mcmFtZUlkKTsKLSAgICAgICAgICAgIHRoaXMuX29y
aWdpbkFkZGVkVG9GcmFtZShmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmZyYW1lSWQsIGZyYW1lV2l0
aERhdGFiYXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pOwotICAgICAgICAgICAgdGhpcy5fdXBkYXRl
T3JpZ2luRGF0YWJhc2VOYW1lcyhmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2lu
LCBmcmFtZVdpdGhEYXRhYmFzZU5hbWVzLmRhdGFiYXNlTmFtZXMpOworICAgICAgICAvKioKKyAg
ICAgICAgICogQHBhcmFtIHtJbmRleGVkREJBZ2VudC5TZWN1cml0eU9yaWdpbldpdGhEYXRhYmFz
ZU5hbWVzfSBzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzCisgICAgICAgICAqLworICAg
ICAgICBmdW5jdGlvbiBjYWxsYmFjayhzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzKQor
ICAgICAgICB7CisgICAgICAgICAgICB2YXIgZGF0YWJhc2VOYW1lcyA9IHNlY3VyaXR5T3JpZ2lu
V2l0aERhdGFiYXNlTmFtZXMuZGF0YWJhc2VOYW1lczsKKyAgICAgICAgICAgIHZhciBvbGRTZWN1
cml0eU9yaWdpbiA9IHRoaXMuX3NlY3VyaXR5T3JpZ2luQnlGcmFtZUlkW2ZyYW1lSWRdOworICAg
ICAgICAgICAgaWYgKG9sZFNlY3VyaXR5T3JpZ2luICYmIG9sZFNlY3VyaXR5T3JpZ2luID09PSBz
ZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzLnNlY3VyaXR5T3JpZ2luKQorICAgICAgICAg
ICAgICAgIHRoaXMuX3VwZGF0ZU9yaWdpbkRhdGFiYXNlTmFtZXMoc2VjdXJpdHlPcmlnaW5XaXRo
RGF0YWJhc2VOYW1lcy5zZWN1cml0eU9yaWdpbiwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VO
YW1lcy5kYXRhYmFzZU5hbWVzKTsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAg
IHRoaXMuX29yaWdpblJlbW92ZWRGcm9tRnJhbWUoZnJhbWVJZCk7CisgICAgICAgICAgICAgICAg
dGhpcy5fb3JpZ2luQWRkZWRUb0ZyYW1lKGZyYW1lSWQsIHNlY3VyaXR5T3JpZ2luV2l0aERhdGFi
YXNlTmFtZXMuc2VjdXJpdHlPcmlnaW4pOworICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZU9y
aWdpbkRhdGFiYXNlTmFtZXMoc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcy5zZWN1cml0
eU9yaWdpbiwgc2VjdXJpdHlPcmlnaW5XaXRoRGF0YWJhc2VOYW1lcy5kYXRhYmFzZU5hbWVzKTsK
KyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0sCiAKLSAgICBfbG9hZERhdGFiYXNlTmFt
ZXNGb3JGcmFtZTogZnVuY3Rpb24oZnJhbWVJZCkKKyAgICAgICAgdGhpcy5faW5kZXhlZERCQWdl
bnQucmVxdWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZShmcmFtZUlkLCBjYWxsYmFjay5iaW5kKHRo
aXMpKTsKKyAgICB9Cit9CisKK1dlYkluc3BlY3Rvci5JbmRleGVkREJNb2RlbC5wcm90b3R5cGUu
X19wcm90b19fID0gV2ViSW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGU7CisKKy8qKgorICogQGNv
bnN0cnVjdG9yCisgKi8KK1dlYkluc3BlY3Rvci5JbmRleGVkREJBZ2VudFdyYXBwZXIgPSBmdW5j
dGlvbigpCit7CisgICAgdGhpcy5fbGFzdFJlcXVlc3RJZCA9IDA7CisgICAgdGhpcy5fcmVxdWVz
dERhdGFiYXNlTmFtZXNGb3JGcmFtZUNhbGxiYWNrcyA9IHt9OworCisgICAgSW5kZXhlZERCQWdl
bnQuZW5hYmxlKCk7CisgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckluZGV4ZWREQkRpc3Bh
dGNoZXIobmV3IFdlYkluc3BlY3Rvci5JbmRleGVkREJEaXNwYXRjaGVyKHRoaXMpKTsKK30KKwor
V2ViSW5zcGVjdG9yLkluZGV4ZWREQkFnZW50V3JhcHBlci5wcm90b3R5cGUgPSB7CisgICAgLyoq
CisgICAgICogQHBhcmFtIHtzdHJpbmd9IGZyYW1lSWQKKyAgICAgKiBAcGFyYW0ge2Z1bmN0aW9u
KEluZGV4ZWREQkFnZW50LlNlY3VyaXR5T3JpZ2luV2l0aERhdGFiYXNlTmFtZXMpfSBjYWxsYmFj
aworICAgICAqLworICAgIHJlcXVlc3REYXRhYmFzZU5hbWVzRm9yRnJhbWU6IGZ1bmN0aW9uKGZy
YW1lSWQsIGNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3Ip
CisgICAgICAgIHZhciByZXF1ZXN0SWQgPSB0aGlzLl9yZXF1ZXN0SWQoKTsKKyAgICAgICAgdmFy
IHJlcXVlc3QgPSBuZXcgV2ViSW5zcGVjdG9yLkluZGV4ZWREQkFnZW50V3JhcHBlci5EYXRhYmFz
ZXNGb3JGcmFtZVJlcXVlc3QoZnJhbWVJZCwgY2FsbGJhY2spOworICAgICAgICB0aGlzLl9yZXF1
ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lQ2FsbGJhY2tzW3JlcXVlc3RJZF0gPSByZXF1ZXN0OyAK
KworICAgICAgICBmdW5jdGlvbiBpbm5lckNhbGxiYWNrKGVycm9yKQogICAgICAgICB7CiAgICAg
ICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJJbmRl
eGVkREJBZ2VudCBlcnJvcjogIiArIGVycm9yKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KKworICAgICAgICBJbmRleGVkREJBZ2VudC5yZXF1ZXN0
RGF0YWJhc2VOYW1lc0ZvckZyYW1lKHJlcXVlc3RJZCwgZnJhbWVJZCwgaW5uZXJDYWxsYmFjayk7
CisgICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gcmVxdWVzdElk
CisgICAgICogQHBhcmFtIHtJbmRleGVkREJBZ2VudC5TZWN1cml0eU9yaWdpbldpdGhEYXRhYmFz
ZU5hbWVzfSBzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzCisgICAgICovCisgICAgX2Rh
dGFiYXNlTmFtZXNMb2FkZWQ6IGZ1bmN0aW9uKHJlcXVlc3RJZCwgc2VjdXJpdHlPcmlnaW5XaXRo
RGF0YWJhc2VOYW1lcykKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5fcmVxdWVz
dERhdGFiYXNlTmFtZXNGb3JGcmFtZUNhbGxiYWNrc1tyZXF1ZXN0SWRdOworICAgICAgICBpZiAo
IXJlcXVlc3QuY2FsbGJhY2spCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAg
ICBJbmRleGVkREJBZ2VudC5yZXF1ZXN0RGF0YWJhc2VOYW1lc0ZvckZyYW1lKGZyYW1lSWQsIGNh
bGxiYWNrKTsKKyAgICAgICAgcmVxdWVzdC5jYWxsYmFjayhzZWN1cml0eU9yaWdpbldpdGhEYXRh
YmFzZU5hbWVzKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHJldHVybiB7bnVtYmVyfQor
ICAgICAqLworICAgIF9yZXF1ZXN0SWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVy
biArK3RoaXMuX2xhc3RSZXF1ZXN0SWQ7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJh
bSB7c3RyaW5nfSBmcmFtZUlkCisgICAgICovCisgICAgX2ZyYW1lRGV0YWNoZWQ6IGZ1bmN0aW9u
KGZyYW1lSWQpCisgICAgeworICAgICAgICBmb3IgKHZhciByZXF1ZXN0SWQgaW4gdGhpcy5fcmVx
dWVzdERhdGFiYXNlTmFtZXNGb3JGcmFtZUNhbGxiYWNrcykgeworICAgICAgICAgICAgaWYgKHRo
aXMuX3JlcXVlc3REYXRhYmFzZU5hbWVzRm9yRnJhbWVDYWxsYmFja3NbcmVxdWVzdElkXS5mcmFt
ZUlkID09PSBmcmFtZUlkKQorICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9yZXF1ZXN0RGF0
YWJhc2VOYW1lc0ZvckZyYW1lQ2FsbGJhY2tzW3JlcXVlc3RJZF07CisgICAgICAgIH0KKyAgICB9
LAorCisgICAgX3Jlc2V0OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9yZXF1ZXN0
RGF0YWJhc2VOYW1lc0ZvckZyYW1lQ2FsbGJhY2tzID0ge307CiAgICAgfQogfQogCi1XZWJJbnNw
ZWN0b3IuSW5kZXhlZERCTW9kZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5P
YmplY3QucHJvdG90eXBlOworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9y
LkluZGV4ZWREQkFnZW50V3JhcHBlci5EYXRhYmFzZXNGb3JGcmFtZVJlcXVlc3QgPSBmdW5jdGlv
bihmcmFtZUlkLCBjYWxsYmFjaykKK3sKKyAgICB0aGlzLmZyYW1lSWQgPSBmcmFtZUlkOworICAg
IHRoaXMuY2FsbGJhY2sgPSBjYWxsYmFjazsKK30KIAogLyoqCiAgKiBAY29uc3RydWN0b3IKICAq
IEBpbXBsZW1lbnRzIHtJbmRleGVkREJBZ2VudC5EaXNwYXRjaGVyfQorICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuSW5kZXhlZERCQWdlbnRXcmFwcGVyfSBpbmRleGVkREJBZ2VudFdyYXBwZXIKICAq
LwotV2ViSW5zcGVjdG9yLkluZGV4ZWREQkRpc3BhdGNoZXIgPSBmdW5jdGlvbihpbmRleGVkREJN
b2RlbCkKK1dlYkluc3BlY3Rvci5JbmRleGVkREJEaXNwYXRjaGVyID0gZnVuY3Rpb24oaW5kZXhl
ZERCQWdlbnRXcmFwcGVyKQogewotICAgIHRoaXMuX2luZGV4ZWREQk1vZGVsID0gaW5kZXhlZERC
TW9kZWw7CisgICAgdGhpcy5fYWdlbnRXcmFwcGVyID0gaW5kZXhlZERCQWdlbnRXcmFwcGVyOwog
fQogCi1XZWJJbnNwZWN0b3IuSW5kZXhlZERCRGlzcGF0Y2hlci5fY2FsbGJhY2tzID0ge307Ci0K
IFdlYkluc3BlY3Rvci5JbmRleGVkREJEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICAvKioK
LSAgICAgKiBAcGFyYW0ge0luZGV4ZWREQkFnZW50LkZyYW1lV2l0aERhdGFiYXNlTmFtZXN9IGZy
YW1lV2l0aERhdGFiYXNlTmFtZXMKKyAgICAgKiBAcGFyYW0ge251bWJlcn0gcmVxdWVzdElkCisg
ICAgICogQHBhcmFtIHtJbmRleGVkREJBZ2VudC5TZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5h
bWVzfSBzZWN1cml0eU9yaWdpbldpdGhEYXRhYmFzZU5hbWVzCiAgICAgICovCi0gICAgZGF0YWJh
c2VOYW1lc0xvYWRlZDogZnVuY3Rpb24oZnJhbWVXaXRoRGF0YWJhc2VOYW1lcykKKyAgICBkYXRh
YmFzZU5hbWVzTG9hZGVkOiBmdW5jdGlvbihyZXF1ZXN0SWQsIHNlY3VyaXR5T3JpZ2luV2l0aERh
dGFiYXNlTmFtZXMpCiAgICAgewotICAgICAgICB0aGlzLl9pbmRleGVkREJNb2RlbC5fZGF0YWJh
c2VOYW1lc0xvYWRlZChmcmFtZVdpdGhEYXRhYmFzZU5hbWVzKTsKKyAgICAgICAgdGhpcy5fYWdl
bnRXcmFwcGVyLl9kYXRhYmFzZU5hbWVzTG9hZGVkKHJlcXVlc3RJZCwgc2VjdXJpdHlPcmlnaW5X
aXRoRGF0YWJhc2VOYW1lcyk7CiAgICAgfQogfQo=
</data>
<flag name="review"
          id="124623"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>