<?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>128567</bug_id>
          
          <creation_ts>2014-02-10 16:56:03 -0800</creation_ts>
          <short_desc>Add hooks for wrapping CryptoKeys in SerializedScriptValue</short_desc>
          <delta_ts>2014-02-10 22:27:41 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>jsbell</cc>
    
    <cc>kangil.han</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>979148</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 16:56:03 -0800</bug_when>
    <thetext>SerializedScriptValue can be written to disk, via IndexedDB or History APIs. We should not store crypto keys as plaintext - they are like passwords, and passwords are encrypted in Keychain or equivalent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979158</commentid>
    <comment_count>1</comment_count>
      <attachid>223775</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-10 17:23:01 -0800</bug_when>
    <thetext>Created attachment 223775
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979282</commentid>
    <comment_count>2</comment_count>
      <attachid>223775</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 22:27:39 -0800</bug_when>
    <thetext>Comment on attachment 223775
proposed patch

Clearing flags on attachment: 223775

Committed r163863: &lt;http://trac.webkit.org/changeset/163863&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979283</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-10 22:27:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223775</attachid>
            <date>2014-02-10 17:23:01 -0800</date>
            <delta_ts>2014-02-10 22:27:39 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>DummyClient.txt</filename>
            <type>text/plain</type>
            <size>18002</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MzgzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE0LTAyLTEwICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBob29rcyBmb3Igd3Jh
cHBpbmcgQ3J5cHRvS2V5cyBpbiBTZXJpYWxpemVkU2NyaXB0VmFsdWUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODU2NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcDogQ2hhbmdlZCBTZXJpYWxpemVkU2NyaXB0VmFsdWUgdG8gc2VyaWFs
aXplCisgICAgICAgIHdyYXBwZWQga2V5cy4gQWRkZWQgYSB2ZXJzaW9uIG51bWJlciB0byBjcnlw
dG8ga2V5IHNlcmlhbGl6YXRpb24uCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OndyYXBDcnlwdG9LZXkpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OnVud3JhcENyeXB0b0tleSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6
CisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKiBwYWdl
L0Nocm9tZUNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojp3cmFwQ3J5
cHRvS2V5KToKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudDo6dW53cmFwQ3J5cHRvS2V5
KToKKyAgICAgICAgSGFuZCB3cmFwcGluZy91bndyYXBwaW5nIG92ZXIgdG8gY2xpZW50IGNvZGUu
CisKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjp3cmFwQ3J5cHRvS2V5KToKKyAgICAgICAgKFdlYkNv
cmU6Oldvcmtlckdsb2JhbFNjb3BlOjp1bndyYXBDcnlwdG9LZXkpOgorICAgICAgICAqIHdvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgTm90IGltcGxlbWVudGVkIGluIHdvcmtl
cnMuIFN1YnRsZUNyeXB0byBpcyBjdXJyZW50bHkgbm90IGV4cG9zZWQgaW4gd29ya2Vycy4gSXQg
dXNlZAorICAgICAgICB0byBiZSBwb3NzaWJsZSBpbiBXZWJLaXQgaW1wbGVtZW50YXRpb24gdG8g
cG9zdCBhIENyeXB0b0tleSB0byBhIHdvcmtlciBhbnl3YXksCisgICAgICAgIGJ1dCB0aGlzIGRv
ZXNuJ3Qgd29yayBhbnkgbW9yZS4KKwogMjAxNC0wMi0xMCAgQnJlbmRhbiBMb25nICA8Yi5sb25n
QGNhYmxlbGFicy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHVEsgYnVpbGQgZml4IGFmdGVy
IHIxNjM4MTYuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHJldmlzaW9uIDE2MzgxMCkKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJKU01lc3NhZ2VQb3J0LmgiCiAjaW5jbHVkZSAi
SlNOYXZpZ2F0b3IuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNs
dWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMTY2LDYg
KzE2Nyw4IEBAIHN0YXRpYyB1bnNpZ25lZCB0eXBlZEFycmF5RWxlbWVudFNpemUoQXIKIAogI2lm
IEVOQUJMRShTVUJUTEVfQ1JZUFRPKQogCitjb25zdCB1aW50MzJfdCBjdXJyZW50S2V5Rm9ybWF0
VmVyc2lvbiA9IDE7CisKIGVudW0gY2xhc3MgQ3J5cHRvS2V5Q2xhc3NTdWJ0YWcgewogICAgIEhN
QUMgPSAwLAogICAgIEFFUyA9IDEsCkBAIC0yOTMsNyArMjk2LDExIEBAIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBOb25JbmRleFByb3BlcnRpZXMKICAqICAgIHwgQXJyYXlCdWZmZXIKICAqICAgIHwg
QXJyYXlCdWZmZXJWaWV3VGFnIEFycmF5QnVmZmVyVmlld1N1YnRhZyA8Ynl0ZU9mZnNldDp1aW50
MzJfdD4gPGJ5dGVMZW5ndGg6dWludDMyX3Q+IChBcnJheUJ1ZmZlciB8IE9iamVjdFJlZmVyZW5j
ZSkKICAqICAgIHwgQXJyYXlCdWZmZXJUcmFuc2ZlclRhZyA8dmFsdWU6dWludDMyX3Q+Ci0gKiAg
ICB8IENyeXB0b0tleVRhZyA8ZXh0cmFjdGFibGU6aW50MzJfdD4gPHVzYWdlc0NvdW50OnVpbnQz
Ml90PiA8dXNhZ2VzOmJ5dGV7dXNhZ2VzQ291bnR9PiBDcnlwdG9LZXlDbGFzc1N1YnRhZyAoQ3J5
cHRvS2V5SE1BQyB8IENyeXB0b0tleUFFUyB8IENyeXB0b0tleVJTQSkKKyAqICAgIHwgQ3J5cHRv
S2V5VGFnIDx3cmFwcGVkS2V5TGVuZ3RoOnVpbnQzMl90PiA8ZmFjdG9yOmJ5dGV7d3JhcHBlZEtl
eUxlbmd0aH0+CisgKgorICogSW5zaWRlIHdyYXBwZWQgY3J5cHRvIGtleSwgZGF0YSBpcyBzZXJp
YWxpemVkIGluIHRoaXMgZm9ybWF0OgorICoKKyAqIDxrZXlGb3JtYXRWZXJzaW9uOnVpbnQzMl90
PiA8ZXh0cmFjdGFibGU6aW50MzJfdD4gPHVzYWdlc0NvdW50OnVpbnQzMl90PiA8dXNhZ2VzOmJ5
dGV7dXNhZ2VzQ291bnR9PiBDcnlwdG9LZXlDbGFzc1N1YnRhZyAoQ3J5cHRvS2V5SE1BQyB8IENy
eXB0b0tleUFFUyB8IENyeXB0b0tleVJTQSkKICAqCiAgKiBTdHJpbmcgOi0KICAqICAgICAgRW1w
dHlTdHJpbmdUYWcKQEAgLTM4Niw2ICszOTMsMjQgQEAgcHJvdGVjdGVkOgogICAgIE1hcmtlZEFy
Z3VtZW50QnVmZmVyIG1fZ2NCdWZmZXI7CiB9OwogCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8p
CitzdGF0aWMgYm9vbCB3cmFwQ3J5cHRvS2V5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVmVjdG9y
PHVpbnQ4X3Q+JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSkKK3sKKyAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dEZyb21FeGVjU3RhdGUoZXhlYyk7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25D
b250ZXh0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQtPndyYXBDcnlwdG9LZXkoa2V5LCB3cmFwcGVkS2V5KTsKK30KKworc3RhdGljIGJv
b2wgdW53cmFwQ3J5cHRvS2V5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+
JiB3cmFwcGVkS2V5LCBWZWN0b3I8dWludDhfdD4mIGtleSkKK3sKKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4
dEZyb21FeGVjU3RhdGUoZXhlYyk7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PnVud3JhcENyeXB0b0tleSh3cmFwcGVkS2V5LCBrZXkpOworfQorI2VuZGlmCisKICNpZiBBU1NV
TUVfTElUVExFX0VORElBTgogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0YXRpYyB2b2lkIHdyaXRl
TGl0dGxlRW5kaWFuKFZlY3Rvcjx1aW50OF90PiYgYnVmZmVyLCBUIHZhbHVlKQogewpAQCAtODMw
LDcgKzg1NSwxNCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQogICAgICAg
ICAgICAgaWYgKENyeXB0b0tleSoga2V5ID0gdG9DcnlwdG9LZXkob2JqKSkgewogICAgICAgICAg
ICAgICAgIHdyaXRlKENyeXB0b0tleVRhZyk7Ci0gICAgICAgICAgICAgICAgd3JpdGUoa2V5KTsK
KyAgICAgICAgICAgICAgICBWZWN0b3I8dWludDhfdD4gc2VyaWFsaXplZEtleTsKKyAgICAgICAg
ICAgICAgICBWZWN0b3I8U3RyaW5nPiBkdW1teUJsb2JVUkxzOworICAgICAgICAgICAgICAgIENs
b25lU2VyaWFsaXplciByYXdLZXlTZXJpYWxpemVyKG1fZXhlYywgbnVsbHB0ciwgbnVsbHB0ciwg
ZHVtbXlCbG9iVVJMcywgc2VyaWFsaXplZEtleSk7CisgICAgICAgICAgICAgICAgcmF3S2V5U2Vy
aWFsaXplci53cml0ZShrZXkpOworICAgICAgICAgICAgICAgIFZlY3Rvcjx1aW50OF90PiB3cmFw
cGVkS2V5OworICAgICAgICAgICAgICAgIGlmICghd3JhcENyeXB0b0tleShtX2V4ZWMsIHNlcmlh
bGl6ZWRLZXksIHdyYXBwZWRLZXkpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICAgICAgd3JpdGUod3JhcHBlZEtleSk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAjZW5kaWYKQEAgLTEwOTUsNiArMTEyNyw4IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIHdyaXRlKGNvbnN0IENyeXB0b0tleSoga2V5KQogICAgIHsKKyAg
ICAgICAgd3JpdGUoY3VycmVudEtleUZvcm1hdFZlcnNpb24pOworCiAgICAgICAgIHdyaXRlKGtl
eS0+ZXh0cmFjdGFibGUoKSk7CiAKICAgICAgICAgQ3J5cHRvS2V5VXNhZ2UgdXNhZ2VzID0ga2V5
LT51c2FnZXNCaXRtYXAoKTsKQEAgLTE5ODksNiArMjAyMywxMCBAQCBwcml2YXRlOgogCiAgICAg
Ym9vbCByZWFkQ3J5cHRvS2V5KEpTVmFsdWUmIGNyeXB0b0tleSkKICAgICB7CisgICAgICAgIHVp
bnQzMl90IGtleUZvcm1hdFZlcnNpb247CisgICAgICAgIGlmICghcmVhZChrZXlGb3JtYXRWZXJz
aW9uKSB8fCBrZXlGb3JtYXRWZXJzaW9uID4gY3VycmVudEtleUZvcm1hdFZlcnNpb24pCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAgaW50MzJfdCBleHRyYWN0YWJsZTsKICAg
ICAgICAgaWYgKCFyZWFkKGV4dHJhY3RhYmxlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
QEAgLTIyNjAsOCArMjI5OCwxOSBAQCBwcml2YXRlOgogICAgICAgICB9CiAjaWYgRU5BQkxFKFNV
QlRMRV9DUllQVE8pCiAgICAgICAgIGNhc2UgQ3J5cHRvS2V5VGFnOiB7CisgICAgICAgICAgICBW
ZWN0b3I8dWludDhfdD4gd3JhcHBlZEtleTsKKyAgICAgICAgICAgIGlmICghcmVhZCh3cmFwcGVk
S2V5KSkgeworICAgICAgICAgICAgICAgIGZhaWwoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IHNl
cmlhbGl6ZWRLZXk7CisgICAgICAgICAgICBpZiAoIXVud3JhcENyeXB0b0tleShtX2V4ZWMsIHdy
YXBwZWRLZXksIHNlcmlhbGl6ZWRLZXkpKSB7CisgICAgICAgICAgICAgICAgZmFpbCgpOworICAg
ICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlKCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBKU1ZhbHVlIGNyeXB0b0tleTsKLSAgICAgICAgICAgIGlmICghcmVhZENyeXB0b0tleShjcnlw
dG9LZXkpKSB7CisgICAgICAgICAgICBDbG9uZURlc2VyaWFsaXplciByYXdLZXlEZXNlcmlhbGl6
ZXIobV9leGVjLCBtX2dsb2JhbE9iamVjdCwgbnVsbHB0ciwgbnVsbHB0ciwgc2VyaWFsaXplZEtl
eSk7CisgICAgICAgICAgICBpZiAoIXJhd0tleURlc2VyaWFsaXplci5yZWFkQ3J5cHRvS2V5KGNy
eXB0b0tleSkpIHsKICAgICAgICAgICAgICAgICBmYWlsKCk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIEpTVmFsdWUoKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAkocmV2aXNpb24gMTYzNzkwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTk5NCw0ICs1OTk0LDIyIEBAIHZvaWQgRG9jdW1lbnQ6OmVuc3Vy
ZVBsdWdJbnNJbmplY3RlZFNjcmkKICAgICBtX2hhc0luamVjdGVkUGx1Z0luc1NjcmlwdCA9IHRy
dWU7CiB9CiAKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKK2Jvb2wgRG9jdW1lbnQ6OndyYXBD
cnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiBrZXksIFZlY3Rvcjx1aW50OF90PiYgd3Jh
cHBlZEtleSkKK3sKKyAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOworICAgIGlmICghcGFn
ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBwYWdlLT5jaHJvbWUoKS5jbGll
bnQoKS53cmFwQ3J5cHRvS2V5KGtleSwgd3JhcHBlZEtleSk7Cit9CisKK2Jvb2wgRG9jdW1lbnQ6
OnVud3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mIHdyYXBwZWRLZXksIFZlY3Rv
cjx1aW50OF90PiYga2V5KQoreworICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CisgICAg
aWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLnVud3JhcENyeXB0b0tleSh3cmFwcGVkS2V5LCBrZXkpOworfQorI2VuZGlm
IC8vIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTYzNzkwKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMjYsNiArMTIyNiwxMSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHNldFZpc3VhbFVwZGF0ZXNBbGxvd2VkQnlDbGllbnQoYm9vbCk7CiAK
KyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKyAgICB2aXJ0dWFsIGJvb2wgd3JhcENyeXB0b0tl
eShjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIGJvb2wgdW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rv
cjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPHVpbnQ4X3Q+JiBrZXkpIG92ZXJyaWRlOwor
I2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBlbnVtIENvbnN0cnVjdGlvbkZsYWdzIHsgU3ludGhl
c2l6ZWQgPSAxLCBOb25SZW5kZXJlZFBsYWNlaG9sZGVyID0gMSA8PCAxIH07CiAgICAgRG9jdW1l
bnQoRnJhbWUqLCBjb25zdCBVUkwmLCB1bnNpZ25lZCA9IERlZmF1bHREb2N1bWVudENsYXNzLCB1
bnNpZ25lZCBjb25zdHJ1Y3Rpb25GbGFncyA9IDApOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCShyZXZpc2lvbiAxNjM3OTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
OCw2ICs4OCw3IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQkxPQikKICAgICBQdWJsaWNVUkxNYW5h
Z2VyJiBwdWJsaWNVUkxNYW5hZ2VyKCk7CiAjZW5kaWYKKwogICAgIC8vIEFjdGl2ZSBvYmplY3Rz
IGFyZSBub3QgZ2FyYmFnZSBjb2xsZWN0ZWQgZXZlbiBpZiBpbmFjY2Vzc2libGUsIGUuZy4gYmVj
YXVzZSB0aGVpciBhY3Rpdml0eSBtYXkgcmVzdWx0IGluIGNhbGxiYWNrcyBiZWluZyBpbnZva2Vk
LgogICAgIGJvb2wgY2FuU3VzcGVuZEFjdGl2ZURPTU9iamVjdHMoKTsKICAgICAvLyBBY3RpdmUg
b2JqZWN0cyBjYW4gYmUgYXNrZWQgdG8gc3VzcGVuZCBldmVuIGlmIGNhblN1c3BlbmRBY3RpdmVE
T01PYmplY3RzKCkgcmV0dXJucyAnZmFsc2UnIC0KQEAgLTE1Nyw2ICsxNTgsMTEgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0RGF0YWJhc2VDb250ZXh0KERhdGFiYXNlQ29udGV4dCopOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKyAgICB2aXJ0dWFsIGJvb2wgd3JhcENyeXB0
b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVk
S2V5KSA9IDA7CisgICAgdmlydHVhbCBib29sIHVud3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8
dWludDhfdD4mIHdyYXBwZWRLZXksIFZlY3Rvcjx1aW50OF90PiYga2V5KSA9IDA7CisjZW5kaWYK
KwogcHJvdGVjdGVkOgogICAgIGNsYXNzIEFkZENvbnNvbGVNZXNzYWdlVGFzayA6IHB1YmxpYyBU
YXNrIHsKICAgICBwdWJsaWM6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJl
dmlzaW9uIDE2Mzc5MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQwMyw2ICs0MDMsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBi
b29sIHNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZyYW1lVmlldyhjb25zdCBGcmFtZVZpZXcqKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisgICAg
dmlydHVhbCBib29sIHdyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9y
PHVpbnQ4X3Q+JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgdW53
cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYsIFZlY3Rvcjx1aW50OF90PiYpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwg
fkNocm9tZUNsaWVudCgpIHsgfQogfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwCShyZXZpc2lvbiAxNjM3OTApCisrKyBTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQzLDQg
KzM0MywxNiBAQCBXb3JrZXJFdmVudFF1ZXVlJiBXb3JrZXJHbG9iYWxTY29wZTo6ZXZlCiAgICAg
cmV0dXJuIG1fZXZlbnRRdWV1ZTsKIH0KIAorI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQorYm9v
bCBXb3JrZXJHbG9iYWxTY29wZTo6d3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4m
LCBWZWN0b3I8dWludDhfdD4mKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBXb3Jr
ZXJHbG9iYWxTY29wZTo6dW53cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYsIFZl
Y3Rvcjx1aW50OF90PiYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorI2VuZGlmIC8vIEVOQUJM
RShTVUJUTEVfQ1JZUFRPKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCShyZXZpc2lvbiAxNjM3OTApCisr
KyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEzNSw2ICsxMzUsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBhZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlLCBNZXNzYWdlTGV2ZWws
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRlbnRpZmllciA9
IDApIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisgICAgICAgIHZpcnR1
YWwgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYga2V5LCBWZWN0b3I8
dWludDhfdD4mIHdyYXBwZWRLZXkpIG92ZXJyaWRlOworICAgICAgICB2aXJ0dWFsIGJvb2wgdW53
cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgd3JhcHBlZEtleSwgVmVjdG9yPHVp
bnQ4X3Q+JiBrZXkpIG92ZXJyaWRlOworI2VuZGlmCisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBz
dGQ6OnVuaXF1ZV9wdHI8R3JvdXBTZXR0aW5ncz4sIFdvcmtlclRocmVhZCosIFBhc3NSZWZQdHI8
U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbik7CiAgICAgICAgIHZvaWQgYXBwbHlDb250ZW50U2Vj
dXJpdHlQb2xpY3lGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29udGVudFNlY3VyaXR5UG9saWN5
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OkhlYWRlclR5cGUpOwpJbmRleDogU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2
aXNpb24gMTYzODM4KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDItMTAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIGhvb2tzIGZvciB3cmFwcGluZyBDcnlwdG9LZXlzIGlu
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTI4NTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5Ojp3cmFwQ3J5cHRvS2V5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5Ojp1bndyYXBDcnlwdG9LZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojp3cmFwQ3J5cHRvS2V5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50Ojp1bndyYXBDcnlwdG9LZXkpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIER1
bW15IGltcGxlbWVudGF0aW9uLCB0byBiZSBmaWxsZWQgaW4gbGF0ZXIuCisKIDIwMTQtMDItMTAg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgU2hvdyBh
IGRlYnVnIHRpbGUgbWFwIGluZGljYXRvciBmb3IgVUktc2lkZSBjb21wb3NpdGluZwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDE2Mzc5
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NDg1LDQgKzQ0ODUsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldFNjcm9s
bFBpbm5pbmdCZWhhdgogICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlNldFNjcm9sbFBpbm5pbmdCZWhhdmlvcihwaW5uaW5nKSwgbV9wYWdlSUQpOwogfQogCisjaWYg
RU5BQkxFKFNVQlRMRV9DUllQVE8pCit2b2lkIFdlYlBhZ2VQcm94eTo6d3JhcENyeXB0b0tleShj
b25zdCBWZWN0b3I8dWludDhfdD4mIGtleSwgYm9vbCYgc3VjY2VlZGVkLCBWZWN0b3I8dWludDhf
dD4mIHdyYXBwZWRLZXkpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICB3cmFwcGVk
S2V5ID0ga2V5OworICAgIHN1Y2NlZWRlZCA9IHRydWU7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5
Ojp1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBib29s
JiBzdWNjZWVkZWQsIFZlY3Rvcjx1aW50OF90PiYga2V5KQoreworICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQuCisgICAga2V5ID0gd3JhcHBlZEtleTsKKyAgICBzdWNjZWVkZWQgPSB0cnVlOworfQor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAkocmV2aXNpb24gMTYzNzkwKQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC04ODUsNiArODg1LDEx
IEBAIHB1YmxpYzoKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gdGFrZVZpZXdTbmFwc2hvdCgp
OwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU1VCVExFX0NSWVBUTykKKyAgICB2b2lkIHdyYXBDcnlw
dG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgYm9vbCYgc3VjY2VlZGVkLCBWZWN0b3I8dWlu
dDhfdD4mKTsKKyAgICB2b2lkIHVud3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4m
LCBib29sJiBzdWNjZWVkZWQsIFZlY3Rvcjx1aW50OF90PiYpOworI2VuZGlmCisKIHByaXZhdGU6
CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmLCBXZWJQcm9jZXNzUHJveHkmLCB1aW50NjRf
dCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDb25maWd1cmF0aW9uJik7CiAgICAgdm9pZCBwbGF0Zm9y
bUluaXRpYWxpemUoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTYzNzkwKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
MzM0LDQgKzMzNCw5IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkVXBkYXRl
Vmlld1N0YXRlKCkKICAgICAKICAgICBEaWRTYXZlVG9QYWdlQ2FjaGUoKQorCisjaWYgRU5BQkxF
KFNVQlRMRV9DUllQVE8pCisgICAgV3JhcENyeXB0b0tleShWZWN0b3I8dWludDhfdD4ga2V5KSAt
PiAoYm9vbCBzdWNjZWVkZWQsIFZlY3Rvcjx1aW50OF90PiB3cmFwcGVkS2V5KQorICAgIFVud3Jh
cENyeXB0b0tleShWZWN0b3I8dWludDhfdD4gd3JhcHBlZEtleSkgLT4gKGJvb2wgc3VjY2VlZGVk
LCBWZWN0b3I8dWludDhfdD4ga2V5KQorI2VuZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwCShyZXZpc2lvbiAxNjM3OTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzOCw0
ICs5MzgsMjMgQEAgYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnNob3VsZFVzZVRpbGVkQmFjawogICAg
IHJldHVybiBtX3BhZ2UtPmRyYXdpbmdBcmVhKCktPnNob3VsZFVzZVRpbGVkQmFja2luZ0ZvckZy
YW1lVmlldyhmcmFtZVZpZXcpOwogfQogCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCitib29s
IFdlYkNocm9tZUNsaWVudDo6d3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8dWludDhfdD4mIGtl
eSwgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5KSBjb25zdAoreworICAgIGJvb2wgc3VjY2Vl
ZGVkOworICAgIGlmICghV2ViUHJvY2Vzczo6c2hhcmVkKCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rp
b24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6V3JhcENyeXB0b0tleShrZXkp
LCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpXcmFwQ3J5cHRvS2V5OjpSZXBseShzdWNjZWVkZWQs
IHdyYXBwZWRLZXkpLCBtX3BhZ2UtPnBhZ2VJRCgpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIHJldHVybiBzdWNjZWVkZWQ7Cit9CisKK2Jvb2wgV2ViQ2hyb21lQ2xpZW50Ojp1bndyYXBD
cnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBWZWN0b3I8dWludDhf
dD4mIGtleSkgY29uc3QKK3sKKyAgICBib29sIHN1Y2NlZWRlZDsKKyAgICBpZiAoIVdlYlByb2Nl
c3M6OnNoYXJlZCgpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OlVud3JhcENyeXB0b0tleSh3cmFwcGVkS2V5KSwgTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6VW53cmFwQ3J5cHRvS2V5OjpSZXBseShzdWNjZWVkZWQsIGtleSksIG1fcGFn
ZS0+cGFnZUlEKCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHN1Y2NlZWRl
ZDsKK30KKyNlbmRpZgorCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCShyZXZpc2lvbiAxNjM3OTApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzAs
NiArMjcwLDExIEBAIHByaXZhdGU6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkVXNlVGlsZWRC
YWNraW5nRm9yRnJhbWVWaWV3KGNvbnN0IFdlYkNvcmU6OkZyYW1lVmlldyopIGNvbnN0IG92ZXJy
aWRlOwogCisjaWYgRU5BQkxFKFNVQlRMRV9DUllQVE8pCisgICAgdmlydHVhbCBib29sIHdyYXBD
cnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3Qg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBib29sIHVud3JhcENyeXB0b0tleShjb25zdCBWZWN0b3I8
dWludDhfdD4mLCBWZWN0b3I8dWludDhfdD4mKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgorCiAg
ICAgU3RyaW5nIG1fY2FjaGVkVG9vbFRpcDsKICAgICBtdXRhYmxlIFJlZlB0cjxXZWJGcmFtZT4g
bV9jYWNoZWRGcmFtZVNldExhcmdlc3RGcmFtZTsKICAgICBtdXRhYmxlIGJvb2wgbV9jYWNoZWRN
YWluRnJhbWVIYXNIb3Jpem9udGFsU2Nyb2xsYmFyOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gMTYzODM4KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTQtMDItMTAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGhvb2tzIGZvciB3cmFwcGluZyBDcnlwdG9LZXlz
IGluIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI4NTY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW06CisgICAgICAgIChXZWJD
aHJvbWVDbGllbnQ6OndyYXBDcnlwdG9LZXkpOgorICAgICAgICAoV2ViQ2hyb21lQ2xpZW50Ojp1
bndyYXBDcnlwdG9LZXkpOgorICAgICAgICBEdW1teSBpbXBsZW1lbnRhdGlvbiwgdG8gYmUgZmls
bGVkIGluIGxhdGVyLgorCiAyMDE0LTAyLTA4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIENsZWFudXAgdGhlIGludGVyZmFjZSBvZiBGcmFtZVNlbGVjdGlvbgpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgJKHJldmlzaW9uIDE2Mzc5MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsNiArMTk1LDEx
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFu
Z2VkKHVuc2lnbmVkKSBvdmVycmlkZSB7IH0KIAorI2lmIEVOQUJMRShTVUJUTEVfQ1JZUFRPKQor
ICAgIHZpcnR1YWwgYm9vbCB3cmFwQ3J5cHRvS2V5KGNvbnN0IFZlY3Rvcjx1aW50OF90PiYsIFZl
Y3Rvcjx1aW50OF90PiYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCB1bndyYXBD
cnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiwgVmVjdG9yPHVpbnQ4X3Q+JikgY29uc3Qg
b3ZlcnJpZGU7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBXZWJWaWV3KiB3ZWJW
aWV3KCkgY29uc3QgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAjZWxzZQpJbmRleDogU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkocmV2
aXNpb24gMTYzNzkwKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC05OTYsNCArOTk2LDE4IEBAIHZvaWQgV2Vi
Q2hyb21lQ2xpZW50OjpleGl0RnVsbFNjcmVlbkZvckUKICNlbmRpZgogfQogCisjaWYgRU5BQkxF
KFNVQlRMRV9DUllQVE8pCitib29sIFdlYkNocm9tZUNsaWVudDo6d3JhcENyeXB0b0tleShjb25z
dCBWZWN0b3I8dWludDhfdD4mIGtleSwgVmVjdG9yPHVpbnQ4X3Q+JiB3cmFwcGVkS2V5KSBjb25z
dAoreworICAgIHdyYXBwZWRLZXkgPSBrZXk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wg
V2ViQ2hyb21lQ2xpZW50Ojp1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB3
cmFwcGVkS2V5LCBWZWN0b3I8dWludDhfdD4mIGtleSkgY29uc3QKK3sKKyAgICBrZXkgPSB3cmFw
cGVkS2V5OworICAgIHJldHVybiB0cnVlOworfQorI2VuZGlmCisKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>