<?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>138147</bug_id>
          
          <creation_ts>2014-10-28 13:23:47 -0700</creation_ts>
          <short_desc>[EME] Add Setting for accessing storage location for MediaKeys data</short_desc>
          <delta_ts>2014-10-30 17:18:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>137120</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>buildbot</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jonlee</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1044600</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-28 13:23:47 -0700</bug_when>
    <thetext>[EME] Add ChromeClient method for accessing storage location for MediaKeys data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044602</commentid>
    <comment_count>1</comment_count>
      <attachid>240568</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-28 13:27:31 -0700</bug_when>
    <thetext>Created attachment 240568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044892</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-29 16:04:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/18818269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1044984</commentid>
    <comment_count>3</comment_count>
      <attachid>240659</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-29 22:51:48 -0700</bug_when>
    <thetext>Created attachment 240659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045111</commentid>
    <comment_count>4</comment_count>
      <attachid>240659</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-10-30 14:16:17 -0700</bug_when>
    <thetext>Comment on attachment 240659
Patch

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

&gt; Source/WebCore/page/ChromeClient.h:450
&gt; +    virtual String mediaKeysStorageDirectoryForOrigin(SecurityOrigin*) { return emptyString(); }

I don&apos;t think the ChromeClient is the place for this.  I think there&apos;s way more appropriate places to put directory accessors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045137</commentid>
    <comment_count>5</comment_count>
      <attachid>240659</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-30 14:52:39 -0700</bug_when>
    <thetext>Comment on attachment 240659
Patch

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

&gt;&gt; Source/WebCore/page/ChromeClient.h:450
&gt;&gt; +    virtual String mediaKeysStorageDirectoryForOrigin(SecurityOrigin*) { return emptyString(); }
&gt; 
&gt; I don&apos;t think the ChromeClient is the place for this.  I think there&apos;s way more appropriate places to put directory accessors.

Okay, I&apos;ll move these methods into Settings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045162</commentid>
    <comment_count>6</comment_count>
      <attachid>240710</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-10-30 15:45:04 -0700</bug_when>
    <thetext>Created attachment 240710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045181</commentid>
    <comment_count>7</comment_count>
      <attachid>240710</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-30 17:18:22 -0700</bug_when>
    <thetext>Comment on attachment 240710
Patch

Clearing flags on attachment: 240710

Committed r175400: &lt;http://trac.webkit.org/changeset/175400&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045182</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-30 17:18:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240568</attachid>
            <date>2014-10-28 13:27:31 -0700</date>
            <delta_ts>2014-10-29 22:51:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138147-20141028132739.patch</filename>
            <type>text/plain</type>
            <size>13135</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MjY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM3ZDBkZTM0ZjBkNDJm
M2QxMmU0M2IyZmZjN2IyZDlmNjMwMDM2OC4uMzdlZjQyNjg5NTVjYmYzNDE1MDE3NzM4ZjU3ZmJm
ZWZiMGRjYjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE0LTEwLTI4ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtFTUVdIEFkZCBDaHJvbWVD
bGllbnQgbWV0aG9kIGZvciBhY2Nlc3Npbmcgc3RvcmFnZSBsb2NhdGlvbiBmb3IgTWVkaWFLZXlz
IGRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
ODE0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFLZXlTZXNzaW9uOjptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KTogUGFzcyB0
byBDaHJvbWVDbGllbnQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVNlc3Npb24uaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q2hyb21lQ2xpZW50OjptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5Rm9yT3JpZ2luKTog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ0RNU2Vzc2lvbi5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNv
dXJjZUFWRk9iakMubW06CisgICAgICAgIChXZWJDb3JlOjpDRE1TZXNzaW9uTWVkaWFTb3VyY2VB
VkZPYmpDOjp1cGRhdGUpOiBBc2sgdGhlIENETVNlc3Npb25DbGllbnQgZm9yIHRoZQorICAgICAg
ICAgICAgc3RvcmFnZSBkaXJlY3RvcnkuCisgICAgICAgIChXZWJDb3JlOjpzZXNzaW9uU3RvcmFn
ZURpcmVjdG9yeSk6IERlbGV0ZWQuCisKKzIwMTQtMTAtMjggIEplciBOb2JsZSAgPGplci5ub2Js
ZUBhcHBsZS5jb20+CisKICAgICAgICAgUkVHUkVTU0lPTihyMTcxNTkzKSBbTWFjXSBNZWRpYSBj
b250cm9scyBjcmVhdGUgYSBsYXJnZSAoYW5kIHVubmVjZXNzYXJ5KSBiYWNraW5nIHN0b3JlCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc3NTcKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDNmNjcyMmVhMjg4ZDJiZmFhZjBkMWI4MTUwNDIxOGQxZjMzMGVi
ZTUuLmFiZTNjNGM4NWE5YjE5NTZhY2Y5ZGQxNmRkZWIxMTdhZTk3YTVhZDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0xMC0yOCAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBbRU1FXSBBZGQgQ2hyb21lQ2xpZW50IG1ldGhvZCBmb3Ig
YWNjZXNzaW5nIHN0b3JhZ2UgbG9jYXRpb24gZm9yIE1lZGlhS2V5cyBkYXRhCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgxNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eUZvck9yaWdpbik6IFJldHVybiBhIGRlZmF1bHQgbG9jYXRpb24sIGFsbG93aW5nCisgICAgICAg
ICAgICBmb3IgdXNlci1kZWZhdWx0IG92ZXJyaWRlLgorCiAyMDE0LTEwLTI3ICBCZXRoIERha2lu
ICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm92aWRlIGEgd2F5IGZvciBXZWJLaXQx
IGNsaWVudHMgdG8gb3ZlcnJpZGUgZGVmYXVsdCBhY3Rpb24gbWVudSBpdGVtcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IGZlYTJjZDhhZDZiMDdiZmIxMTE1ODk3ZGNhNTAxNmRmNWExNWU3NjcuLjc5NjExYTViMzg0
ZGZiNmRhYzBkNWY0ODUwNjQyYjI1MmQwM2Y0NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNC0xMC0yOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAg
ICBbRU1FXSBBZGQgQ2hyb21lQ2xpZW50IG1ldGhvZCBmb3IgYWNjZXNzaW5nIHN0b3JhZ2UgbG9j
YXRpb24gZm9yIE1lZGlhS2V5cyBkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzgxNDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjptZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5Rm9yT3JpZ2luKTogUGFzcyB0byBXZWJNZWRpYUtleVN0b3JhZ2VNYW5hZ2Vy
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisKIDIwMTQtMTAtMjIgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0VNRV0gUGFzcyBsb2NhdGlvbiBmb3IgbWVkaWEga2V5IHN0b3JhZ2UgdGhyb3VnaCBmcm9t
IFdlYktpdC9XZWJLaXQyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCmluZGV4IGY1Mzc2Y2YwNzBmOGM1NGJh
MjhjZTNjN2ZmOTFjYmZlMTkzMmQyMDQuLmJlZjFhMTI5YjFiNTFhZTdlNmQ3OTI2YmQ1MzgzZWE1
NWJlZTc2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTMwLDExICszMCwxNyBAQAogCiAjaW5j
bHVkZSAiQ0RNLmgiCiAjaW5jbHVkZSAiQ0RNU2Vzc2lvbi5oIgorI2luY2x1ZGUgIkNocm9tZS5o
IgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJHZW5lcmljRXZlbnRRdWV1ZS5oIgogI2luY2x1ZGUg
Ik1lZGlhS2V5RXJyb3IuaCIKICNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VFdmVudC5oIgogI2lu
Y2x1ZGUgIk1lZGlhS2V5cy5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC0yMjAsNiArMjI2LDE4IEBAIHZvaWQgTWVkaWFLZXlTZXNzaW9u
OjpzZW5kRXJyb3IoQ0RNU2Vzc2lvbkNsaWVudDo6TWVkaWFLZXlFcnJvckNvZGUgZXJyb3JDb2Rl
LCB1CiAgICAgbV9hc3luY0V2ZW50UXVldWUuZW5xdWV1ZUV2ZW50KGtleWVycm9yRXZlbnQucmVs
ZWFzZSgpKTsKIH0KIAorU3RyaW5nIE1lZGlhS2V5U2Vzc2lvbjo6bWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeSgpIGNvbnN0Cit7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlz
RG9jdW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisKKyAgICBQYWdlKiBw
YWdlID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpLT5w
YWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKwor
ICAgIHJldHVybiBwYWdlLT5jaHJvbWUoKS5jbGllbnQoKS5tZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5Rm9yT3JpZ2luKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7
Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaAppbmRleCAwNDhjMDE5MDU1ZGJkZTZhOTBi
ZDE4ZjE2ZjA0YTEwZWM2NTdiNTA3Li44MTExNGI2NmM3OTIzYmQ3ODdlNzNhZWJlZGZmN2U3MDRh
MWRmMzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKQEAgLTg3LDggKzg3LDkgQEAgcHJvdGVjdGVkOgogICAg
IHZvaWQgYWRkS2V5VGltZXJGaXJlZChUaW1lcjxNZWRpYUtleVNlc3Npb24+Jik7CiAKICAgICAv
LyBDRE1TZXNzaW9uQ2xpZW50Ci0gICAgdmlydHVhbCB2b2lkIHNlbmRNZXNzYWdlKFVpbnQ4QXJy
YXkqLCBTdHJpbmcgZGVzdGluYXRpb25VUkwpOwotICAgIHZpcnR1YWwgdm9pZCBzZW5kRXJyb3Io
TWVkaWFLZXlFcnJvckNvZGUsIHVuc2lnbmVkIGxvbmcgc3lzdGVtQ29kZSk7CisgICAgdmlydHVh
bCB2b2lkIHNlbmRNZXNzYWdlKFVpbnQ4QXJyYXkqLCBTdHJpbmcgZGVzdGluYXRpb25VUkwpIG92
ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBzZW5kRXJyb3IoTWVkaWFLZXlFcnJvckNvZGUsIHVu
c2lnbmVkIGxvbmcgc3lzdGVtQ29kZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBTdHJpbmcgbWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgTWVkaWFLZXlz
KiBtX2tleXM7CiAgICAgU3RyaW5nIG1fa2V5U3lzdGVtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKaW5kZXggMjg3ZmVhY2U5YWI0OGRjZTE3OGQxZjQ4OWJkMmQ3YjcxYzU5ODU3My4uMGNj
MWMxZmE0MzEyNjQ0MjY0ZGUzMmRkYWRkODY2ZmNkZTMyMjAxMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC00NDYsNiArNDQ2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKGJvb2wgLyogaXNUZXh0T25seSAqLykgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCisgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFL
ZXlzU3RvcmFnZURpcmVjdG9yeUZvck9yaWdpbihTZWN1cml0eU9yaWdpbiopIHsgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgp
IHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NE
TVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NETVNlc3Npb24u
aAppbmRleCA4MGE4NWUzNTM4NTYxN2IzZTRiOTcyNTk3MjA3ODkxZmZmZmQzNTNhLi5hNTEwNjk2
MDZlMjk3NzhiNDNmOTZmYmI1Yjc5MWUxM2ZmYmM4YWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9DRE1TZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQ0RNU2Vzc2lvbi5oCkBAIC01MCw2ICs1MCw4IEBAIHB1YmxpYzoK
ICAgICB9OwogICAgIHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgTWVkaWFLZXlFcnJvckNvZGU7CiAg
ICAgdmlydHVhbCB2b2lkIHNlbmRFcnJvcihNZWRpYUtleUVycm9yQ29kZSwgdW5zaWduZWQgbG9u
ZyBzeXN0ZW1Db2RlKSA9IDA7CisKKyAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUtleXNTdG9yYWdl
RGlyZWN0b3J5KCkgY29uc3QgPSAwOwogfTsKIAogZW51bSBDRE1TZXNzaW9uVHlwZSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9DRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvQ0RNU2Vzc2lvbk1lZGlhU291cmNlQVZGT2Jq
Qy5tbQppbmRleCA0MTAwZmQxNzg2MTU3MzZiMjRlNzg4NzgxNThjODc2OGJlZjc1OWZkLi43YWU5
NDdkZWNhMmJkNzY2NGYxZTcwZmM1NWFhNDE5NTUyYzQ5ZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9DRE1TZXNzaW9uTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL0NETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTMx
LDYgKzMxLDcgQEAKICNpbXBvcnQgIkNETS5oIgogI2ltcG9ydCAiQ0RNU2Vzc2lvbi5oIgogI2lt
cG9ydCAiRXhjZXB0aW9uQ29kZS5oIgorI2ltcG9ydCAiRmlsZVN5c3RlbS5oIgogI2ltcG9ydCAi
TG9nZ2luZy5oIgogI2ltcG9ydCAiTWVkaWFQbGF5ZXIuaCIKICNpbXBvcnQgIlNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDLmgiCkBAIC0xNzUsMjcgKzE3NiwxNCBAQCBzdGF0aWMgYm9vbCBpc0Vx
dWFsKFVpbnQ4QXJyYXkqIGRhdGEsIGNvbnN0IGNoYXIqIGxpdGVyYWwpCiAgICAgcmV0dXJuICFs
aXRlcmFsW2xlbmd0aF07CiB9CiAKLXN0YXRpYyBjb25zdCBTdHJpbmcmIHNlc3Npb25TdG9yYWdl
RGlyZWN0b3J5KCkKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzZXNzaW9u
RGlyZWN0b3J5UGF0aDsKLQotICAgIGlmIChzZXNzaW9uRGlyZWN0b3J5UGF0aC5nZXQoKS5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgY2hhciBjYWNoZURpcmVjdG9yeVBhdGhbUEFUSF9NQVhdOwotICAg
ICAgICBpZiAoIWNvbmZzdHIoX0NTX0RBUldJTl9VU0VSX0NBQ0hFX0RJUiwgY2FjaGVEaXJlY3Rv
cnlQYXRoLCBQQVRIX01BWCkpCi0gICAgICAgICAgICByZXR1cm4gV1RGOjplbXB0eVN0cmluZygp
OwotCi0gICAgICAgIHNlc3Npb25EaXJlY3RvcnlQYXRoLmdldCgpLmFwcGVuZChTdHJpbmcoY2Fj
aGVEaXJlY3RvcnlQYXRoLCBzdHJsZW4oY2FjaGVEaXJlY3RvcnlQYXRoKSkpOwotICAgICAgICBz
ZXNzaW9uRGlyZWN0b3J5UGF0aC5nZXQoKS5hcHBlbmQoQVNDSUlMaXRlcmFsKCJBVlN0cmVhbVNl
c3Npb24vIikpOwotICAgIH0KLQotICAgIHJldHVybiBzZXNzaW9uRGlyZWN0b3J5UGF0aC5nZXQo
KTsKLX0KLQogYm9vbCBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjp1cGRhdGUoVWludDhB
cnJheSoga2V5LCBSZWZQdHI8VWludDhBcnJheT4mIG5leHRNZXNzYWdlLCB1bnNpZ25lZCBzaG9y
dCYgZXJyb3JDb2RlLCB1bnNpZ25lZCBsb25nJiBzeXN0ZW1Db2RlKQogewogICAgIGlmIChtX21v
ZGUgPT0gS2V5UmVsZWFzZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgaWYgKCFtX2Ns
aWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgYm9vbCBzaG91bGRHZW5lcmF0ZUtl
eVJlcXVlc3QgPSAhbV9jZXJ0aWZpY2F0ZSB8fCBpc0VxdWFsKGtleSwgInJlbmV3Iik7CiAgICAg
aWYgKCFtX2NlcnRpZmljYXRlKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIkNETVNlc3Npb25NZWRp
YVNvdXJjZUFWRk9iakM6OnVwZGF0ZSglcCkgLSBjZXJ0aWZpY2F0ZSBkYXRhIiwgdGhpcyk7CkBA
IC0yMjgsNyArMjE2LDkgQEAgYm9vbCBDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjp1cGRh
dGUoVWludDhBcnJheSoga2V5LCBSZWZQdHI8VWludDhBcnJheT4mIG4KICAgICBpZiAoc2hvdWxk
R2VuZXJhdGVLZXlSZXF1ZXN0KSB7CiAgICAgICAgIFJldGFpblB0cjxOU0RhdGE+IGNlcnRpZmlj
YXRlRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXM6bV9jZXJ0aWZp
Y2F0ZS0+ZGF0YSgpIGxlbmd0aDptX2NlcnRpZmljYXRlLT5sZW5ndGgoKV0pOwogICAgICAgICBp
ZiAobV9zdHJlYW1TZXNzaW9uICYmIFttX3N0cmVhbVNlc3Npb24gcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihzZXRTdG9yYWdlRGlyZWN0b3J5QXRVUkw6c3RvcmFnZVVSTDphcHBJZGVudGlm
aWVyOmVycm9yOildKSB7Ci0gICAgICAgICAgICBbbV9zdHJlYW1TZXNzaW9uIHNldFN0b3JhZ2VE
aXJlY3RvcnlBdFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnNlc3Npb25TdG9yYWdlRGlyZWN0
b3J5KCldIGFwcElkZW50aWZpZXI6Y2VydGlmaWNhdGVEYXRhLmdldCgpIGVycm9yOm5pbF07Cisg
ICAgICAgICAgICBTdHJpbmcgc3RvcmFnZURpcmVjdG9yeSA9IG1fY2xpZW50LT5tZWRpYUtleXNT
dG9yYWdlRGlyZWN0b3J5KCk7CisgICAgICAgICAgICBTdHJpbmcgc3RvcmFnZVBhdGggPSBwYXRo
QnlBcHBlbmRpbmdDb21wb25lbnQoc3RvcmFnZURpcmVjdG9yeSwgIlNlY3VyZVN0b3AucGxpc3Qi
KTsKKyAgICAgICAgICAgIFttX3N0cmVhbVNlc3Npb24gc2V0U3RvcmFnZURpcmVjdG9yeUF0VVJM
OltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6c3RvcmFnZVBhdGhdIGFwcElkZW50aWZpZXI6Y2VydGlm
aWNhdGVEYXRhLmdldCgpIGVycm9yOm5pbF07CiAgICAgICAgICAgICBmb3IgKGF1dG8mIHNvdXJj
ZUJ1ZmZlciA6IG1fc291cmNlQnVmZmVycykKICAgICAgICAgICAgICAgICBbbV9zdHJlYW1TZXNz
aW9uIGFkZFN0cmVhbURhdGFQYXJzZXI6c291cmNlQnVmZmVyLT5wYXJzZXIoKV07CiAgICAgICAg
ICAgICBMT0coTWVkaWEsICJDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDOjp1cGRhdGUoJXAp
IC0gY3JlYXRlZCBzdHJlYW0gc2Vzc2lvbiAlcCIsIHRoaXMsIG1fc3RyZWFtU2Vzc2lvbi5nZXQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IGY3ZjcyZjc1ZDQ1MTU4OTBjMmEzMzgyOGIwYjRmOWNlZmUzNTBhYTguLmQ0
NGRiMjU5NWNjMDQxZWI1ZTBkMzhkYmU5YjAzYTUwM2E3MzM4ODQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMTAsNiAr
MjEwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNl
cnZpY2VzKGJvb2wgaXNUZXh0T25seSkgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIAorICAgIHZp
cnR1YWwgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlGb3JPcmlnaW4oV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4qKSBvdmVycmlkZTsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBXZWJW
aWV3KiB3ZWJWaWV3KCkgY29uc3QgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAjZWxzZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmlu
ZGV4IDk3ZGUyODBkMGQyYzZhMDdmOWE5ZTQxMWI4ZWRhZTEwNTFmZTIzZGMuLmZmNmU0MzE1MGYx
OTYwYzljYTQyZjNjYjEwYjFlN2M2ODdkNDUwZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTExNiw2ICsxMTYsNyBA
QCBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VMb2dNZXNzYWdlTGV2ZWwgPSBAIkxvZ01lc3Nh
Z2VMZXZlbCI7CiBOU1N0cmluZyAqV2ViQ29uc29sZU1lc3NhZ2VXYXJuaW5nTWVzc2FnZUxldmVs
ID0gQCJXYXJuaW5nTWVzc2FnZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVy
cm9yTWVzc2FnZUxldmVsID0gQCJFcnJvck1lc3NhZ2VMZXZlbCI7CiAKK05TU3RyaW5nICpXZWJL
aXRNZWRpYUtleVN0b3JhZ2VEaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViS2l0TWVkaWFLZXlT
dG9yYWdlRGlyZWN0b3J5IjsKIAogI2lmICFQTEFURk9STShJT1MpCiBAaW50ZXJmYWNlIE5TQXBw
bGljYXRpb24gKFdlYk5TQXBwbGljYXRpb25EZXRhaWxzKQpAQCAtMTA1MywzICsxMDU0LDE0IEBA
IGJvb2wgV2ViQ2hyb21lQ2xpZW50OjpoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKGJvb2wg
aXNUZXh0T25seSkgY29uc3QKIH0KIAogI2VuZGlmCisKK1N0cmluZyBXZWJDaHJvbWVDbGllbnQ6
Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4qIG9yaWdpbikKK3sKKyAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVm
YXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOworICAgIE5TU3RyaW5nICptZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5ID0gW2RlZmF1bHRzIG9iamVjdEZvcktleTpXZWJLaXRNZWRpYUtleVN0b3Jh
Z2VEaXJlY3RvcnlEZWZhdWx0c0tleV07CisgICAgaWYgKCFtZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5IHx8ICFbbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSBpc0tpbmRPZkNsYXNzOltOU1N0cmlu
ZyBjbGFzc11dKQorICAgICAgICBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gQCJ+L0xpYnJh
cnkvV2ViS2l0L01lZGlhS2V5cyI7CisKKyAgICByZXR1cm4gW1ttZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5IHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpvcmlnaW4tPmRhdGFiYXNlSWRl
bnRpZmllcigpXSBzdHJpbmdCeVN0YW5kYXJkaXppbmdQYXRoXTsKK30KKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCmluZGV4IDQ3OWRlNGY4ZmFmYzFiNWViYzRjMjVhOWQwN2M0ZmNhZjYwNzcxMjMu
LjQyMWNhM2FiZjAyOTlhOGY1MDNlYTNhOTVhNThhOGIzODMzN2ViNmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2Vi
SW1hZ2UuaCIKKyNpbmNsdWRlICJXZWJNZWRpYUtleVN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVk
ZSAiV2ViT3BlblBhbmVsUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIldlYk9wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgpAQCAtNjk4LDYgKzY5OSwxNSBAQCB2
b2lkIFdlYkNocm9tZUNsaWVudDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiBmcmFtZSwg
Y29uc3QgU3RyaW5nJiBkYXRhYmFzZQogfQogI2VuZGlmCiAKK1N0cmluZyBXZWJDaHJvbWVDbGll
bnQ6Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnlGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW4qIG9yaWdpbikKK3sKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQorICAgIFdl
Yk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIqIG1hbmFnZXIgPSBXZWJQcm9jZXNzOjpzaGFyZWQoKS5z
dXBwbGVtZW50PFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXI+KCk7CisgICAgcmV0dXJuIG1hbmFn
ZXIgPyBtYW5hZ2VyLT5tZWRpYUtleVN0b3JhZ2VEaXJlY3RvcnlGb3JPcmlnaW4oU2VjdXJpdHlP
cmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4ob3JpZ2luKSkgOiBlbXB0eVN0cmluZygpOwor
I2Vsc2UKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyNlbmRpZgorfQogCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6cmVhY2hlZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90KQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKaW5kZXggZDE0ODYzMDNmZDBhNmVhNWJlYTcyYjg3NjJlYTA0YmFhNWVlYzExYy4u
MjE2NjE4M2RkNTVmZDRlZDg0NDEyMDA3MzBjZjhjZTNlMGRiZjQxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCkBAIC0zMTMsNiArMzEzLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaGFz
UmVsZXZhbnRTZWxlY3Rpb25TZXJ2aWNlcyhib29sIGlzVGV4dE9ubHkpIGNvbnN0IG92ZXJyaWRl
OwogI2VuZGlmCiAKKyAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5
Rm9yT3JpZ2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKikgb3ZlcnJpZGU7CisKICAgICBTdHJp
bmcgbV9jYWNoZWRUb29sVGlwOwogICAgIG11dGFibGUgUmVmUHRyPFdlYkZyYW1lPiBtX2NhY2hl
ZEZyYW1lU2V0TGFyZ2VzdEZyYW1lOwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFt
ZUhhc0hvcml6b250YWxTY3JvbGxiYXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240659</attachid>
            <date>2014-10-29 22:51:48 -0700</date>
            <delta_ts>2014-10-30 15:45:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138147-20141029225155.patch</filename>
            <type>text/plain</type>
            <size>12889</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2I5YWExMDY0OTE0MzUz
NzA2MDdmMjY3ZTk1NGJkZjU3ZTBhYWNjNC4uYzQxZTRmODUxOTYwYjlmM2Y4MTc1ZDRhNDIzYzg1
YWNmNTVmMDY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMwIEBACiAyMDE0LTEwLTI5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCisgICAgICAgIFtFTUVdIEFkZCBDaHJvbWVD
bGllbnQgbWV0aG9kIGZvciBhY2Nlc3Npbmcgc3RvcmFnZSBsb2NhdGlvbiBmb3IgTWVkaWFLZXlz
IGRhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
ODE0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFs
bG93IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgdG8gcXVlcnkgZm9yIHRoZSBN
ZWRpYUtleXMgc3RvcmFnZSBkaXJlY3RvcnkKKyAgICAgICAgYnkgcGlwaW5nIHRoYXQgcmVxdWVz
dCB1cCB0aHJvdWdoIENocm9tZUNsaWVudCB0byBXZWJLaXQgYW5kIFdlYktpdDIuCisKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSk6ICBQYXNzIHRvIENocm9tZUNs
aWVudC4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdl
L0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjptZWRpYUtl
eXNTdG9yYWdlRGlyZWN0b3J5Rm9yT3JpZ2luKTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6
Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkpOiBQYXNzIHRvIEhUTUxNZWRpYUVsZW1lbnQuCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyQ2xpZW50OjptZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rv
cnkpOiBEZWZhdWx0IHRvIHJldHVybmluZworICAgICAgICAgICAgYW4gZW1wdHkgc3RyaW5nLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3RyZWFtU2Vzc2lvbik6IEFzayBNZWRpYVBs
YXllclByaXZhdGUKKyAgICAgICAgICAgIGZvciB0aGUgc3RvcmFnZSBkaXJlY3RvcnkuCisgICAg
ICAgIChXZWJDb3JlOjpzZXNzaW9uU3RvcmFnZURpcmVjdG9yeSk6IERlbGV0ZWQuCisKKzIwMTQt
MTAtMjkgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKICAgICAgICAgW0VNRV1b
TWFjXSBBZGQgYSBzeXN0ZW1Db2RlIHRvIGRpc3Rpbmd1aXNoIHdoZW4gbm8gZXhwaXJlZCBzZXNz
aW9ucyB3ZXJlIGZvdW5kIGluIHJlc3BvbnNlIHRvIGEgImtleXJlbGVhc2UiIG1lc3NhZ2UuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgxOTkKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IDVmNTYyMWZjNDJjYmYyYmZjYzBkZWRlMjI0YzY1YzZhMzhhYjE0
ZTguLmVmZTIwZjM2YzAwNDMyNGIwMzRlMjQ0MDhhNWI3ZjBiM2Q5NjM2NGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNC0xMC0yOSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBbRU1FXSBBZGQgQ2hyb21lQ2xpZW50IG1ldGhvZCBmb3Ig
YWNjZXNzaW5nIHN0b3JhZ2UgbG9jYXRpb24gZm9yIE1lZGlhS2V5cyBkYXRhCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzgxNDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5tbToKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9y
eUZvck9yaWdpbik6IFJldHVybiBhIGRlZmF1bHQgbG9jYXRpb24sIGFsbG93aW5nCisgICAgICAg
ICAgICBmb3IgdXNlci1kZWZhdWx0IG92ZXJyaWRlLgorCiAyMDE0LTEwLTI4ICBKZXJlbXkgSm9u
ZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgb3B0aW1pemVkIGZ1bGxzY3Jl
ZW4gbW9kZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCBjYjAyNjU5Y2QwOWY5MTk3ZDU5NzZhZWU5N2JlMTVjMDY5
NmU1MzlmLi45NGRjZTIwZGVkZmQzZWQyNzdhZmRkMjNmZGIyN2UwZjViMWVkZTY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTQtMTAtMjkgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIENocm9tZUNsaWVudCBtZXRob2QgZm9yIGFj
Y2Vzc2luZyBzdG9yYWdlIGxvY2F0aW9uIGZvciBNZWRpYUtleXMgZGF0YQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4MTQ3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNs
aWVudDo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeUZvck9yaWdpbik6IFBhc3MgdG8gV2ViTWVk
aWFLZXlTdG9yYWdlTWFuYWdlci4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oOgorCiAyMDE0LTEwLTI4ICBUaW5nLVdlaSBMYW4gIDxsYW50dzQ0
QGdtYWlsLmNvbT4KIAogICAgICAgICBDYXN0IHN0ZDo6Y2hyb25vOjpkdXJhdGlvbi5jb3VudCgp
IHRvIGludDY0X3QgaW4gQXJndW1lbnRDb2RlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKaW5kZXggMTNiMzE1MDUyYzIwMWNmMzVhYzhlOTg0MjZmYmU5OTJmYmJhNzZl
YS4uODI2YWVhNmZhNDU0ZmU1ZTNhMzBjYjQ3OWI5ZDVhZDVlYWI3OWU0NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0yMTk1LDYgKzIxOTUsMTQgQEAgYm9v
bCBIVE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllcktleU5lZWRlZChNZWRpYVBsYXllciosIFVp
bnQ4QXJyYXkqIGluaXREYXRhKQogICAgIHJldHVybiB0cnVlOwogfQogCitTdHJpbmcgSFRNTE1l
ZGlhRWxlbWVudDo6bWVkaWFQbGF5ZXJNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QK
K3sKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQor
ICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKyAgICByZXR1cm4gcGFnZS0+Y2hyb21lKCku
Y2xpZW50KCkubWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeUZvck9yaWdpbihkb2N1bWVudCgpLnNl
Y3VyaXR5T3JpZ2luKCkpOworfQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5
cyhNZWRpYUtleXMqIG1lZGlhS2V5cykKIHsKICAgICBpZiAobV9tZWRpYUtleXMgPT0gbWVkaWFL
ZXlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBlOGYzZGNjZWQx
YWZmZGJiOGUyMTQxNjAyMzc0NjZiYWQ0ODFlNDhlLi5mNmM0MjNiMDgxNjI5YTA1YzE3OThhYWIw
OWIzYjBmYTg1MjBmZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApA
QCAtNTQ3LDYgKzU0Nyw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
X1YyKQogICAgIHZpcnR1YWwgYm9vbCBtZWRpYVBsYXllcktleU5lZWRlZChNZWRpYVBsYXllcios
IFVpbnQ4QXJyYXkqKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllck1l
ZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgogCiAjaWYg
RU5BQkxFKElPU19BSVJQTEFZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJv
bWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggMjcz
NjdmNWVjM2E3NTg5ZWNmMjMxOTc0MTNjNjI1MTk0NjJjOWU5Ny4uODM0MDkyMjk3OWViMDdlZjdm
MDRlYTBlZjg4MGIyNjU0ZGEwZDg0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBA
IC00NDcsNiArNDQ3LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxldmFudFNl
bGVjdGlvblNlcnZpY2VzKGJvb2wgLyogaXNUZXh0T25seSAqLykgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICNlbmRpZgogCisgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFLZXlzU3RvcmFnZURpcmVj
dG9yeUZvck9yaWdpbihTZWN1cml0eU9yaWdpbiopIHsgcmV0dXJuIGVtcHR5U3RyaW5nKCk7IH0K
KwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfkNocm9tZUNsaWVudCgpIHsgfQogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAppbmRleCBl
ZDlkODgzMzY0MWQ1M2M5OGM3M2E2NjRlZGM0YzUxOWVlZmI5ZjExLi4xM2NmMmFmNzNlYWZkNjc0
MWNmOWRiOTU3MDVjZThmNzkzZDBmYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0xMTIxLDYgKzExMjEsMTEgQEAgYm9vbCBN
ZWRpYVBsYXllcjo6a2V5TmVlZGVkKFVpbnQ4QXJyYXkqIGluaXREYXRhKQogewogICAgIHJldHVy
biBtX2NsaWVudC5tZWRpYVBsYXllcktleU5lZWRlZCh0aGlzLCBpbml0RGF0YSk7CiB9CisKK1N0
cmluZyBNZWRpYVBsYXllcjo6bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fY2xpZW50Lm1lZGlhUGxheWVyTWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgp
OworfQogI2VuZGlmCiAKIFN0cmluZyBNZWRpYVBsYXllcjo6cmVmZXJyZXIoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmgKaW5kZXggZTJi
MjQyNmQ5MTZjZWEzZWQ2ZDM1YTE0N2JhNGNmMmZjNzY4ODk3Ny4uYjE1MzdkNzBiZDVlY2QwNjg0
NmYxZDlmZTI1NjYyMTY3MDc5OWVjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5oCkBAIC0yMTUsNiArMjE1LDcgQEAgcHVibGljOgogCiAjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQV9WMikKICAgICB2aXJ0dWFsIGJvb2wgbWVkaWFQbGF5ZXJL
ZXlOZWVkZWQoTWVkaWFQbGF5ZXIqLCBVaW50OEFycmF5KikgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBj
b25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CiAjZW5kaWYKICAgICAKICNpZiBFTkFCTEUo
SU9TX0FJUlBMQVkpCkBAIC01MTYsNiArNTE3LDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQV9WMikKICAgICBib29sIGtleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0
YSk7CisgICAgU3RyaW5nIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdDsKICNlbmRp
ZgogCiAgICAgU3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KaW5kZXggN2ExMmU4MTY1N2ZjMmI5YTAwYjE2YzRkNDJmY2Q0ZTEzZjI2NzQ4Yi4uNzQzZTBl
NzZhM2E3ODQ3M2QwYTRhODgzM2ZhYzk4NWZjYmZjMzY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZG
T2JqQy5tbQpAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShNRURJQV9TT1VSQ0UpICYmIFVT
RShBVkZPVU5EQVRJT04pCiAKICNpbXBvcnQgIkNETVNlc3Npb25NZWRpYVNvdXJjZUFWRk9iakMu
aCIKKyNpbXBvcnQgIkZpbGVTeXN0ZW0uaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQg
Ik1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaCIKICNpbXBvcnQgIk1lZGlhU291cmNlUHJpdmF0
ZUNsaWVudC5oIgpAQCAtNjc0LDI5ICs2NzUsMTggQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVNvdXJjZUFWRk9iakM6OnNpemVDaGFuZ2VkKCkKIH0KIAogI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUFfVjIpCi1zdGF0aWMgY29uc3QgU3RyaW5nJiBzZXNzaW9uU3RvcmFnZURpcmVjdG9y
eSgpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc2Vzc2lvbkRpcmVjdG9y
eVBhdGg7Ci0KLSAgICBpZiAoc2Vzc2lvbkRpcmVjdG9yeVBhdGguZ2V0KCkuaXNFbXB0eSgpKSB7
Ci0gICAgICAgIGNoYXIgY2FjaGVEaXJlY3RvcnlQYXRoW1BBVEhfTUFYXTsKLSAgICAgICAgaWYg
KCFjb25mc3RyKF9DU19EQVJXSU5fVVNFUl9DQUNIRV9ESVIsIGNhY2hlRGlyZWN0b3J5UGF0aCwg
UEFUSF9NQVgpKQotICAgICAgICAgICAgcmV0dXJuIFdURjo6ZW1wdHlTdHJpbmcoKTsKLQotICAg
ICAgICBzZXNzaW9uRGlyZWN0b3J5UGF0aC5nZXQoKS5hcHBlbmQoU3RyaW5nKGNhY2hlRGlyZWN0
b3J5UGF0aCwgc3RybGVuKGNhY2hlRGlyZWN0b3J5UGF0aCkpKTsKLSAgICAgICAgc2Vzc2lvbkRp
cmVjdG9yeVBhdGguZ2V0KCkuYXBwZW5kKEFTQ0lJTGl0ZXJhbCgiQVZTdHJlYW1TZXNzaW9uLyIp
KTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHNlc3Npb25EaXJlY3RvcnlQYXRoLmdldCgpOwot
fQotCiBBVlN0cmVhbVNlc3Npb24qIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2Jq
Qzo6c3RyZWFtU2Vzc2lvbigpCiB7CiAgICAgaWYgKCFnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygp
IHx8ICFbZ2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBpbnN0YW5jZXNSZXNwb25kVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoaW5pdFdpdGhTdG9yYWdlRGlyZWN0b3J5QXRVUkw6KV0pCiAgICAgICAgIHJl
dHVybiBuaWw7CiAKLSAgICBpZiAoIW1fc3RyZWFtU2Vzc2lvbikKLSAgICAgICAgbV9zdHJlYW1T
ZXNzaW9uID0gYWRvcHROUyhbW2dldEFWU3RyZWFtU2Vzc2lvbkNsYXNzKCkgYWxsb2NdIGluaXRX
aXRoU3RvcmFnZURpcmVjdG9yeUF0VVJMOltOU1VSTCBmaWxlVVJMV2l0aFBhdGg6c2Vzc2lvblN0
b3JhZ2VEaXJlY3RvcnkoKV1dKTsKKyAgICBpZiAoIW1fc3RyZWFtU2Vzc2lvbikgeworICAgICAg
ICBTdHJpbmcgc3RvcmFnZURpcmVjdG9yeSA9IG1fcGxheWVyLT5tZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5KCk7CisgICAgICAgIGlmICghZmlsZUV4aXN0cyhzdG9yYWdlRGlyZWN0b3J5KSkKKyAg
ICAgICAgICAgIG1ha2VBbGxEaXJlY3RvcmllcyhzdG9yYWdlRGlyZWN0b3J5KTsKKyAgICAgICAg
U3RyaW5nIHN0b3JhZ2VQYXRoID0gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHN0b3JhZ2VEaXJl
Y3RvcnksICJTZWN1cmVTdG9wLnBsaXN0Iik7CisgICAgICAgIG1fc3RyZWFtU2Vzc2lvbiA9IGFk
b3B0TlMoW1tnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygpIGFsbG9jXSBpbml0V2l0aFN0b3JhZ2VE
aXJlY3RvcnlBdFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnN0b3JhZ2VQYXRoXV0pOworICAg
IH0KICAgICByZXR1cm4gbV9zdHJlYW1TZXNzaW9uLmdldCgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGI1NmQx
ZjM5ZjYwZmNiMzYxN2I3NjRiZGVmZmZmNTg4OGE3OGQzZTYuLjliM2Y2OTRlNWFlY2E4MTE0M2Nm
N2YxMWM3OGIwNjViOGE5ZDU1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0yMTAsNiArMjEwLDggQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKGJvb2wgaXNUZXh0
T25seSkgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIAorICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlh
S2V5c1N0b3JhZ2VEaXJlY3RvcnlGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qKSBv
dmVycmlkZTsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBXZWJWaWV3KiB3ZWJWaWV3KCkgY29u
c3QgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCmluZGV4IDJjYjFjNGIzNDRlZTA1
ZTRhZjIyNzM0ZGY1NDg2N2U3YTIwZWJjNTIuLjkwN2Y5NjliYmQyMjA2YTc5YjYwMTk3MGE3NDBi
NWI3NmRjNTI1NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQubW0KQEAgLTExNiw2ICsxMTYsNyBAQCBOU1N0cmluZyAqV2ViQ29u
c29sZU1lc3NhZ2VMb2dNZXNzYWdlTGV2ZWwgPSBAIkxvZ01lc3NhZ2VMZXZlbCI7CiBOU1N0cmlu
ZyAqV2ViQ29uc29sZU1lc3NhZ2VXYXJuaW5nTWVzc2FnZUxldmVsID0gQCJXYXJuaW5nTWVzc2Fn
ZUxldmVsIjsKIE5TU3RyaW5nICpXZWJDb25zb2xlTWVzc2FnZUVycm9yTWVzc2FnZUxldmVsID0g
QCJFcnJvck1lc3NhZ2VMZXZlbCI7CiAKK05TU3RyaW5nICpXZWJLaXRNZWRpYUtleVN0b3JhZ2VE
aXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViS2l0TWVkaWFLZXlTdG9yYWdlRGlyZWN0b3J5IjsK
IAogI2lmICFQTEFURk9STShJT1MpCiBAaW50ZXJmYWNlIE5TQXBwbGljYXRpb24gKFdlYk5TQXBw
bGljYXRpb25EZXRhaWxzKQpAQCAtMTA1NCwzICsxMDU1LDE0IEBAIGJvb2wgV2ViQ2hyb21lQ2xp
ZW50OjpoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKGJvb2wgaXNUZXh0T25seSkgY29uc3QK
IH0KIAogI2VuZGlmCisKK1N0cmluZyBXZWJDaHJvbWVDbGllbnQ6Om1lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnlGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKK3sKKyAg
ICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2Vy
RGVmYXVsdHNdOworICAgIE5TU3RyaW5nICptZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gW2Rl
ZmF1bHRzIG9iamVjdEZvcktleTpXZWJLaXRNZWRpYUtleVN0b3JhZ2VEaXJlY3RvcnlEZWZhdWx0
c0tleV07CisgICAgaWYgKCFtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IHx8ICFbbWVkaWFLZXlz
U3RvcmFnZURpcmVjdG9yeSBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQorICAgICAg
ICBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5ID0gQCJ+L0xpYnJhcnkvV2ViS2l0L01lZGlhS2V5
cyI7CisKKyAgICByZXR1cm4gW1ttZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5IHN0cmluZ0J5QXBw
ZW5kaW5nUGF0aENvbXBvbmVudDpvcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpXSBzdHJpbmdC
eVN0YW5kYXJkaXppbmdQYXRoXTsKK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDJh
NDNlZGU3MGU0Mjg2MzBkMTQ0ZGRhOWNmMGU1MmFlZDA2ZmM0OTIuLmEwNTNhMzZlMGMwYjgzOTBk
NzZjMDRiMTdmNjlhMmIxZTgxODVkNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKQEAgLTM5
LDYgKzM5LDcgQEAKICNpbmNsdWRlICJXZWJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
IldlYkZ1bGxTY3JlZW5NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViSW1hZ2UuaCIKKyNpbmNsdWRl
ICJXZWJNZWRpYUtleVN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViT3BlblBhbmVsUGFy
YW1ldGVycy5oIgogI2luY2x1ZGUgIldlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmgiCiAjaW5j
bHVkZSAiV2ViUGFnZS5oIgpAQCAtNjk4LDYgKzY5OSwxNSBAQCB2b2lkIFdlYkNocm9tZUNsaWVu
dDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBkYXRh
YmFzZQogfQogI2VuZGlmCiAKK1N0cmluZyBXZWJDaHJvbWVDbGllbnQ6Om1lZGlhS2V5c1N0b3Jh
Z2VEaXJlY3RvcnlGb3JPcmlnaW4oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIG9yaWdpbikKK3sK
KyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQorICAgIFdlYk1lZGlhS2V5U3RvcmFnZU1h
bmFnZXIqIG1hbmFnZXIgPSBXZWJQcm9jZXNzOjpzaGFyZWQoKS5zdXBwbGVtZW50PFdlYk1lZGlh
S2V5U3RvcmFnZU1hbmFnZXI+KCk7CisgICAgcmV0dXJuIG1hbmFnZXIgPyBtYW5hZ2VyLT5tZWRp
YUtleVN0b3JhZ2VEaXJlY3RvcnlGb3JPcmlnaW4oU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2Vj
dXJpdHlPcmlnaW4ob3JpZ2luKSkgOiBlbXB0eVN0cmluZygpOworI2Vsc2UKKyAgICByZXR1cm4g
ZW1wdHlTdHJpbmcoKTsKKyNlbmRpZgorfQogCiB2b2lkIFdlYkNocm9tZUNsaWVudDo6cmVhY2hl
ZE1heEFwcENhY2hlU2l6ZShpbnQ2NF90KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggMWYy
NjhiZTEzNzgzZmUwODQ0YmY0YjUxNTRmY2NjZjdlMzFjMDZmMy4uOGQ0OTMzYTRiYzA0M2RjM2Jj
MjgzZDcyNzI2MDY0YTdjMTQ3YWYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0zMTMsNiAr
MzEzLDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsZXZhbnRTZWxlY3Rpb25T
ZXJ2aWNlcyhib29sIGlzVGV4dE9ubHkpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKKyAgICB2
aXJ0dWFsIFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5Rm9yT3JpZ2luKFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luKikgb3ZlcnJpZGU7CisKICAgICBTdHJpbmcgbV9jYWNoZWRUb29sVGlw
OwogICAgIG11dGFibGUgUmVmUHRyPFdlYkZyYW1lPiBtX2NhY2hlZEZyYW1lU2V0TGFyZ2VzdEZy
YW1lOwogICAgIG11dGFibGUgYm9vbCBtX2NhY2hlZE1haW5GcmFtZUhhc0hvcml6b250YWxTY3Jv
bGxiYXI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240710</attachid>
            <date>2014-10-30 15:45:04 -0700</date>
            <delta_ts>2014-10-30 17:18:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138147-20141030154513.patch</filename>
            <type>text/plain</type>
            <size>14316</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc1MzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWIzOGUzYzRjZmJjZjE0
Y2RiODc2ZTYxM2RmYjc3M2JmZjE4NjBkMC4uNjZmNzQ1MmY4YjJlMzQ2NWE4YzQ5N2UzMGQ4MGI4
Y2VmZmNlMzY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE0LTEwLTMwICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdIEFkZCBTZXR0aW5n
IGZvciBhY2Nlc3Npbmcgc3RvcmFnZSBsb2NhdGlvbiBmb3IgTWVkaWFLZXlzIGRhdGEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODE0NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IE1lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMgdG8gcXVlcnkgZm9yIHRoZSBNZWRpYUtleXMgc3Rv
cmFnZSBkaXJlY3RvcnkKKyAgICAgICAgYnkgcGlwaW5nIHRoYXQgcmVxdWVzdCBkb3duIGZyb20g
V2ViS2l0IGFuZCBXZWJLaXQyIGludG8gU2V0dGluZ3MuCisKKyAgICAgICAgKiBodG1sL0hUTUxN
ZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeSk6IEdldCB0aGUgbG9jYXRpb24gZnJvbSBTZXR0aW5ncyBh
bmQKKyAgICAgICAgICAgIGFwcGVuZCB0aGUgY3VycmVudCBvcmlnaW4uCisgICAgICAgICogaHRt
bC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkpOiBTaW1w
bGUgc2V0dGVyLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6Om1lZGlhS2V5c1N0b3JhZ2VE
aXJlY3RvcnkpOiBTaW1wbGUgYWNjZXNzb3IuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXI6Om1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnkpOiBQYXNzIHRocm91Z2ggdG8gbV9jbGllbnQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
UGxheWVyQ2xpZW50OjptZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkpOiBEZWZh
dWx0IGltcGxlbWVudGF0aW9uLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6c3RyZWFt
U2Vzc2lvbik6IEZldGNoIHRoZSBsb2NhdGlvbiBmcm9tIE1lZGlhUGxheWVyLgorICAgICAgICAo
V2ViQ29yZTo6c2Vzc2lvblN0b3JhZ2VEaXJlY3RvcnkpOiBEZWxldGVkLgorCiAyMDE0LTEwLTI0
ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0
cmVhbWVyXSBWaWRlbyByZXNvbHV0aW9uIGNoYW5nZXMgdHJpZ2dlciBhIGNyYXNoIGluIHRoZSBU
ZXh0dXJlTWFwcGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNWY1NjIxZmM0MmNiZjJiZmNjMGRlZGUy
MjRjNjVjNmEzOGFiMTRlOC4uMjI0OTFkNjAyZmExMjJjN2MxZTQzZmFjODdhZjU3M2VjNjdjNmVi
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTEwLTMwICBKZXIgTm9i
bGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdIEFkZCBTZXR0aW5nIGZv
ciBhY2Nlc3Npbmcgc3RvcmFnZSBsb2NhdGlvbiBmb3IgTWVkaWFLZXlzIGRhdGEKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODE0NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
OgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6IFNldCBkZWZhdWx0IGxv
Y2F0aW9uLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0
b3J5XSk6IFNpbXBsZSBhY2Nlc3Nvci4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0TWVk
aWFLZXlzU3RvcmFnZURpcmVjdG9yeTpdKTogU2ltcGxlIHNldHRlci4KKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOiBQYXNzIGxvY2F0
aW9uIGZyb20gV2ViUHJlZmVyZW5jZXMgaW50byBTZXR0aW5ncy4KKwogMjAxNC0xMC0yOCAgSmVy
ZW15IEpvbmVzICA8amVyZW15akBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG9wdGltaXplZCBm
dWxsc2NyZWVuIG1vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjkwYTY0NmUyYWY4YThkODhmNDQ4OTNiMjg3
MjEyNWE4NzBhZDFkNy4uMDA4YTAyMDc1NmZlMTQ1OGE3MTRjYTcxYjZhNGY1MDc2ZGZiN2EzNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE0LTEwLTMwICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtFTUVdIEFkZCBTZXR0aW5nIGZvciBhY2Nlc3Np
bmcgc3RvcmFnZSBsb2NhdGlvbiBmb3IgTWVkaWFLZXlzIGRhdGEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODE0NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKTogUGFzcyBmcm9tIFdl
Yk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIgaW50byBTZXR0aW5ncy4KKwogMjAxNC0xMC0yOSAgSHVu
c2VvcCBKZW9uZyAgPGhzODUuamVvbmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0Nvb3JkaW5h
dGVkR3JhcGhpY3NdIFVzZSBtb2Rlcm4gZm9yLWxvb3BzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAppbmRleCAxM2IzMTUwNTJjMjAxY2YzNWFjOGU5ODQyNmZiZTk5MmZi
YmE3NmVhLi40ODc4MTU1N2E5NWMxNTc2ODA4NjNjNDgzZjVkYzNkNTIyYjQxMGU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTIxOTUsNiArMjE5NSwyMyBA
QCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhUGxheWVyS2V5TmVlZGVkKE1lZGlhUGxheWVy
KiwgVWludDhBcnJheSogaW5pdERhdGEpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK1N0cmluZyBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBj
b25zdAoreworICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IGRvY3VtZW50KCkuc2V0dGluZ3MoKTsK
KyAgICBpZiAoIXNldHRpbmdzKQorICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKKworICAg
IFN0cmluZyBzdG9yYWdlRGlyZWN0b3J5ID0gc2V0dGluZ3MtPm1lZGlhS2V5c1N0b3JhZ2VEaXJl
Y3RvcnkoKTsKKyAgICBpZiAoc3RvcmFnZURpcmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOworCisgICAgU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiA9IGRvY3Vt
ZW50KCkuc2VjdXJpdHlPcmlnaW4oKTsKKyAgICBpZiAoIW9yaWdpbikKKyAgICAgICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7CisKKyAgICByZXR1cm4gcGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHN0
b3JhZ2VEaXJlY3RvcnksIG9yaWdpbi0+ZGF0YWJhc2VJZGVudGlmaWVyKCkpOworfQorCiB2b2lk
IEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpYUtleXMqIG1lZGlhS2V5cykKIHsK
ICAgICBpZiAobV9tZWRpYUtleXMgPT0gbWVkaWFLZXlzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAppbmRleCBlOGYzZGNjZWQxYWZmZGJiOGUyMTQxNjAyMzc0NjZiYWQ0ODFl
NDhlLi5mNmM0MjNiMDgxNjI5YTA1YzE3OThhYWIwOWIzYjBmYTg1MjBmZDBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNTQ3LDYgKzU0Nyw3IEBAIHByaXZhdGU6
CiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQogICAgIHZpcnR1YWwgYm9vbCBtZWRp
YVBsYXllcktleU5lZWRlZChNZWRpYVBsYXllciosIFVpbnQ4QXJyYXkqKSBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIFN0cmluZyBtZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBj
b25zdCBvdmVycmlkZTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKElPU19BSVJQTEFZKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCmluZGV4IDVkN2JjMTliMGUyNTM2MTdlNjFiYjNmMGE2ODlkZWQwYjQyNTg3
MzUuLmQ4YzM3NDY4MjhkYzZkOGYzZjI0NWQwOGQxNTRhZDE4ZmNjODM3ZjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKQEAgLTI2Nyw2ICsyNjcsMTEgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IHNob3VsZE1hbmFnZUF1ZGlvU2Vzc2lvbkNhdGVnb3J5KCkgeyByZXR1cm4gZ01hbmFnZUF1ZGlv
U2Vzc2lvbjsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQorICAg
IFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeShjb25zdCBT
dHJpbmcmIGRpcmVjdG9yeSkgeyBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkgPSBkaXJlY3Rv
cnk7IH0KKyAgICBjb25zdCBTdHJpbmcmIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25z
dCB7IHJldHVybiBtX21lZGlhS2V5c1N0b3JhZ2VEaXJlY3Rvcnk7IH0KKyNlbmRpZgorCiBwcml2
YXRlOgogICAgIGV4cGxpY2l0IFNldHRpbmdzKFBhZ2UqKTsKIApAQCAtMzQ2LDYgKzM1MSwxMCBA
QCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIGdNYW5hZ2VBdWRpb1Nl
c3Npb247CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCisgICAgU3Ry
aW5nIG1fbWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeTsKKyNlbmRpZgorCiAgICAgc3RhdGljIGRv
dWJsZSBnSGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWw7CiAKICAgICBzdGF0aWMg
Ym9vbCBnTG93UG93ZXJWaWRlb0F1ZGlvQnVmZmVyU2l6ZUVuYWJsZWQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKaW5kZXggZWQ5ZDg4MzM2
NDFkNTNjOThjNzNhNjY0ZWRjNGM1MTllZWZiOWYxMS4uMTNjZjJhZjczZWFmZDY3NDFjZjlkYjk1
NzA1Y2U4Zjc5M2QwZmM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcApAQCAtMTEyMSw2ICsxMTIxLDExIEBAIGJvb2wgTWVkaWFQbGF5
ZXI6OmtleU5lZWRlZChVaW50OEFycmF5KiBpbml0RGF0YSkKIHsKICAgICByZXR1cm4gbV9jbGll
bnQubWVkaWFQbGF5ZXJLZXlOZWVkZWQodGhpcywgaW5pdERhdGEpOwogfQorCitTdHJpbmcgTWVk
aWFQbGF5ZXI6Om1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKSBjb25zdAoreworICAgIHJldHVy
biBtX2NsaWVudC5tZWRpYVBsYXllck1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkoKTsKK30KICNl
bmRpZgogCiBTdHJpbmcgTWVkaWFQbGF5ZXI6OnJlZmVycmVyKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5oCmluZGV4IGUyYjI0MjZkOTE2
Y2VhM2VkNmQzNWExNDdiYTRjZjJmYzc2ODg5NzcuLmIxNTM3ZDcwYmQ1ZWNkMDY4NDZmMWQ5ZmUy
NTY2MjE2NzA3OTllY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
TWVkaWFQbGF5ZXIuaApAQCAtMjE1LDYgKzIxNSw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUFfVjIpCiAgICAgdmlydHVhbCBib29sIG1lZGlhUGxheWVyS2V5TmVlZGVk
KE1lZGlhUGxheWVyKiwgVWludDhBcnJheSopIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVh
bCBTdHJpbmcgbWVkaWFQbGF5ZXJNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQogI2VuZGlmCiAgICAgCiAjaWYgRU5BQkxFKElPU19BSVJQ
TEFZKQpAQCAtNTE2LDYgKzUxNyw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShFTkNSWVBURURf
TUVESUFfVjIpCiAgICAgYm9vbCBrZXlOZWVkZWQoVWludDhBcnJheSogaW5pdERhdGEpOworICAg
IFN0cmluZyBtZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3Q7CiAjZW5kaWYKIAogICAg
IFN0cmluZyByZWZlcnJlcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
b3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4
IDdhMTJlODE2NTdmYzJiOWEwMGIxNmM0ZDQyZmNkNGUxM2YyNjc0OGIuLjFjOTQ4ODAzZTFjMDBl
MTRlMzIxOTgwZTllMzYzODgwYTRjM2QyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0K
QEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoTUVESUFfU09VUkNFKSAmJiBVU0UoQVZGT1VO
REFUSU9OKQogCiAjaW1wb3J0ICJDRE1TZXNzaW9uTWVkaWFTb3VyY2VBVkZPYmpDLmgiCisjaW1w
b3J0ICJGaWxlU3lzdGVtLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVNv
dXJjZVByaXZhdGVBVkZPYmpDLmgiCiAjaW1wb3J0ICJNZWRpYVNvdXJjZVByaXZhdGVDbGllbnQu
aCIKQEAgLTY3NCwyOSArNjc1LDI0IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDOjpzaXplQ2hhbmdlZCgpCiB9CiAKICNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
X1YyKQotc3RhdGljIGNvbnN0IFN0cmluZyYgc2Vzc2lvblN0b3JhZ2VEaXJlY3RvcnkoKQotewot
ICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxTdHJpbmc+IHNlc3Npb25EaXJlY3RvcnlQYXRoOwot
Ci0gICAgaWYgKHNlc3Npb25EaXJlY3RvcnlQYXRoLmdldCgpLmlzRW1wdHkoKSkgewotICAgICAg
ICBjaGFyIGNhY2hlRGlyZWN0b3J5UGF0aFtQQVRIX01BWF07Ci0gICAgICAgIGlmICghY29uZnN0
cihfQ1NfREFSV0lOX1VTRVJfQ0FDSEVfRElSLCBjYWNoZURpcmVjdG9yeVBhdGgsIFBBVEhfTUFY
KSkKLSAgICAgICAgICAgIHJldHVybiBXVEY6OmVtcHR5U3RyaW5nKCk7Ci0KLSAgICAgICAgc2Vz
c2lvbkRpcmVjdG9yeVBhdGguZ2V0KCkuYXBwZW5kKFN0cmluZyhjYWNoZURpcmVjdG9yeVBhdGgs
IHN0cmxlbihjYWNoZURpcmVjdG9yeVBhdGgpKSk7Ci0gICAgICAgIHNlc3Npb25EaXJlY3RvcnlQ
YXRoLmdldCgpLmFwcGVuZChBU0NJSUxpdGVyYWwoIkFWU3RyZWFtU2Vzc2lvbi8iKSk7Ci0gICAg
fQotICAgIAotICAgIHJldHVybiBzZXNzaW9uRGlyZWN0b3J5UGF0aC5nZXQoKTsKLX0KLQogQVZT
dHJlYW1TZXNzaW9uKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnN0cmVh
bVNlc3Npb24oKQogewogICAgIGlmICghZ2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSB8fCAhW2dl
dEFWU3RyZWFtU2Vzc2lvbkNsYXNzKCkgaW5zdGFuY2VzUmVzcG9uZFRvU2VsZWN0b3I6QHNlbGVj
dG9yKGluaXRXaXRoU3RvcmFnZURpcmVjdG9yeUF0VVJMOildKQogICAgICAgICByZXR1cm4gbmls
OwogCi0gICAgaWYgKCFtX3N0cmVhbVNlc3Npb24pCi0gICAgICAgIG1fc3RyZWFtU2Vzc2lvbiA9
IGFkb3B0TlMoW1tnZXRBVlN0cmVhbVNlc3Npb25DbGFzcygpIGFsbG9jXSBpbml0V2l0aFN0b3Jh
Z2VEaXJlY3RvcnlBdFVSTDpbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOnNlc3Npb25TdG9yYWdlRGly
ZWN0b3J5KCldXSk7CisgICAgaWYgKCFtX3N0cmVhbVNlc3Npb24pIHsKKyAgICAgICAgU3RyaW5n
IHN0b3JhZ2VEaXJlY3RvcnkgPSBtX3BsYXllci0+bWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeSgp
OworICAgICAgICBpZiAoc3RvcmFnZURpcmVjdG9yeS5pc0VtcHR5KCkpCisgICAgICAgICAgICBy
ZXR1cm4gbmlsOworCisgICAgICAgIGlmICghZmlsZUV4aXN0cyhzdG9yYWdlRGlyZWN0b3J5KSkg
eworICAgICAgICAgICAgaWYgKCFtYWtlQWxsRGlyZWN0b3JpZXMoc3RvcmFnZURpcmVjdG9yeSkp
CisgICAgICAgICAgICAgICAgcmV0dXJuIG5pbDsKKyAgICAgICAgfQorCisgICAgICAgIFN0cmlu
ZyBzdG9yYWdlUGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChzdG9yYWdlRGlyZWN0b3J5
LCAiU2VjdXJlU3RvcC5wbGlzdCIpOworICAgICAgICBtX3N0cmVhbVNlc3Npb24gPSBhZG9wdE5T
KFtbZ2V0QVZTdHJlYW1TZXNzaW9uQ2xhc3MoKSBhbGxvY10gaW5pdFdpdGhTdG9yYWdlRGlyZWN0
b3J5QXRVUkw6W05TVVJMIGZpbGVVUkxXaXRoUGF0aDpzdG9yYWdlUGF0aF1dKTsKKyAgICB9CiAg
ICAgcmV0dXJuIG1fc3RyZWFtU2Vzc2lvbi5nZXQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggYzhmZTg2
NDMyOTlkMTkzNzU0YjkzOGU4ZTZmYmQ0YjYyYmM1NjE1MS4uMzRhMmZjZmFmOWIwNDQ2NTgyODE1
MzQ0YzY2ZGY5YjRlN2Q3YzgzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xNDcsNiArMTQ3LDcgQEAKICNkZWZp
bmUgV2ViS2l0SW1hZ2VDb250cm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0SW1hZ2VD
b250cm9sc0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEdhbWVwYWRzRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRHYW1lcGFkc0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFNlcnZpY2VDb250cm9s
c0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0U2VydmljZUNvbnRyb2xzRW5hYmxlZCIKKyNk
ZWZpbmUgV2ViS2l0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeUtleSBAIldlYktpdE1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3RvcnkiCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLy8gVGhlc2UgYXJl
IHByaXZhdGUgYm90aCBiZWNhdXNlIGNhbGxlcnMgc2hvdWxkIGJlIHVzaW5nIHRoZSBjb3ZlciBt
ZXRob2RzIGFuZCBiZWNhdXNlIHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXMubW0KaW5kZXggZTBlY2ZkZmU1M2NkNDY5OTViNDY0MDkzY2I0NWQ4MzU2ZDA0MTM1
Ny4uZDJhZGRhZTUyNTQyMDI3ODI5ODc3NTc2ZGUwNTdhOWQxY2I2NGZkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC01ODAsNiArNTgwLDkgQEAg
cHVibGljOgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRTZXJ2
aWNlQ29udHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgogICAgICAgICBbTlNOdW1i
ZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRFbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25l
bnRQcmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCisgICAgICAg
IEAifi9MaWJyYXJ5L1dlYktpdC9NZWRpYUtleXMiLCBXZWJLaXRNZWRpYUtleXNTdG9yYWdlRGly
ZWN0b3J5S2V5LAorI2VuZGlmCiAgICAgICAgIG5pbF07CiAKICNpZiAhUExBVEZPUk0oSU9TKQpA
QCAtMjQ2NSw2ICsyNDY4LDE2IEBAIHN0YXRpYyBib29sIG5lZWRzU2NyZWVuRm9udHNFbmFibGVk
UXVpcmsoKQogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0U2hv
dWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHlQcmVmZXJlbmNlS2V5XTsKIH0KIAorLSAoTlNT
dHJpbmcgKiltZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5Cit7CisgICAgcmV0dXJuIFtbc2VsZiBf
c3RyaW5nVmFsdWVGb3JLZXk6V2ViS2l0TWVkaWFLZXlzU3RvcmFnZURpcmVjdG9yeUtleV0gc3Ry
aW5nQnlTdGFuZGFyZGl6aW5nUGF0aF07Cit9CisKKy0gKHZvaWQpc2V0TWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeTooTlNTdHJpbmcgKilkaXJlY3RvcnkKK3sKKyAgICBbc2VsZiBfc2V0U3RyaW5n
VmFsdWU6ZGlyZWN0b3J5IGZvcktleTpXZWJLaXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5S2V5
XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVy
bmFsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKaW5kZXggODdhNGM4ZDQzZTU2ZTc3YmIzNGVmOGI4NjRhNDU2OWQzY2M1ZTY0My4uMTZk
NzgyMmI5NDNiNDBiMmRhYjk5YzIxM2Q4NDE4M2JmZDljMDdiNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC00MjIsNiArNDIy
LDkgQEAgZXh0ZXJuIE5TU3RyaW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50
ZXJuYWxOb3RpZmljYXRpb247CiAtICh2b2lkKXNldEdhbWVwYWRzRW5hYmxlZDooQk9PTClmbGFn
OwogLSAoQk9PTClnYW1lcGFkc0VuYWJsZWQ7CiAKKy0gKHZvaWQpc2V0TWVkaWFLZXlzU3RvcmFn
ZURpcmVjdG9yeTooTlNTdHJpbmcgKilkaXJlY3Rvcnk7CistIChOU1N0cmluZyAqKW1lZGlhS2V5
c1N0b3JhZ2VEaXJlY3Rvcnk7CisKICNpZiBUQVJHRVRfT1NfSVBIT05FICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgODAwMDAKIC0gKHZvaWQpX3NldEFsbG93Q29tcG9zaXRp
bmdMYXllclZpc3VhbERlZ3JhZGF0aW9uOihCT09MKWZsYWc7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxNGU0MTI5YmI2MGM0NDczZWQ1MjY2MmNiZmMxMmI3
ZDVkZDJkOWU4Li5iOTQ5MGMyOWQyODAwNjJkZjNhOTc0YmU5MTMzZDY4ZGI3ZTVjOGYzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KKysrIGIvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0yNDAzLDYgKzI0MDMsMTAgQEAgc3Rh
dGljIGJvb2wgbmVlZHNTZWxmUmV0YWluV2hpbGVMb2FkaW5nUXVpcmsoKQogICAgIFtbc2VsZiB3
aW5kb3ddIHNldEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQ6W3ByZWZlcmVuY2VzIGFjY2VsZXJh
dGVkRHJhd2luZ0VuYWJsZWRdXTsKICAgICBbV0FLVmlldyBfc2V0SW50ZXJwb2xhdGlvblF1YWxp
dHk6W3ByZWZlcmVuY2VzIF9pbnRlcnBvbGF0aW9uUXVhbGl0eV1dOwogI2VuZGlmCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBX1YyKQorICAgIHNldHRpbmdzLnNldE1lZGlhS2V5c1N0b3Jh
Z2VEaXJlY3RvcnkoW3ByZWZlcmVuY2VzIG1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnldKTsKKyNl
bmRpZgogfQogCiBzdGF0aWMgaW5saW5lIElNUCBnZXRNZXRob2QoaWQgbywgU0VMIHMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMTE3ZDA3
MjdhMzcxYTYzMzRkMzVhZDgzOWMyODEzMWU0NzdiNzY1Yi4uNWZlZGY2OWIyMWEzYzU5MmE4OWIx
NjBiNjEwMzdjZjNmOGU3MTYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtODEsNiArODEsNyBAQAogI2luY2x1ZGUgIldlYkluc3BlY3Rv
ck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yVUkuaCIKICNpbmNsdWRlICJXZWJJ
bnNwZWN0b3JVSU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViTWVkaWFLZXlTdG9yYWdlTWFuYWdl
ci5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIldlYk9w
ZW5QYW5lbFJlc3VsdExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0aW9uUGFyYW1l
dGVycy5oIgpAQCAtNDc0LDYgKzQ3NSwxMiBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBh
Z2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKIAogICAg
IGZvciAoYXV0byYgbWltZVR5cGUgOiBwYXJhbWV0ZXJzLm1pbWVUeXBlc1dpdGhDdXN0b21Db250
ZW50UHJvdmlkZXJzKQogICAgICAgICBtX21pbWVUeXBlc1dpdGhDdXN0b21Db250ZW50UHJvdmlk
ZXJzLmFkZChtaW1lVHlwZSk7CisKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCisg
ICAgaWYgKFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIqIG1hbmFnZXIgPSBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5zdXBwbGVtZW50PFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXI+KCkpCisgICAgICAg
IG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRNZWRpYUtleXNTdG9yYWdlRGlyZWN0b3J5KG1hbmFnZXIt
Pm1lZGlhS2V5U3RvcmFnZURpcmVjdG9yeSgpKTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYlBhZ2U6
OnJlaW5pdGlhbGl6ZVdlYlBhZ2UoY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFy
YW1ldGVycykK
</data>

          </attachment>
      

    </bug>

</bugzilla>