<?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>144218</bug_id>
          
          <creation_ts>2015-04-26 06:33:20 -0700</creation_ts>
          <short_desc>[WK2] API::String creation functions should return Ref&lt;&gt;</short_desc>
          <delta_ts>2015-04-27 13:06:35 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088737</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-26 06:33:20 -0700</bug_when>
    <thetext>[WK2] API::String creation methods should return Ref&lt;&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088738</commentid>
    <comment_count>1</comment_count>
      <attachid>251682</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-26 06:36:39 -0700</bug_when>
    <thetext>Created attachment 251682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089147</commentid>
    <comment_count>2</comment_count>
      <attachid>251682</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-27 13:06:27 -0700</bug_when>
    <thetext>Comment on attachment 251682
Patch

Clearing flags on attachment: 251682

Committed r183409: &lt;http://trac.webkit.org/changeset/183409&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089148</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-27 13:06:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251682</attachid>
            <date>2015-04-26 06:36:39 -0700</date>
            <delta_ts>2015-04-27 13:06:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144218-20150426153531.patch</filename>
            <type>text/plain</type>
            <size>21730</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTUwODgyZTc0MTE2ZTM5
NzJhZDkzYjZjYTVjYTBjYTZiODI2MDEzNC4uZjk1NzI1NTk1MWNlZDRjZDg2NzgwOGEyOTkzYjNj
NmRhYmEyOTgzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE1LTA0LTI2ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbV0syXSBBUEk6OlN0
cmluZyBjcmVhdGlvbiBmdW5jdGlvbnMgc2hvdWxkIHJldHVybiBSZWY8PgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MjE4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGF2ZSBBUEk6OlN0cmluZyBjcmVh
dGlvbiBmdW5jdGlvbnMgcmV0dXJuIFJlZjw+LgorICAgICAgICBUaGUgY2FsbC1zaXRlcyBhcmUg
YWxzbyB1cGRhdGVkLCB1c2luZyBhbmQgb3BlcmF0aW5nIG9uIHRoZSByZXR1cm5lZAorICAgICAg
ICBSZWY8PiBvYmplY3QsIHdoZXJlIHBvc3NpYmxlLgorCisgICAgICAgICogU2hhcmVkL0FQSS9B
UElTdHJpbmcuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tQbHVnaW5JbmZvcm1hdGlvbi5j
cHA6CisgICAgICAgIChXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlSWRlbnRpZmllcktleSk6Cisg
ICAgICAgIChXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlVmVyc2lvbktleSk6CisgICAgICAgIChX
S1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlU2hvcnRWZXJzaW9uS2V5KToKKyAgICAgICAgKFdLUGx1
Z2luSW5mb3JtYXRpb25QYXRoS2V5KToKKyAgICAgICAgKFdLUGx1Z2luSW5mb3JtYXRpb25EaXNw
bGF5TmFtZUtleSk6CisgICAgICAgIChXS1BsdWdpbkluZm9ybWF0aW9uRGVmYXVsdExvYWRQb2xp
Y3lLZXkpOgorICAgICAgICAoV0tQbHVnaW5JbmZvcm1hdGlvblVwZGF0ZVBhc3RMYXN0QmxvY2tl
ZFZlcnNpb25Jc0tub3duQXZhaWxhYmxlS2V5KToKKyAgICAgICAgKFdLUGx1Z2luSW5mb3JtYXRp
b25IYXNTYW5kYm94UHJvZmlsZUtleSk6CisgICAgICAgIChXS1BsdWdpbkluZm9ybWF0aW9uRnJh
bWVVUkxLZXkpOgorICAgICAgICAoV0tQbHVnaW5JbmZvcm1hdGlvbk1JTUVUeXBlS2V5KToKKyAg
ICAgICAgKFdLUGx1Z2luSW5mb3JtYXRpb25QYWdlVVJMS2V5KToKKyAgICAgICAgKFdLUGx1Z2lu
SW5mb3JtYXRpb25QbHVnaW5zcGFnZUF0dHJpYnV0ZVVSTEtleSk6CisgICAgICAgIChXS1BsdWdp
bkluZm9ybWF0aW9uUGx1Z2luVVJMS2V5KToKKyAgICAgICAgKFdLUGx1Z0luSW5mb3JtYXRpb25S
ZXBsYWNlbWVudE9ic2N1cmVkS2V5KToKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRB
UElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OlByb3h5aW5nUmVmUHRyOjpQcm94eWluZ1JlZlB0
cik6CisgICAgICAgIChXZWJLaXQ6OnRvQ29waWVkQVBJKToKKyAgICAgICAgKiBTaGFyZWQvQVBJ
L2MvV0tTdHJpbmcuY3BwOgorICAgICAgICAoV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcp
OgorICAgICAgICAoV0tTdHJpbmdDcmVhdGVXaXRoSlNTdHJpbmcpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgIChXS0RhdGFiYXNlTWFu
YWdlckdldE9yaWdpbktleSk6CisgICAgICAgIChXS0RhdGFiYXNlTWFuYWdlckdldE9yaWdpblF1
b3RhS2V5KToKKyAgICAgICAgKFdLRGF0YWJhc2VNYW5hZ2VyR2V0T3JpZ2luVXNhZ2VLZXkpOgor
ICAgICAgICAoV0tEYXRhYmFzZU1hbmFnZXJHZXREYXRhYmFzZURldGFpbHNLZXkpOgorICAgICAg
ICAoV0tEYXRhYmFzZU1hbmFnZXJHZXREYXRhYmFzZURldGFpbHNOYW1lS2V5KToKKyAgICAgICAg
KFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VEZXRhaWxzRGlzcGxheU5hbWVLZXkpOgorICAg
ICAgICAoV0tEYXRhYmFzZU1hbmFnZXJHZXREYXRhYmFzZURldGFpbHNFeHBlY3RlZFVzYWdlS2V5
KToKKyAgICAgICAgKFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VEZXRhaWxzQ3VycmVudFVz
YWdlS2V5KToKKyAgICAgICAgKFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VEZXRhaWxzQ3Jl
YXRpb25UaW1lS2V5KToKKyAgICAgICAgKFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VEZXRh
aWxzTW9kaWZpY2F0aW9uVGltZUtleSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLS2V5
VmFsdWVTdG9yYWdlTWFuYWdlci5jcHA6CisgICAgICAgIChXS0tleVZhbHVlU3RvcmFnZU1hbmFn
ZXJHZXRPcmlnaW5LZXkpOgorICAgICAgICAoV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyR2V0Q3Jl
YXRpb25UaW1lS2V5KToKKyAgICAgICAgKFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlckdldE1vZGlm
aWNhdGlvblRpbWVLZXkpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwOgor
ICAgICAgICAoV0tQYWdlR2V0U2Vzc2lvbkhpc3RvcnlVUkxWYWx1ZVR5cGUpOgorICAgICAgICAo
V0tQYWdlR2V0U2Vzc2lvbkJhY2tGb3J3YXJkTGlzdEl0ZW1WYWx1ZVR5cGUpOgorICAgICAgICAo
dG9HZW5lcmljQ2FsbGJhY2tGdW5jdGlvbik6CisgICAgICAgIChXS1BhZ2VWYWxpZGF0ZUNvbW1h
bmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UpOgorCiAyMDE1
LTA0LTI1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAg
IEZ1cnRoZXIgdXBkYXRlIGdlc3R1cmUgc3dpcGUgc2hhZG93IHN0eWxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVN0cmluZy5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9BUElTdHJpbmcuaAppbmRleCAyYjRiMzI0Mzg0MGY1MTVjNzYxZWMwNmEzYTI5NDRk
MTVkYjg4ODg4Li45MTI1MTFmNTUyODcxOGQyOTk4ZTViYzczMmY4OTJhMjEwNjk1ZGU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSVN0cmluZy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvQVBJU3RyaW5nLmgKQEAgLTI3LDcgKzI3LDcgQEAKICNkZWZp
bmUgQVBJU3RyaW5nX2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgPHd0Zi9Q
YXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ1ZpZXcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9VVEY4Lmg+CkBAIC0zNiwxNyArMzYsMTcgQEAgbmFtZXNwYWNlIEFQSSB7CiAK
IGNsYXNzIFN0cmluZyBmaW5hbCA6IHB1YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6U3Ry
aW5nPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZlB0cjxTdHJpbmc+IGNyZWF0ZU51bGwoKQor
ICAgIHN0YXRpYyBSZWY8U3RyaW5nPiBjcmVhdGVOdWxsKCkKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3Ry
aW5nKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmUHRyPFN0cmluZz4gY3JlYXRlKFdURjo6U3Ry
aW5nJiYgc3RyaW5nKQorICAgIHN0YXRpYyBSZWY8U3RyaW5nPiBjcmVhdGUoV1RGOjpTdHJpbmcm
JiBzdHJpbmcpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0cmluZyhzdHJp
bmcuaXNOdWxsKCkgPyBXVEY6OlN0cmluZyhTdHJpbmdJbXBsOjplbXB0eSgpKSA6IHN0cmluZy5p
c29sYXRlZENvcHkoKSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHJpbmcoc3Ry
aW5nLmlzTnVsbCgpID8gV1RGOjpTdHJpbmcoU3RyaW5nSW1wbDo6ZW1wdHkoKSkgOiBzdHJpbmcu
aXNvbGF0ZWRDb3B5KCkpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgUmVmUHRyPFN0cmluZz4gY3Jl
YXRlKGNvbnN0IFdURjo6U3RyaW5nJiBzdHJpbmcpCisgICAgc3RhdGljIFJlZjxTdHJpbmc+IGNy
ZWF0ZShjb25zdCBXVEY6OlN0cmluZyYgc3RyaW5nKQogICAgIHsKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZShzdHJpbmcuaXNvbGF0ZWRDb3B5KCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1BsdWdpbkluZm9ybWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1BsdWdpbkluZm9ybWF0aW9uLmNwcAppbmRleCBhNGExY2U3NDM2
OWYzM2QyM2IyZTAxZjE0MjNlZjg4MThkYmM4MTQ0Li5lM2FlNGY1ZjAzMjU4YWExMGE2YWI1YWJh
YjM0YzZhZjBiZGQzMzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tQbHVnaW5JbmZvcm1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLUGx1Z2luSW5mb3JtYXRpb24uY3BwCkBAIC0zNSw4ICszNSw4IEBAIHVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7CiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlSWRlbnRpZmll
cktleSgpCiB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgc3RhdGljIEFQ
STo6U3RyaW5nKiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uQnVu
ZGxlSWRlbnRpZmllcktleSgpKS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7Cisg
ICAgc3RhdGljIEFQSTo6U3RyaW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbklu
Zm9ybWF0aW9uQnVuZGxlSWRlbnRpZmllcktleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRv
QVBJKCZrZXkpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKICNlbmRpZgpAQCAtNDUsOCArNDUsOCBA
QCBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlSWRlbnRpZmllcktleSgpCiBX
S1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uQnVuZGxlVmVyc2lvbktleSgpCiB7CiAjaWYg
RU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgc3RhdGljIEFQSTo6U3RyaW5nKiBrZXkg
PSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uQnVuZGxlVmVyc2lvbktleSgp
KS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3Ry
aW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uQnVuZGxlVmVy
c2lvbktleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkpOwogI2Vsc2UKICAg
ICByZXR1cm4gMDsKICNlbmRpZgpAQCAtNTUsOCArNTUsOCBAQCBXS1N0cmluZ1JlZiBXS1BsdWdp
bkluZm9ybWF0aW9uQnVuZGxlVmVyc2lvbktleSgpCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9y
bWF0aW9uQnVuZGxlU2hvcnRWZXJzaW9uS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVh
dGUocGx1Z2luSW5mb3JtYXRpb25CdW5kbGVTaG9ydFZlcnNpb25LZXkoKSkubGVha1JlZigpOwot
ICAgIHJldHVybiB0b0FQSShrZXkpOworICAgIHN0YXRpYyBBUEk6OlN0cmluZyYga2V5ID0gQVBJ
OjpTdHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvbkJ1bmRsZVNob3J0VmVyc2lvbktleSgp
KS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkpOwogI2Vsc2UKICAgICByZXR1cm4g
MDsKICNlbmRpZgpAQCAtNjUsOCArNjUsOCBAQCBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0
aW9uQnVuZGxlU2hvcnRWZXJzaW9uS2V5KCkKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRp
b25QYXRoS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBzdGF0
aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRp
b25QYXRoS2V5KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyAgICBzdGF0
aWMgQVBJOjpTdHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRp
b25QYXRoS2V5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoJmtleSk7CiAjZWxzZQog
ICAgIHJldHVybiAwOwogI2VuZGlmCkBAIC03NSw4ICs3NSw4IEBAIFdLU3RyaW5nUmVmIFdLUGx1
Z2luSW5mb3JtYXRpb25QYXRoS2V5KCkKIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25E
aXNwbGF5TmFtZUtleSgpCiB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAg
c3RhdGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9y
bWF0aW9uRGlzcGxheU5hbWVLZXkoKSkubGVha1JlZigpOwotICAgIHJldHVybiB0b0FQSShrZXkp
OworICAgIHN0YXRpYyBBUEk6OlN0cmluZyYga2V5ID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShwbHVn
aW5JbmZvcm1hdGlvbkRpc3BsYXlOYW1lS2V5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9B
UEkoJmtleSk7CiAjZWxzZQogICAgIHJldHVybiAwOwogI2VuZGlmCkBAIC04NSw4ICs4NSw4IEBA
IFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25EaXNwbGF5TmFtZUtleSgpCiBXS1N0cmlu
Z1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uRGVmYXVsdExvYWRQb2xpY3lLZXkoKQogewogI2lmIEVO
QUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIHN0YXRpYyBBUEk6OlN0cmluZyoga2V5ID0g
QVBJOjpTdHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvbkRlZmF1bHRMb2FkUG9saWN5S2V5
KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyAgICBzdGF0aWMgQVBJOjpT
dHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25EZWZhdWx0
TG9hZFBvbGljeUtleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkpOwogI2Vs
c2UKICAgICByZXR1cm4gMDsKICNlbmRpZgpAQCAtOTUsOCArOTUsOCBAQCBXS1N0cmluZ1JlZiBX
S1BsdWdpbkluZm9ybWF0aW9uRGVmYXVsdExvYWRQb2xpY3lLZXkoKQogV0tTdHJpbmdSZWYgV0tQ
bHVnaW5JbmZvcm1hdGlvblVwZGF0ZVBhc3RMYXN0QmxvY2tlZFZlcnNpb25Jc0tub3duQXZhaWxh
YmxlS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBzdGF0aWMg
QVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRpb25V
cGRhdGVQYXN0TGFzdEJsb2NrZWRWZXJzaW9uSXNLbm93bkF2YWlsYWJsZUtleSgpKS5sZWFrUmVm
KCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3RyaW5nJiBrZXkg
PSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uVXBkYXRlUGFzdExhc3RCbG9j
a2VkVmVyc2lvbklzS25vd25BdmFpbGFibGVLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0
b0FQSSgma2V5KTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKQEAgLTEwNSw4ICsxMDUs
OCBAQCBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uVXBkYXRlUGFzdExhc3RCbG9ja2Vk
VmVyc2lvbklzS25vd25BdmFpbGFibGVLZXkoKQogV0tTdHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1h
dGlvbkhhc1NhbmRib3hQcm9maWxlS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUo
cGx1Z2luSW5mb3JtYXRpb25IYXNTYW5kYm94UHJvZmlsZUtleSgpKS5sZWFrUmVmKCk7Ci0gICAg
cmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3RyaW5nJiBrZXkgPSBBUEk6OlN0
cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9ybWF0aW9uSGFzU2FuZGJveFByb2ZpbGVLZXkoKSkubGVh
a1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5KTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAj
ZW5kaWYKQEAgLTExNSw4ICsxMTUsOCBAQCBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9u
SGFzU2FuZGJveFByb2ZpbGVLZXkoKQogV0tTdHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1hdGlvbkZy
YW1lVVJMS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBzdGF0
aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3JtYXRp
b25GcmFtZVVSTEtleSgpKS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAg
c3RhdGljIEFQSTo6U3RyaW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKHBsdWdpbkluZm9y
bWF0aW9uRnJhbWVVUkxLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5KTsK
ICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKQEAgLTEyNSw4ICsxMjUsOCBAQCBXS1N0cmlu
Z1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uRnJhbWVVUkxLZXkoKQogV0tTdHJpbmdSZWYgV0tQbHVn
aW5JbmZvcm1hdGlvbk1JTUVUeXBlS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUo
cGx1Z2luSW5mb3JtYXRpb25NSU1FVHlwZUtleSgpKS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRv
QVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3RyaW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3Jl
YXRlKHBsdWdpbkluZm9ybWF0aW9uTUlNRVR5cGVLZXkoKSkubGVha1JlZigpOworICAgIHJldHVy
biB0b0FQSSgma2V5KTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKQEAgLTEzNSw4ICsx
MzUsOCBAQCBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uTUlNRVR5cGVLZXkoKQogV0tT
dHJpbmdSZWYgV0tQbHVnaW5JbmZvcm1hdGlvblBhZ2VVUkxLZXkoKQogewogI2lmIEVOQUJMRShO
RVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIHN0YXRpYyBBUEk6OlN0cmluZyoga2V5ID0gQVBJOjpT
dHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvblBhZ2VVUkxLZXkoKSkubGVha1JlZigpOwot
ICAgIHJldHVybiB0b0FQSShrZXkpOworICAgIHN0YXRpYyBBUEk6OlN0cmluZyYga2V5ID0gQVBJ
OjpTdHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlvblBhZ2VVUkxLZXkoKSkubGVha1JlZigp
OworICAgIHJldHVybiB0b0FQSSgma2V5KTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYK
QEAgLTE0NSw4ICsxNDUsOCBAQCBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uUGFnZVVS
TEtleSgpCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9uUGx1Z2luc3BhZ2VBdHRyaWJ1
dGVVUkxLZXkoKQogewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIHN0YXRp
YyBBUEk6OlN0cmluZyoga2V5ID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShwbHVnaW5JbmZvcm1hdGlv
blBsdWdpbnNwYWdlQXR0cmlidXRlVVJMS2V5KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9B
UEkoa2V5KTsKKyAgICBzdGF0aWMgQVBJOjpTdHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVh
dGUocGx1Z2luSW5mb3JtYXRpb25QbHVnaW5zcGFnZUF0dHJpYnV0ZVVSTEtleSgpKS5sZWFrUmVm
KCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKICNlbmRp
ZgpAQCAtMTU1LDggKzE1NSw4IEBAIFdLU3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25QbHVn
aW5zcGFnZUF0dHJpYnV0ZVVSTEtleSgpCiBXS1N0cmluZ1JlZiBXS1BsdWdpbkluZm9ybWF0aW9u
UGx1Z2luVVJMS2V5KCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBz
dGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUocGx1Z2luSW5mb3Jt
YXRpb25QbHVnaW5VUkxLZXkoKSkubGVha1JlZigpOwotICAgIHJldHVybiB0b0FQSShrZXkpOwor
ICAgIHN0YXRpYyBBUEk6OlN0cmluZyYga2V5ID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShwbHVnaW5J
bmZvcm1hdGlvblBsdWdpblVSTEtleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZr
ZXkpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKICNlbmRpZgpAQCAtMTY1LDggKzE2NSw4IEBAIFdL
U3RyaW5nUmVmIFdLUGx1Z2luSW5mb3JtYXRpb25QbHVnaW5VUkxLZXkoKQogV0tTdHJpbmdSZWYg
V0tQbHVnSW5JbmZvcm1hdGlvblJlcGxhY2VtZW50T2JzY3VyZWRLZXkoKQogewogI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIHN0YXRpYyBBUEk6OlN0cmluZyoga2V5ID0gQVBJ
OjpTdHJpbmc6OmNyZWF0ZShwbHVnSW5JbmZvcm1hdGlvblJlcGxhY2VtZW50T2JzY3VyZWRLZXko
KSkubGVha1JlZigpOwotICAgIHJldHVybiB0b0FQSShrZXkpOworICAgIHN0YXRpYyBBUEk6OlN0
cmluZyYga2V5ID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShwbHVnSW5JbmZvcm1hdGlvblJlcGxhY2Vt
ZW50T2JzY3VyZWRLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5KTsKICNl
bHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1NoYXJlZEFQSUNhc3QuaAppbmRleCA2MTU3Y2RkYzZjMTQ4Y2NkNDUyMzJmZmJkOTFlYmQ3
MDNmZGZkNzhlLi40NmUzMjQ2OWU5YWFmYTgzNzViNDU3MGQ1NmY4MmUyNzQ4MjRlM2I0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCkBAIC0xNDUs
NiArMTQ1LDExIEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCisgICAgUHJveHlpbmdSZWZQdHIo
UmVmPEltcGxUeXBlPiYmIGltcGwpCisgICAgICAgIDogbV9pbXBsKFdURjo6bW92ZShpbXBsKSkK
KyAgICB7CisgICAgfQorCiAgICAgb3BlcmF0b3IgQVBJVHlwZSgpIHsgcmV0dXJuIHRvQVBJKG1f
aW1wbC5nZXQoKSk7IH0KIAogcHJpdmF0ZToKQEAgLTE2MCw4ICsxNjUsNyBAQCBpbmxpbmUgUHJv
eHlpbmdSZWZQdHI8QVBJOjpTdHJpbmc+IHRvQVBJKFN0cmluZ0ltcGwqIHN0cmluZykKIAogaW5s
aW5lIFdLU3RyaW5nUmVmIHRvQ29waWVkQVBJKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewotICAg
IFJlZlB0cjxBUEk6OlN0cmluZz4gYXBpU3RyaW5nID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShzdHJp
bmcpOwotICAgIHJldHVybiB0b0FQSShhcGlTdHJpbmcucmVsZWFzZSgpLmxlYWtSZWYoKSk7Cisg
ICAgcmV0dXJuIHRvQVBJKCZBUEk6OlN0cmluZzo6Y3JlYXRlKHN0cmluZykubGVha1JlZigpKTsK
IH0KIAogaW5saW5lIFByb3h5aW5nUmVmUHRyPEFQSTo6VVJMPiB0b1VSTFJlZihTdHJpbmdJbXBs
KiBzdHJpbmcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJp
bmcuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmNwcAppbmRleCA2
Mjg1MjRiM2VhMGEyZDVhNjlmOTA3NTQxMzU5ZmQ0M2E5YzBjYjU0Li40OWFkYmY5YWY3NTZlMTU0
ODE1ZDEzZDllNGQ4NzE3NTE2NmJmOTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tTdHJpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S1N0cmluZy5jcHAKQEAgLTQxLDggKzQxLDcgQEAgV0tUeXBlSUQgV0tTdHJpbmdHZXRUeXBlSUQo
KQogCiBXS1N0cmluZ1JlZiBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZyhjb25zdCBjaGFy
KiBzdHJpbmcpCiB7Ci0gICAgYXV0byBhcGlTdHJpbmcgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdU
Rjo6U3RyaW5nOjpmcm9tVVRGOChzdHJpbmcpKTsKLSAgICByZXR1cm4gdG9BUEkoYXBpU3RyaW5n
LnJlbGVhc2UoKS5sZWFrUmVmKCkpOworICAgIHJldHVybiB0b0FQSSgmQVBJOjpTdHJpbmc6OmNy
ZWF0ZShXVEY6OlN0cmluZzo6ZnJvbVVURjgoc3RyaW5nKSkubGVha1JlZigpKTsKIH0KIAogYm9v
bCBXS1N0cmluZ0lzRW1wdHkoV0tTdHJpbmdSZWYgc3RyaW5nUmVmKQpAQCAtMTE2LDcgKzExNSw3
IEBAIFdLU3RyaW5nUmVmIFdLU3RyaW5nQ3JlYXRlV2l0aEpTU3RyaW5nKEpTU3RyaW5nUmVmIGpz
U3RyaW5nUmVmKQogewogICAgIGF1dG8gYXBpU3RyaW5nID0ganNTdHJpbmdSZWYgPyBBUEk6OlN0
cmluZzo6Y3JlYXRlKGpzU3RyaW5nUmVmLT5zdHJpbmcoKSkgOiBBUEk6OlN0cmluZzo6Y3JlYXRl
TnVsbCgpOwogCi0gICAgcmV0dXJuIHRvQVBJKGFwaVN0cmluZy5yZWxlYXNlKCkubGVha1JlZigp
KTsKKyAgICByZXR1cm4gdG9BUEkoJmFwaVN0cmluZy5sZWFrUmVmKCkpOwogfQogCiBKU1N0cmlu
Z1JlZiBXS1N0cmluZ0NvcHlKU1N0cmluZyhXS1N0cmluZ1JlZiBzdHJpbmdSZWYpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tEYXRhYmFzZU1hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRGF0YWJhc2VNYW5hZ2VyLmNwcApp
bmRleCA4YWRmZDc3MTU2MGI5YWYzZjk0MzhhNTg0NjE3ODdiMjhjMGRmYTM3Li5hMDUzMWQzMjNm
OGRiNDdmZDE4ZWYzMTU5Nzg5NWMzYmYwMWVlOTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tEYXRhYmFzZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0RhdGFiYXNlTWFuYWdlci5jcHAKQEAgLTM4LDYyICszOCw2
MiBAQCBXS1R5cGVJRCBXS0RhdGFiYXNlTWFuYWdlckdldFR5cGVJRCgpCiAKIFdLU3RyaW5nUmVm
IFdLRGF0YWJhc2VNYW5hZ2VyR2V0T3JpZ2luS2V5KCkKIHsKLSAgICBzdGF0aWMgQVBJOjpTdHJp
bmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6Om9y
aWdpbktleSgpKS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGlj
IEFQSTo6U3RyaW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdl
clByb3h5OjpvcmlnaW5LZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5KTsK
IH0KIAogV0tTdHJpbmdSZWYgV0tEYXRhYmFzZU1hbmFnZXJHZXRPcmlnaW5RdW90YUtleSgpCiB7
Ci0gICAgc3RhdGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYkRh
dGFiYXNlTWFuYWdlclByb3h5OjpvcmlnaW5RdW90YUtleSgpKS5sZWFrUmVmKCk7Ci0gICAgcmV0
dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3RyaW5nJiBrZXkgPSBBUEk6OlN0cmlu
Zzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpvcmlnaW5RdW90YUtleSgpKS5sZWFr
UmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkpOwogfQogCiBXS1N0cmluZ1JlZiBXS0RhdGFi
YXNlTWFuYWdlckdldE9yaWdpblVzYWdlS2V5KCkKIHsKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcq
IGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6Om9yaWdp
blVzYWdlS2V5KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyAgICBzdGF0
aWMgQVBJOjpTdHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViRGF0YWJhc2VNYW5h
Z2VyUHJveHk6Om9yaWdpblVzYWdlS2V5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEko
JmtleSk7CiB9CiAKIFdLU3RyaW5nUmVmIFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJhc2VEZXRh
aWxzS2V5KCkKIHsKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpj
cmVhdGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRhdGFiYXNlRGV0YWlsc0tleSgpKS5sZWFr
UmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3RyaW5nJiBr
ZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkYXRhYmFz
ZURldGFpbHNLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5KTsKIH0KIAog
V0tTdHJpbmdSZWYgV0tEYXRhYmFzZU1hbmFnZXJHZXREYXRhYmFzZURldGFpbHNOYW1lS2V5KCkK
IHsKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2Vi
RGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRhdGFiYXNlRGV0YWlsc05hbWVLZXkoKSkubGVha1JlZigp
OwotICAgIHJldHVybiB0b0FQSShrZXkpOworICAgIHN0YXRpYyBBUEk6OlN0cmluZyYga2V5ID0g
QVBJOjpTdHJpbmc6OmNyZWF0ZShXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6ZGF0YWJhc2VEZXRh
aWxzTmFtZUtleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkpOwogfQogCiBX
S1N0cmluZ1JlZiBXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlRGV0YWlsc0Rpc3BsYXlOYW1l
S2V5KCkKIHsKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVh
dGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRhdGFiYXNlRGV0YWlsc0Rpc3BsYXlOYW1lS2V5
KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyAgICBzdGF0aWMgQVBJOjpT
dHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6
OmRhdGFiYXNlRGV0YWlsc0Rpc3BsYXlOYW1lS2V5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4g
dG9BUEkoJmtleSk7CiB9CiAKIFdLU3RyaW5nUmVmIFdLRGF0YWJhc2VNYW5hZ2VyR2V0RGF0YWJh
c2VEZXRhaWxzRXhwZWN0ZWRVc2FnZUtleSgpCiB7Ci0gICAgc3RhdGljIEFQSTo6U3RyaW5nKiBr
ZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkYXRhYmFz
ZURldGFpbHNFeHBlY3RlZFVzYWdlS2V5KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEko
a2V5KTsKKyAgICBzdGF0aWMgQVBJOjpTdHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUo
V2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRhdGFiYXNlRGV0YWlsc0V4cGVjdGVkVXNhZ2VLZXko
KSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5KTsKIH0KIAogV0tTdHJpbmdSZWYg
V0tEYXRhYmFzZU1hbmFnZXJHZXREYXRhYmFzZURldGFpbHNDdXJyZW50VXNhZ2VLZXkoKQogewot
ICAgIHN0YXRpYyBBUEk6OlN0cmluZyoga2V5ID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShXZWJEYXRh
YmFzZU1hbmFnZXJQcm94eTo6ZGF0YWJhc2VEZXRhaWxzQ3VycmVudFVzYWdlS2V5KCkpLmxlYWtS
ZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyAgICBzdGF0aWMgQVBJOjpTdHJpbmcmIGtl
eSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRhdGFiYXNl
RGV0YWlsc0N1cnJlbnRVc2FnZUtleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZr
ZXkpOwogfQogCiBXS1N0cmluZ1JlZiBXS0RhdGFiYXNlTWFuYWdlckdldERhdGFiYXNlRGV0YWls
c0NyZWF0aW9uVGltZUtleSgpCiB7Ci0gICAgc3RhdGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6
OlN0cmluZzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkYXRhYmFzZURldGFpbHND
cmVhdGlvblRpbWVLZXkoKSkubGVha1JlZigpOwotICAgIHJldHVybiB0b0FQSShrZXkpOworICAg
IHN0YXRpYyBBUEk6OlN0cmluZyYga2V5ID0gQVBJOjpTdHJpbmc6OmNyZWF0ZShXZWJEYXRhYmFz
ZU1hbmFnZXJQcm94eTo6ZGF0YWJhc2VEZXRhaWxzQ3JlYXRpb25UaW1lS2V5KCkpLmxlYWtSZWYo
KTsKKyAgICByZXR1cm4gdG9BUEkoJmtleSk7CiB9CiAKIFdLU3RyaW5nUmVmIFdLRGF0YWJhc2VN
YW5hZ2VyR2V0RGF0YWJhc2VEZXRhaWxzTW9kaWZpY2F0aW9uVGltZUtleSgpCiB7Ci0gICAgc3Rh
dGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYkRhdGFiYXNlTWFu
YWdlclByb3h5OjpkYXRhYmFzZURldGFpbHNNb2RpZmljYXRpb25UaW1lS2V5KCkpLmxlYWtSZWYo
KTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsKKyAgICBzdGF0aWMgQVBJOjpTdHJpbmcmIGtleSA9
IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRhdGFiYXNlRGV0
YWlsc01vZGlmaWNhdGlvblRpbWVLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgm
a2V5KTsKIH0KIAogdm9pZCBXS0RhdGFiYXNlTWFuYWdlclNldENsaWVudChXS0RhdGFiYXNlTWFu
YWdlclJlZiBkYXRhYmFzZU1hbmFnZXJSZWYsIGNvbnN0IFdLRGF0YWJhc2VNYW5hZ2VyQ2xpZW50
QmFzZSogd2tDbGllbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IGY0Yjk4OTBlODEwMWNk
OGE4YTcyZGM3NTUzNGZjNjgxZmRkOTFlYmQuLjU2MDBmODkyMzI1NTdiMjRjNWM4ZjJlMWNjYzk1
YzA5NjlkZWU0ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwCkBAIC0zOCwyMCArMzgsMjAgQEAg
V0tUeXBlSUQgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyR2V0VHlwZUlEKCkKIAogV0tTdHJpbmdS
ZWYgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyR2V0T3JpZ2luS2V5KCkKIHsKLSAgICBzdGF0aWMg
QVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViS2V5VmFsdWVTdG9yYWdl
TWFuYWdlcjo6b3JpZ2luS2V5KCkpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoa2V5KTsK
KyAgICBzdGF0aWMgQVBJOjpTdHJpbmcmIGtleSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoV2ViS2V5
VmFsdWVTdG9yYWdlTWFuYWdlcjo6b3JpZ2luS2V5KCkpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4g
dG9BUEkoJmtleSk7CiB9CiAKIFdLU3RyaW5nUmVmIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlckdl
dENyZWF0aW9uVGltZUtleSgpCiB7Ci0gICAgc3RhdGljIEFQSTo6U3RyaW5nKiBrZXkgPSBBUEk6
OlN0cmluZzo6Y3JlYXRlKFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6OmNyZWF0aW9uVGltZUtl
eSgpKS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6
U3RyaW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXI6OmNyZWF0aW9uVGltZUtleSgpKS5sZWFrUmVmKCk7CisgICAgcmV0dXJuIHRvQVBJKCZrZXkp
OwogfQogCiBXS1N0cmluZ1JlZiBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJHZXRNb2RpZmljYXRp
b25UaW1lS2V5KCkKIHsKLSAgICBzdGF0aWMgQVBJOjpTdHJpbmcqIGtleSA9IEFQSTo6U3RyaW5n
OjpjcmVhdGUoV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6bW9kaWZpY2F0aW9uVGltZUtleSgp
KS5sZWFrUmVmKCk7Ci0gICAgcmV0dXJuIHRvQVBJKGtleSk7CisgICAgc3RhdGljIEFQSTo6U3Ry
aW5nJiBrZXkgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6
Om1vZGlmaWNhdGlvblRpbWVLZXkoKSkubGVha1JlZigpOworICAgIHJldHVybiB0b0FQSSgma2V5
KTsKIH0KIAogdm9pZCBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJHZXRLZXlWYWx1ZVN0b3JhZ2VP
cmlnaW5zKFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZiBrZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
UmVmLCB2b2lkKiBjb250ZXh0LCBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJHZXRLZXlWYWx1ZVN0
b3JhZ2VPcmlnaW5zRnVuY3Rpb24gY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwCmluZGV4IGVkZTFiOGE0MTc1MWYwNmYyMmEwNDdhZjJjMmVlN2M5MjU5
M2VlOTQuLjM4NGQ0ZWUxMjM4ODI3NDM4YTUxYmFjY2VhZTlkZjdlY2QyODAwMDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCkBAIC0zNjMsMTQgKzM2MywxNCBA
QCB2b2lkIFdLUGFnZVRlcm1pbmF0ZShXS1BhZ2VSZWYgcGFnZVJlZikKIAogV0tTdHJpbmdSZWYg
V0tQYWdlR2V0U2Vzc2lvbkhpc3RvcnlVUkxWYWx1ZVR5cGUoKQogewotICAgIHN0YXRpYyBBUEk6
OlN0cmluZyogc2Vzc2lvbkhpc3RvcnlVUkxWYWx1ZVR5cGUgPSBBUEk6OlN0cmluZzo6Y3JlYXRl
KCJTZXNzaW9uSGlzdG9yeVVSTCIpLmxlYWtSZWYoKTsKLSAgICByZXR1cm4gdG9BUEkoc2Vzc2lv
bkhpc3RvcnlVUkxWYWx1ZVR5cGUpOworICAgIHN0YXRpYyBBUEk6OlN0cmluZyYgc2Vzc2lvbkhp
c3RvcnlVUkxWYWx1ZVR5cGUgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKCJTZXNzaW9uSGlzdG9yeVVS
TCIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoJnNlc3Npb25IaXN0b3J5VVJMVmFsdWVU
eXBlKTsKIH0KIAogV0tTdHJpbmdSZWYgV0tQYWdlR2V0U2Vzc2lvbkJhY2tGb3J3YXJkTGlzdEl0
ZW1WYWx1ZVR5cGUoKQogewotICAgIHN0YXRpYyBBUEk6OlN0cmluZyogc2Vzc2lvbkJhY2tGb3J3
YXJkTGlzdFZhbHVlVHlwZSA9IEFQSTo6U3RyaW5nOjpjcmVhdGUoIlNlc3Npb25CYWNrRm9yd2Fy
ZExpc3RJdGVtIikubGVha1JlZigpOwotICAgIHJldHVybiB0b0FQSShzZXNzaW9uQmFja0Zvcndh
cmRMaXN0VmFsdWVUeXBlKTsKKyAgICBzdGF0aWMgQVBJOjpTdHJpbmcmIHNlc3Npb25CYWNrRm9y
d2FyZExpc3RWYWx1ZVR5cGUgPSBBUEk6OlN0cmluZzo6Y3JlYXRlKCJTZXNzaW9uQmFja0Zvcndh
cmRMaXN0SXRlbSIpLmxlYWtSZWYoKTsKKyAgICByZXR1cm4gdG9BUEkoJnNlc3Npb25CYWNrRm9y
d2FyZExpc3RWYWx1ZVR5cGUpOwogfQogCiBXS1R5cGVSZWYgV0tQYWdlQ29weVNlc3Npb25TdGF0
ZShXS1BhZ2VSZWYgcGFnZVJlZiwgdm9pZCogY29udGV4dCwgV0tQYWdlU2Vzc2lvblN0YXRlRmls
dGVyQ2FsbGJhY2sgZmlsdGVyKQpAQCAtMTk1NCw3ICsxOTU0LDcgQEAgdm9pZCBXS1BhZ2VSdW5K
YXZhU2NyaXB0SW5NYWluRnJhbWVfYihXS1BhZ2VSZWYgcGFnZVJlZiwgV0tTdHJpbmdSZWYgc2Ny
aXB0UmVmLAogc3RhdGljIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgV2ViS2l0
OjpDYWxsYmFja0Jhc2U6OkVycm9yKT4gdG9HZW5lcmljQ2FsbGJhY2tGdW5jdGlvbih2b2lkKiBj
b250ZXh0LCB2b2lkICgqY2FsbGJhY2spKFdLU3RyaW5nUmVmLCBXS0Vycm9yUmVmLCB2b2lkKikp
CiB7CiAgICAgcmV0dXJuIFtjb250ZXh0LCBjYWxsYmFja10oY29uc3QgU3RyaW5nJiByZXR1cm5W
YWx1ZSwgV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yIGVycm9yKSB7Ci0gICAgICAgIGNhbGxi
YWNrKHRvQVBJKEFQSTo6U3RyaW5nOjpjcmVhdGUocmV0dXJuVmFsdWUpLmdldCgpKSwgZXJyb3Ig
IT0gV2ViS2l0OjpDYWxsYmFja0Jhc2U6OkVycm9yOjpOb25lID8gdG9BUEkoQVBJOjpFcnJvcjo6
Y3JlYXRlKCkuZ2V0KCkpIDogMCwgY29udGV4dCk7CisgICAgICAgIGNhbGxiYWNrKHRvQVBJKEFQ
STo6U3RyaW5nOjpjcmVhdGUocmV0dXJuVmFsdWUpLnB0cigpKSwgZXJyb3IgIT0gV2ViS2l0OjpD
YWxsYmFja0Jhc2U6OkVycm9yOjpOb25lID8gdG9BUEkoQVBJOjpFcnJvcjo6Y3JlYXRlKCkuZ2V0
KCkpIDogMCwgY29udGV4dCk7CiAgICAgfTsKIH0KIApAQCAtMjAzNSw3ICsyMDM1LDcgQEAgV0tT
dHJpbmdSZWYgV0tQYWdlQ29weVN0YW5kYXJkVXNlckFnZW50V2l0aEFwcGxpY2F0aW9uTmFtZShX
S1N0cmluZ1JlZiBhcHBsaWNhdGkKIHZvaWQgV0tQYWdlVmFsaWRhdGVDb21tYW5kKFdLUGFnZVJl
ZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiBjb21tYW5kLCB2b2lkKiBjb250ZXh0LCBXS1BhZ2VWYWxp
ZGF0ZUNvbW1hbmRDYWxsYmFjayBjYWxsYmFjaykKIHsKICAgICB0b0ltcGwocGFnZVJlZiktPnZh
bGlkYXRlQ29tbWFuZCh0b0ltcGwoY29tbWFuZCktPnN0cmluZygpLCBbY29udGV4dCwgY2FsbGJh
Y2tdKGNvbnN0IFN0cmluZyYgY29tbWFuZE5hbWUsIGJvb2wgaXNFbmFibGVkLCBpbnQzMl90IHN0
YXRlLCBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgY2FsbGJh
Y2sodG9BUEkoQVBJOjpTdHJpbmc6OmNyZWF0ZShjb21tYW5kTmFtZSkuZ2V0KCkpLCBpc0VuYWJs
ZWQsIHN0YXRlLCBlcnJvciAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUgPyB0
b0FQSShBUEk6OkVycm9yOjpjcmVhdGUoKS5nZXQoKSkgOiAwLCBjb250ZXh0KTsKKyAgICAgICAg
Y2FsbGJhY2sodG9BUEkoQVBJOjpTdHJpbmc6OmNyZWF0ZShjb21tYW5kTmFtZSkucHRyKCkpLCBp
c0VuYWJsZWQsIHN0YXRlLCBlcnJvciAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5v
bmUgPyB0b0FQSShBUEk6OkVycm9yOjpjcmVhdGUoKS5nZXQoKSkgOiAwLCBjb250ZXh0KTsKICAg
ICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAK
aW5kZXggMDFkYjM4NGU5NmJiZjJjM2QwNTI3NGI5Yjc5OTI0NmE5OWMwZjc3Mi4uN2JmZmE1MmU2
OWU0MmUyYTg3YjY1ZDMyOWI1M2M2NTdjNzExYjcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC01NjUsNyArNTY1LDcgQEAgdm9pZCBXZWJQcm9j
ZXNzUG9vbDo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKGNvbnN0IElQQzo6U3RyaW5nUmVmZXJl
bmNlJiBtZXNzYWcKICAgICBtZXNzYWdlTmFtZVN0cmluZ0J1aWxkZXIuYXBwZW5kKCcuJyk7CiAg
ICAgbWVzc2FnZU5hbWVTdHJpbmdCdWlsZGVyLmFwcGVuZChtZXNzYWdlTmFtZS5kYXRhKCksIG1l
c3NhZ2VOYW1lLnNpemUoKSk7CiAKLSAgICBzX2ludmFsaWRNZXNzYWdlQ2FsbGJhY2sodG9BUEko
QVBJOjpTdHJpbmc6OmNyZWF0ZShtZXNzYWdlTmFtZVN0cmluZ0J1aWxkZXIudG9TdHJpbmcoKSku
Z2V0KCkpKTsKKyAgICBzX2ludmFsaWRNZXNzYWdlQ2FsbGJhY2sodG9BUEkoQVBJOjpTdHJpbmc6
OmNyZWF0ZShtZXNzYWdlTmFtZVN0cmluZ0J1aWxkZXIudG9TdHJpbmcoKSkucHRyKCkpKTsKIH0K
IAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0RpZENhY2hlUGFnZShXZWJQcm9jZXNzUHJv
eHkqIHByb2Nlc3MpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>