<?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>161111</bug_id>
          
          <creation_ts>2016-08-23 15:40:50 -0700</creation_ts>
          <short_desc>toString called on proxies returns incorrect tag</short_desc>
          <delta_ts>2020-05-12 14:09:42 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.11</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=199138</see_also>
          <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 Shvayka">ashvayka</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1222472</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2016-08-23 15:40:50 -0700</bug_when>
    <thetext>When `Object.prototype.toString` is called on proxy objects with target that has no `@@toStringTag` defined,
it returns `ProxyObject` instead of correct tag:

```js
toString.call(new Proxy(new Map, {})) // [object Map], correct
toString.call(new Proxy(Math, {})) // [object Math], correct
toString.call(new Proxy({ [Symbol.toStringTag]: &quot;Hello&quot; }, {})) // [object Hello], correct

toString.call(new Proxy(new String, {})) // [object ProxyObject], incorrect
// should report [object Object], because proxy is not String exotic object

toString.call(new Proxy(/(?:)/, {})) // [object ProxyObject], incorrect
// should report [object Object], because proxy object does not have [[RegExpMatcher]]

toString.call(new Proxy([], {})) // [object ProxyObject], incorrect
// should report [object Array], because isArray when called on proxy, checks
// its target for arrayness (internal methods)

toString.call(new Proxy(() =&gt; {}, {})) // [object ProxyObject], incorrect
// should report [object Function], because toString checks for [[Call]] and
// Proxy constructor creates [[Call]] on proxy if it is present on target

toString.call(new Proxy({}, {})) // [object ProxyObject], incorrect
// should report [object Object]
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222684</commentid>
    <comment_count>1</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-24 09:53:47 -0700</bug_when>
    <thetext>Interesting, this happens because the className for Proxies is ProxyObject rather than Object. Joe, does the WebInspector use the className of Proxy objects for inspectoring?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222729</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-08-24 10:54:57 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Interesting, this happens because the className for Proxies is ProxyObject
&gt; rather than Object. Joe, does the WebInspector use the className of Proxy
&gt; objects for inspectoring?

No, Web Inspector doesn&apos;t rely on it for anything.

Currently, Web Inspector just internally checks if an object is a ProxyObject in JSInjectedScriptHost so that we can add internal properties [[Target]], [[Handler]].

It just so happens that we expose ProxyObject when logging an object that is a proxy:

  &gt; new Proxy({}, {})
  &lt; ProxyObject {target: {}, handler: {}}

but again, we don&apos;t rely on that. We could easily denote proxies in some explicit way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223296</commentid>
    <comment_count>3</comment_count>
      <attachid>287037</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-25 15:55:35 -0700</bug_when>
    <thetext>Created attachment 287037
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223312</commentid>
    <comment_count>4</comment_count>
      <attachid>287041</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-25 16:28:58 -0700</bug_when>
    <thetext>Created attachment 287041
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223337</commentid>
    <comment_count>5</comment_count>
      <attachid>287041</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-08-25 17:11:36 -0700</bug_when>
    <thetext>Comment on attachment 287041
Patch

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

Looks good to me!

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        In future patchs I plan to make it work for other classes of objects as

Typo: &quot;patchs&quot; =&gt; &quot;patches&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223563</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-08-26 10:07:11 -0700</bug_when>
    <thetext>Committed r205023: &lt;http://trac.webkit.org/changeset/205023&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224539</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2016-08-30 05:35:28 -0700</bug_when>
    <thetext>I am testing in r205172, everything works per spec except for `toString` called on proxy with function target: `ProxyCreate` (https://tc39.github.io/ecma262/#sec-proxycreate) checks for `[[Call]]` on target (step 7a) and sets the method on proxy object if it exists. `toString` (https://tc39.github.io/ecma262/#sec-object.prototype.tostring) checks for `[[Call]]` in step 8 and should return `&quot;[object Function]&quot;` unless `@@toStringTag` is specified. Test cases:

```js
toString.call(new Proxy(() =&gt; {}, {})) // should return [object Function], not [object Object]
toString.call(new Proxy(function () {}, {})) // should return [object Function], not [object Object]
toString.call(new Proxy(function*() {}, {})) // [object GeneratorFunction], correct
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1651931</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-05-12 14:09:42 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #7)
&gt; I am testing in r205172, everything works per spec except for `toString`
&gt; called on proxy with function target...

Remaining test cases were fixed in r261159.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287037</attachid>
            <date>2016-08-25 15:55:35 -0700</date>
            <delta_ts>2016-08-25 16:28:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161111-20160825155332.patch</filename>
            <type>text/plain</type>
            <size>14530</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0ODY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
M2EyOTQyODllMTAyNWI1MmQzZjhmMWUwMjFiM2RlNjIyOTUxZDQ0Li45ZjI3MjI3MDZmODdhMDVm
MDRlZDBhYThmN2UyMTEyNTc4NDZkNGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wOC0yNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICB0b1N0cmluZyBjYWxsZWQgb24gcHJveGllcyByZXR1cm5zIGluY29y
cmVjdCB0YWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MTExMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBNZXRob2QgdGFibGUgZnVuY3Rpb24gdG9TdHJpbmdOYW1l
LiBUaGlzIGZ1bmN0aW9uCisgICAgICAgIGlzIHVzZWQgYnkgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZyB0byBjcmVhdGUgdGhlIHN0cmluZyB0YWcgdGhhdCBpdAorICAgICAgICBpbnNlcnRzLiBS
aWdodCBub3cgaXQgb25seSBjaGFuZ2VzIHRoZSBzdHJpbmdpZmljYXRpb24gb2YgcHJveHkgb2Jq
ZWN0cy4KKyAgICAgICAgSW4gZnV0dXJlIHBhdGNocyBJIHBsYW4gdG8gbWFrZSBpdCB3b3JrIGZv
ciBvdGhlciBjbGFzc2VzIG9mIG9iamVjdHMgYXMKKyAgICAgICAgd2VsbC4KKworICAgICAgICAq
IHJ1bnRpbWUvQ2xhc3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NlbGw6OnRvU3RyaW5nTmFtZSk6CisgICAgICAgICogcnVudGltZS9KU0Nl
bGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OnRvU3RyaW5nTmFtZSk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6b2JqZWN0
UHJvdG9GdW5jVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvUHJveHlPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpQcm94eU9iamVjdDo6dG9TdHJpbmdOYW1lKToKKyAgICAgICAgKiBydW50
aW1lL1Byb3h5T2JqZWN0Lmg6CisKIDIwMTYtMDgtMjMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgJVR5cGVkQXJyYXklLnByb3RvdHlwZS5zbGljZSBu
ZWVkcyB0byBjaGVjayB0aGF0IHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGhhdmUgbm90IGJl
ZW4gZGV0YWNoZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmlu
ZGV4IDI1NmIxNzg5ODM4NmEzZTA3ZjJlOWE4OTc1NGY0ZGY2NzM5YjQyY2UuLmU3NTRmMDNjNDBh
MzcxNjU3ZDJiNmUyMmVhYjdhMDEyZmZjNjY0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NsYXNzSW5mby5oCkBAIC05MSw2ICs5MSw3IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7
CiAKICAgICB0eXBlZGVmIFN0cmluZyAoKkNsYXNzTmFtZUZ1bmN0aW9uUHRyKShjb25zdCBKU09i
amVjdCopOwogICAgIENsYXNzTmFtZUZ1bmN0aW9uUHRyIGNsYXNzTmFtZTsKKyAgICBDbGFzc05h
bWVGdW5jdGlvblB0ciB0b1N0cmluZ05hbWU7CiAKICAgICB0eXBlZGVmIGJvb2wgKCpDdXN0b21I
YXNJbnN0YW5jZUZ1bmN0aW9uUHRyKShKU09iamVjdCosIEV4ZWNTdGF0ZSosIEpTVmFsdWUpOwog
ICAgIEN1c3RvbUhhc0luc3RhbmNlRnVuY3Rpb25QdHIgY3VzdG9tSGFzSW5zdGFuY2U7CkBAIC0x
NjYsNiArMTY3LDcgQEAgc3RydWN0IE1ldGhvZFRhYmxlIHsKICAgICAgICAgJkNsYXNzTmFtZTo6
Z2V0U3RydWN0dXJlUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRHZW5l
cmljUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpjbGFzc05hbWUsIFwKKyAg
ICAgICAgJkNsYXNzTmFtZTo6dG9TdHJpbmdOYW1lLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmN1
c3RvbUhhc0luc3RhbmNlLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmRlZmluZU93blByb3BlcnR5
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OnNsb3dEb3duQW5kV2FzdGVNZW1vcnksIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGJjMDEyNzYzNjViNDA0MDA3
NDE0YjE0MThjYWZmZWM5ZTU2Y2ZmMzAuLjE4OWU4MGI1MGM3OTdjZDRjNTA3YTA1MzkzNDMzNDNk
Y2Q2OWRlY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAt
MjIyLDYgKzIyMiwxMiBAQCBTdHJpbmcgSlNDZWxsOjpjbGFzc05hbWUoY29uc3QgSlNPYmplY3Qq
KQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIEpTQ2VsbDo6dG9TdHJpbmdOYW1l
KGNvbnN0IEpTT2JqZWN0KikKK3sKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwogY29uc3QgY2hhciogSlNDZWxsOjpjbGFzc05hbWUo
KSBjb25zdAogewogICAgIHJldHVybiBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA1MzQ1MDgxMzA4MmNjNjdhNWVmNmFiYmE4
YTk2ZWY1M2U0YjYzZGVjLi4zNGYyOGNlMjE5MzNjZDJkY2QwOWYwMTI4MTliZTNhZWYzMDZjYjY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjEyLDYgKzIxMiw3
IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBKU1ZhbHVl
IGdldFByb3RvdHlwZShKU09iamVjdCosIEV4ZWNTdGF0ZSopOwogCiAgICAgc3RhdGljIFN0cmlu
ZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKTsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
TmFtZShjb25zdCBKU09iamVjdCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29s
IGN1c3RvbUhhc0luc3RhbmNlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgSlNWYWx1ZSk7CiAgICAg
c3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwog
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKaW5kZXggYTg4MzlhMDAyOGU0MzBjMDQyNzdkNzk4ODBlOGEwYmMw
OWUyMGIzMi4uNmZlNjdiNTA4ZWRlZWE4NGEyNTVkNzBhMTE2ZWEyZWM0NjcwZjYzOCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtMjI5LDYgKzIyOSwx
MyBAQCBTdHJpbmcgSlNPYmplY3Q6OmNsYXNzTmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0KQog
ICAgIHJldHVybiBpbmZvLT5jbGFzc05hbWU7CiB9CiAKK1N0cmluZyBKU09iamVjdDo6dG9TdHJp
bmdOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpCit7CisgICAgY29uc3QgQ2xhc3NJbmZvKiBp
bmZvID0gb2JqZWN0LT5jbGFzc0luZm8oKTsKKyAgICBBU1NFUlQoaW5mbyk7CisgICAgcmV0dXJu
IGluZm8tPmNsYXNzTmFtZTsKK30KKwogU3RyaW5nIEpTT2JqZWN0OjpjYWxjdWxhdGVkQ2xhc3NO
YW1lKEpTT2JqZWN0KiBvYmplY3QpCiB7CiAgICAgU3RyaW5nIHByb3RvdHlwZUZ1bmN0aW9uTmFt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0Lmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IGZlNzFlNDk3
NjYwZDFlM2MwNzhhYTE4YTU5Mjk3N2I3M2ZiOTk1NDkuLjQ4OWY1ZjVlMDAxOWE5YzMzOTVhNDUy
NzJmMGQzMDBhMGM5NTM1YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmpl
Y3QuaApAQCAtMTA3LDYgKzEwNywxMiBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUg
c3RhdGljIFN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKTsKICAgICBKU19FWFBPUlRf
UFJJVkFURSBzdGF0aWMgU3RyaW5nIGNhbGN1bGF0ZWRDbGFzc05hbWUoSlNPYmplY3QqKTsKIAor
ICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgd2hhdCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkg
d2lsbCB1c2UgdG8gZ2V0IHRoZSBuYW1lIG9mCisgICAgLy8gYW4gb2JqZWN0IHdoZW4gdXNpbmcg
U3ltYm9sLnRvU3RyaW5nVGFnIGZhaWxzLiBGb3IgdGhlIG1vc3QgcGFydCB0aGVyZSBpcyBubwor
ICAgIC8vIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIGFuZCBjbGFzc05hbWUoKS4gVGhlIG1haW4g
dXNlIGNhc2UgaXMgZm9yIG5ldyBKUyBsYW5ndWFnZQorICAgIC8vIG9iamVjdHMgdG8gc2V0IHRo
ZSBkZWZhdWx0IHRhZyB0byAiT2JqZWN0Ii4KKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMg
U3RyaW5nIHRvU3RyaW5nTmFtZShjb25zdCBKU09iamVjdCopOworCiAgICAgLy8gVGhpcyBpcyB0
aGUgZnVsbHkgdmlydHVhbCBbW0dldFByb3RvdHlwZU9mXV0gaW50ZXJuYWwgZnVuY3Rpb24gZGVm
aW5lZAogICAgIC8vIGluIHRoZSBFQ01BU2NyaXB0IDYgc3BlY2lmaWNhdGlvbi4gVXNlIHRoaXMg
d2hlbiBkb2luZyBhIFtbR2V0UHJvdG90eXBlT2ZdXSAKICAgICAvLyBvcGVyYXRpb24gYXMgZGlj
dGF0ZWQgaW4gdGhlIHNwZWNpZmljYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAppbmRleCA2ZTBlN2NiM2M4ZDIyNzQzNjEwNjM0
M2QxOGUyZDI0NWNjMjdiNTA2Li5lZTgzNjdhMzFjMDJhMjczNTllMmJkMzU2MmIwMGNlNjU0Yzcw
NzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90
b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3Rv
dHlwZS5jcHAKQEAgLTI5OCw3ICsyOTgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IG9iamVjdFByb3RvRnVuY1RvU3RyaW5nKEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogCi0gICAgICAgIFN0cmluZyBuZXdTdHJpbmcgPSBXVEY6OnRyeU1ha2VTdHJp
bmcoIltvYmplY3QgIiwgdGhpc09iamVjdC0+bWV0aG9kVGFibGUoZXhlYy0+dm0oKSktPmNsYXNz
TmFtZSh0aGlzT2JqZWN0KSwgIl0iKTsKKyAgICAgICAgU3RyaW5nIG5ld1N0cmluZyA9IFdURjo6
dHJ5TWFrZVN0cmluZygiW29iamVjdCAiLCB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZShleGVjLT52
bSgpKS0+dG9TdHJpbmdOYW1lKHRoaXNPYmplY3QpLCAiXSIpOwogICAgICAgICBpZiAoIW5ld1N0
cmluZykKICAgICAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmNwcAppbmRleCBi
MTM0YTdhMDRmNWFlMTAxMThkYTMxM2U1ZjI0MmM0MTMwZmYwNzJiLi43YjRlOGVlNDQyZjZiMmQ5
NWIyZjViNTdjOTJhZjRmYTM4NmY0NDE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJveHlPYmplY3QuY3BwCkBAIC00MSwxMyArNDEsMjEgQEAgbmFtZXNwYWNlIEpTQyB7
CiAKIFNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNUSUJMRShQcm94eU9iamVjdCk7
CiAKLWNvbnN0IENsYXNzSW5mbyBQcm94eU9iamVjdDo6c19pbmZvID0geyAiUHJveHlPYmplY3Qi
LCAmQmFzZTo6c19pbmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFByb3h5T2JqZWN0KSB9Owor
Y29uc3QgQ2xhc3NJbmZvIFByb3h5T2JqZWN0OjpzX2luZm8gPSB7ICJQcm94eSIsICZCYXNlOjpz
X2luZm8sIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoUHJveHlPYmplY3QpIH07CiAKIFByb3h5T2Jq
ZWN0OjpQcm94eU9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIDogQmFz
ZSh2bSwgc3RydWN0dXJlKQogewogfQogCitTdHJpbmcgUHJveHlPYmplY3Q6OnRvU3RyaW5nTmFt
ZShjb25zdCBKU09iamVjdCogb2JqZWN0KQoreworICAgIGNvbnN0IEpTT2JqZWN0KiB0YXJnZXQg
PSBqc0Nhc3Q8Y29uc3QgUHJveHlPYmplY3QqPihvYmplY3QpLT50YXJnZXQoKTsKKyAgICBpZiAo
aXNKU0FycmF5KHRhcmdldCkpCisgICAgICAgIHJldHVybiB0YXJnZXQtPmNsYXNzSW5mbygpLT5t
ZXRob2RUYWJsZS5jbGFzc05hbWUodGFyZ2V0KTsKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJP
YmplY3QiKTsKK30KKwogU3RydWN0dXJlKiBQcm94eU9iamVjdDo6c3RydWN0dXJlRm9yVGFyZ2V0
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdGFyZ2V0KQogewogICAgIGlm
ICghdGFyZ2V0LmlzT2JqZWN0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Qcm94eU9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
eHlPYmplY3QuaAppbmRleCBhODJlMzVjMzJkZjk2MWJjZGY4M2FlODMyYmQ2NTc4MDM5MzlkZmNm
Li41YWNmZDBjYjY5ODNiZGQ1NzY5Y2Y2OTU3M2VlNDYyMjZjMmRkZjI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgRXhlY1N0YXRlKiwgSlNWYWx1ZSB0
YXJnZXQsIEpTVmFsdWUgaGFuZGxlcik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogc3RydWN0dXJl
Rm9yVGFyZ2V0KEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSB0YXJnZXQpOwogCisgICAgc3RhdGlj
IFN0cmluZyB0b1N0cmluZ05hbWUoY29uc3QgSlNPYmplY3QqKTsKICAgICBzdGF0aWMgYm9vbCBn
ZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIFBy
b3BlcnR5U2xvdCYpOwogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgo
SlNPYmplY3QqLCBFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xv
dCYpOwogICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYp
OwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIueWFt
bAppbmRleCA4M2FiNGQ3NjhlNjY2NDM3YzdlYjdmMTNmOWRlYmU3MDhhNWIzY2ZiLi5hOWE2ZjU1
YTFmNzgwMjdhMzhiYWIzMDE5NDM2OWEwNTNmODA4YmUzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rl
c3QyNjIueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIueWFtbApAQCAtMTk0ODAsOSArMTk0ODAs
OSBAQAogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vc3RyaW5naWZ5L3ZhbHVl
LXByb3h5LXJldm9rZWQuanMKICAgY21kOiBydW5UZXN0MjYyIDpub3JtYWwsICJOb0V4Y2VwdGlv
biIsIFsiLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vaGFybmVz
cy9zdGEuanMiXSwgWzpzdHJpY3RdCiAtIHBhdGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNP
Ti9zdHJpbmdpZnkvdmFsdWUtcHJveHkuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiTm9F
eGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4u
L2hhcm5lc3Mvc3RhLmpzIl0sIFtdCisgIGNtZDogcnVuVGVzdDI2MiA6bm9ybWFsLCAiTm9FeGNl
cHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hh
cm5lc3Mvc3RhLmpzIl0sIFtdCiAtIHBhdGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9z
dHJpbmdpZnkvdmFsdWUtcHJveHkuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiTm9FeGNl
cHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hh
cm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQorICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5v
RXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8u
Li9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0
LWlucy9NYXAvU3ltYm9sLnNwZWNpZXMvbGVuZ3RoLmpzCiAgIGNtZDogcnVuVGVzdDI2MiA6bm9y
bWFsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4u
Ly4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3MvcHJvcGVydHlI
ZWxwZXIuanMiXSwgW10KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvU3ltYm9s
LnNwZWNpZXMvbGVuZ3RoLmpzCkBAIC0yMjk3NCw5ICsyMjk3NCw5IEBACiAtIHBhdGg6IHRlc3Qy
NjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTEzOS5qcwogICBjbWQ6
IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJuZXNz
L2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0g
cGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvY3JlYXRlLzE1LjIuMy41LTQtMTQu
anMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4u
L2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFtdCisg
IGNtZDogcnVuVGVzdDI2MiA6bm9ybWFsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uL2hh
cm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFtdCiAtIHBh
dGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTE0Lmpz
Ci0gIGNtZDogcnVuVGVzdDI2MiA6ZmFpbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9o
YXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmlj
dF0KKyAgY21kOiBydW5UZXN0MjYyIDpub3JtYWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4v
Li4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpz
dHJpY3RdCiAtIHBhdGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4y
LjMuNS00LTE0MC5qcwogICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwg
WyIuLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0
YS5qcyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUv
MTUuMi4zLjUtNC0xNDAuanMKQEAgLTIzNzQ2LDkgKzIzNzQ2LDkgQEAKIC0gcGF0aDogdGVzdDI2
Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvY3JlYXRlLzE1LjIuMy41LTQtMzYuanMKICAgY21kOiBy
dW5UZXN0MjYyIDpub3JtYWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4vLi4vaGFybmVzcy9h
c3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpzdHJpY3RdCiAtIHBh
dGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTM3Lmpz
Ci0gIGNtZDogcnVuVGVzdDI2MiA6ZmFpbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9o
YXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQorICBj
bWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJu
ZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBwYXRo
OiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUuMi4zLjUtNC0zNy5qcwot
ICBjbWQ6IHJ1blRlc3QyNjIgOmZhaWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4vLi4vaGFy
bmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpzdHJpY3Rd
CisgIGNtZDogcnVuVGVzdDI2MiA6bm9ybWFsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4u
L2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFs6c3Ry
aWN0XQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUuMi4z
LjUtNC0zOC5qcwogICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIu
Li8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5q
cyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUu
Mi4zLjUtNC0zOC5qcwpAQCAtMzQzMzAsOSArMzQzMzAsOSBAQAogLSBwYXRoOiB0ZXN0MjYyL3Rl
c3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9TdHJpbmcvcHJveHktcmV2b2tlZC5qcwog
ICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi8u
Li9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBb
OnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBl
L3RvU3RyaW5nL3Byb3h5LmpzCi0gIGNtZDogcnVuVGVzdDI2MiA6ZmFpbCwgIk5vRXhjZXB0aW9u
IiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9o
YXJuZXNzL3N0YS5qcyJdLCBbXQorICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0
aW9uIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8u
Li9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvdG9TdHJpbmcvcHJveHkuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWls
LCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4u
Ly4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQorICBjbWQ6IHJ1blRlc3Qy
NjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2Vy
dC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0
aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvU3RyaW5nL3N5bWJv
bC10YWctbm9uLXN0ci5qcwogICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9u
IiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9o
YXJuZXNzL3N0YS5qcyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVj
dC9wcm90b3R5cGUvdG9TdHJpbmcvc3ltYm9sLXRhZy1ub24tc3RyLmpzCkBAIC03MzEwNiwxMyAr
NzMxMDYsMTMgQEAKIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3MtbWV0aG9kLWFyZ3VtZW50cy1pbi1mb3Jt
YWwtcGFyYW1ldGVycy5qcwogICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIlN5bnRheEVycm9y
IiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9o
YXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3MtbWV0aG9kLWF3
YWl0LWluLWZvcm1hbHMtZGVmYXVsdC5qcwotICBjbWQ6IHJ1blRlc3QyNjIgOmZhaWwsICJTeW50
YXhFcnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4v
Li4vLi4vaGFybmVzcy9zdGEuanMiXSwgW10KKyAgY21kOiBydW5UZXN0MjYyIDpub3JtYWwsICJT
eW50YXhFcnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4v
Li4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgW10KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1
YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3MtbWV0aG9k
LWF3YWl0LWluLWZvcm1hbHMtZGVmYXVsdC5qcwotICBjbWQ6IHJ1blRlc3QyNjIgOmZhaWwsICJT
eW50YXhFcnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4v
Li4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpzdHJpY3RdCisgIGNtZDogcnVuVGVzdDI2MiA6
bm9ybWFsLCAiU3ludGF4RXJyb3IiLCBbIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0Lmpz
IiwgIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQogLSBwYXRoOiB0
ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL2Vhcmx5LWVy
cm9ycy1jbGFzcy1tZXRob2QtYXdhaXQtaW4tZm9ybWFscy5qcwotICBjbWQ6IHJ1blRlc3QyNjIg
OmZhaWwsICJTeW50YXhFcnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMi
LCAiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgW10KKyAgY21kOiBydW5UZXN0MjYy
IDpub3JtYWwsICJTeW50YXhFcnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQu
anMiLCAiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgW10KIC0gcGF0aDogdGVzdDI2
Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMt
Y2xhc3MtbWV0aG9kLWF3YWl0LWluLWZvcm1hbHMuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWls
LCAiU3ludGF4RXJyb3IiLCBbIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4u
Ly4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQorICBjbWQ6IHJ1blRlc3Qy
NjIgOm5vcm1hbCwgIlN5bnRheEVycm9yIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2Vy
dC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0
aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9lYXJs
eS1lcnJvcnMtY2xhc3MtbWV0aG9kLWJvZHktY29udGFpbnMtc3VwZXItY2FsbC5qcwogICBjbWQ6
IHJ1blRlc3QyNjIgOm5vcm1hbCwgIlN5bnRheEVycm9yIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJu
ZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBw
YXRoOiB0ZXN0MjYyL3Rlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL2Vh
cmx5LWVycm9ycy1jbGFzcy1tZXRob2QtYm9keS1jb250YWlucy1zdXBlci1jYWxsLmpzCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287041</attachid>
            <date>2016-08-25 16:28:58 -0700</date>
            <delta_ts>2016-08-25 18:36:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161111-20160825162656.patch</filename>
            <type>text/plain</type>
            <size>14230</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0ODY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
M2EyOTQyODllMTAyNWI1MmQzZjhmMWUwMjFiM2RlNjIyOTUxZDQ0Li45ZjI3MjI3MDZmODdhMDVm
MDRlZDBhYThmN2UyMTEyNTc4NDZkNGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wOC0yNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICB0b1N0cmluZyBjYWxsZWQgb24gcHJveGllcyByZXR1cm5zIGluY29y
cmVjdCB0YWcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2MTExMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggYWRkcyBhIG5ldyBNZXRob2QgdGFibGUgZnVuY3Rpb24gdG9TdHJpbmdOYW1l
LiBUaGlzIGZ1bmN0aW9uCisgICAgICAgIGlzIHVzZWQgYnkgT2JqZWN0LnByb3RvdHlwZS50b1N0
cmluZyB0byBjcmVhdGUgdGhlIHN0cmluZyB0YWcgdGhhdCBpdAorICAgICAgICBpbnNlcnRzLiBS
aWdodCBub3cgaXQgb25seSBjaGFuZ2VzIHRoZSBzdHJpbmdpZmljYXRpb24gb2YgcHJveHkgb2Jq
ZWN0cy4KKyAgICAgICAgSW4gZnV0dXJlIHBhdGNocyBJIHBsYW4gdG8gbWFrZSBpdCB3b3JrIGZv
ciBvdGhlciBjbGFzc2VzIG9mIG9iamVjdHMgYXMKKyAgICAgICAgd2VsbC4KKworICAgICAgICAq
IHJ1bnRpbWUvQ2xhc3NJbmZvLmg6CisgICAgICAgICogcnVudGltZS9KU0NlbGwuY3BwOgorICAg
ICAgICAoSlNDOjpKU0NlbGw6OnRvU3RyaW5nTmFtZSk6CisgICAgICAgICogcnVudGltZS9KU0Nl
bGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OnRvU3RyaW5nTmFtZSk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAg
ICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6b2JqZWN0
UHJvdG9GdW5jVG9TdHJpbmcpOgorICAgICAgICAqIHJ1bnRpbWUvUHJveHlPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpQcm94eU9iamVjdDo6dG9TdHJpbmdOYW1lKToKKyAgICAgICAgKiBydW50
aW1lL1Byb3h5T2JqZWN0Lmg6CisKIDIwMTYtMDgtMjMgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgJVR5cGVkQXJyYXklLnByb3RvdHlwZS5zbGljZSBu
ZWVkcyB0byBjaGVjayB0aGF0IHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGhhdmUgbm90IGJl
ZW4gZGV0YWNoZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmlu
ZGV4IDI1NmIxNzg5ODM4NmEzZTA3ZjJlOWE4OTc1NGY0ZGY2NzM5YjQyY2UuLmU3NTRmMDNjNDBh
MzcxNjU3ZDJiNmUyMmVhYjdhMDEyZmZjNjY0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NsYXNzSW5mby5oCkBAIC05MSw2ICs5MSw3IEBAIHN0cnVjdCBNZXRob2RUYWJsZSB7
CiAKICAgICB0eXBlZGVmIFN0cmluZyAoKkNsYXNzTmFtZUZ1bmN0aW9uUHRyKShjb25zdCBKU09i
amVjdCopOwogICAgIENsYXNzTmFtZUZ1bmN0aW9uUHRyIGNsYXNzTmFtZTsKKyAgICBDbGFzc05h
bWVGdW5jdGlvblB0ciB0b1N0cmluZ05hbWU7CiAKICAgICB0eXBlZGVmIGJvb2wgKCpDdXN0b21I
YXNJbnN0YW5jZUZ1bmN0aW9uUHRyKShKU09iamVjdCosIEV4ZWNTdGF0ZSosIEpTVmFsdWUpOwog
ICAgIEN1c3RvbUhhc0luc3RhbmNlRnVuY3Rpb25QdHIgY3VzdG9tSGFzSW5zdGFuY2U7CkBAIC0x
NjYsNiArMTY3LDcgQEAgc3RydWN0IE1ldGhvZFRhYmxlIHsKICAgICAgICAgJkNsYXNzTmFtZTo6
Z2V0U3RydWN0dXJlUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpnZXRHZW5l
cmljUHJvcGVydHlOYW1lcywgXAogICAgICAgICAmQ2xhc3NOYW1lOjpjbGFzc05hbWUsIFwKKyAg
ICAgICAgJkNsYXNzTmFtZTo6dG9TdHJpbmdOYW1lLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmN1
c3RvbUhhc0luc3RhbmNlLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmRlZmluZU93blByb3BlcnR5
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OnNsb3dEb3duQW5kV2FzdGVNZW1vcnksIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IGJjMDEyNzYzNjViNDA0MDA3
NDE0YjE0MThjYWZmZWM5ZTU2Y2ZmMzAuLjE4OWU4MGI1MGM3OTdjZDRjNTA3YTA1MzkzNDMzNDNk
Y2Q2OWRlY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2Vs
bC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAt
MjIyLDYgKzIyMiwxMiBAQCBTdHJpbmcgSlNDZWxsOjpjbGFzc05hbWUoY29uc3QgSlNPYmplY3Qq
KQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIEpTQ2VsbDo6dG9TdHJpbmdOYW1l
KGNvbnN0IEpTT2JqZWN0KikKK3sKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwogY29uc3QgY2hhciogSlNDZWxsOjpjbGFzc05hbWUo
KSBjb25zdAogewogICAgIHJldHVybiBjbGFzc0luZm8oKS0+Y2xhc3NOYW1lOwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA1MzQ1MDgxMzA4MmNjNjdhNWVmNmFiYmE4
YTk2ZWY1M2U0YjYzZGVjLi4zNGYyOGNlMjE5MzNjZDJkY2QwOWYwMTI4MTliZTNhZWYzMDZjYjY0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtMjEyLDYgKzIxMiw3
IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCBKU1ZhbHVl
IGdldFByb3RvdHlwZShKU09iamVjdCosIEV4ZWNTdGF0ZSopOwogCiAgICAgc3RhdGljIFN0cmlu
ZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKTsKKyAgICBzdGF0aWMgU3RyaW5nIHRvU3RyaW5n
TmFtZShjb25zdCBKU09iamVjdCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBib29s
IGN1c3RvbUhhc0luc3RhbmNlKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgSlNWYWx1ZSk7CiAgICAg
c3RhdGljIGJvb2wgZGVmaW5lT3duUHJvcGVydHkoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgc2hvdWxkVGhyb3cpOwog
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKaW5kZXggYTg4MzlhMDAyOGU0MzBjMDQyNzdkNzk4ODBlOGEwYmMw
OWUyMGIzMi4uNTU3YTY0ZWEwMjQwNmFiYTJkOGY4OTY1OTJiYTkwNjE5YTU3ODU5OCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcApAQCAtMjI5LDYgKzIyOSwx
MyBAQCBTdHJpbmcgSlNPYmplY3Q6OmNsYXNzTmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0KQog
ICAgIHJldHVybiBpbmZvLT5jbGFzc05hbWU7CiB9CiAKK1N0cmluZyBKU09iamVjdDo6dG9TdHJp
bmdOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmplY3QpCit7CisgICAgY29uc3QgQ2xhc3NJbmZvKiBp
bmZvID0gb2JqZWN0LT5jbGFzc0luZm8oKTsKKyAgICBBU1NFUlQoaW5mbyk7CisgICAgcmV0dXJu
IGluZm8tPm1ldGhvZFRhYmxlLmNsYXNzTmFtZShvYmplY3QpOworfQorCiBTdHJpbmcgSlNPYmpl
Y3Q6OmNhbGN1bGF0ZWRDbGFzc05hbWUoSlNPYmplY3QqIG9iamVjdCkKIHsKICAgICBTdHJpbmcg
cHJvdG90eXBlRnVuY3Rpb25OYW1lOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgKaW5kZXggZmU3MWU0OTc2NjBkMWUzYzA3OGFhMThhNTkyOTc3YjczZmI5OTU0OS4uNDg5
ZjVmNWUwMDE5YTljMzM5NWE0NTI3MmYwZDMwMGEwYzk1MzVjNyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCkBAIC0xMDcsNiArMTA3LDEyIEBAIHB1YmxpYzoKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVj
dCopOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJpbmcgY2FsY3VsYXRlZENsYXNz
TmFtZShKU09iamVjdCopOwogCisgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB3aGF0IE9iamVjdC5w
cm90b3R5cGUudG9TdHJpbmcoKSB3aWxsIHVzZSB0byBnZXQgdGhlIG5hbWUgb2YKKyAgICAvLyBh
biBvYmplY3Qgd2hlbiB1c2luZyBTeW1ib2wudG9TdHJpbmdUYWcgZmFpbHMuIEZvciB0aGUgbW9z
dCBwYXJ0IHRoZXJlIGlzIG5vCisgICAgLy8gZGlmZmVyZW5jZSBiZXR3ZWVuIHRoaXMgYW5kIGNs
YXNzTmFtZSgpLiBUaGUgbWFpbiB1c2UgY2FzZSBpcyBmb3IgbmV3IEpTIGxhbmd1YWdlCisgICAg
Ly8gb2JqZWN0cyB0byBzZXQgdGhlIGRlZmF1bHQgdGFnIHRvICJPYmplY3QiLgorICAgIEpTX0VY
UE9SVF9QUklWQVRFIHN0YXRpYyBTdHJpbmcgdG9TdHJpbmdOYW1lKGNvbnN0IEpTT2JqZWN0Kik7
CisKICAgICAvLyBUaGlzIGlzIHRoZSBmdWxseSB2aXJ0dWFsIFtbR2V0UHJvdG90eXBlT2ZdXSBp
bnRlcm5hbCBmdW5jdGlvbiBkZWZpbmVkCiAgICAgLy8gaW4gdGhlIEVDTUFTY3JpcHQgNiBzcGVj
aWZpY2F0aW9uLiBVc2UgdGhpcyB3aGVuIGRvaW5nIGEgW1tHZXRQcm90b3R5cGVPZl1dIAogICAg
IC8vIG9wZXJhdGlvbiBhcyBkaWN0YXRlZCBpbiB0aGUgc3BlY2lmaWNhdGlvbi4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCmluZGV4IDZl
MGU3Y2IzYzhkMjI3NDM2MTA2MzQzZDE4ZTJkMjQ1Y2MyN2I1MDYuLmVlODM2N2EzMWMwMmEyNzM1
OWUyYmQzNTYyYjAwY2U2NTRjNzA3MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcApAQCAtMjk4LDcgKzI5OCw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9GdW5jVG9TdHJpbmcoRXhlY1N0YXRlKiBl
eGVjKQogICAgICAgICAgICAgfQogICAgICAgICB9CiAKLSAgICAgICAgU3RyaW5nIG5ld1N0cmlu
ZyA9IFdURjo6dHJ5TWFrZVN0cmluZygiW29iamVjdCAiLCB0aGlzT2JqZWN0LT5tZXRob2RUYWJs
ZShleGVjLT52bSgpKS0+Y2xhc3NOYW1lKHRoaXNPYmplY3QpLCAiXSIpOworICAgICAgICBTdHJp
bmcgbmV3U3RyaW5nID0gV1RGOjp0cnlNYWtlU3RyaW5nKCJbb2JqZWN0ICIsIHRoaXNPYmplY3Qt
Pm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT50b1N0cmluZ05hbWUodGhpc09iamVjdCksICJdIik7
CiAgICAgICAgIGlmICghbmV3U3RyaW5nKQogICAgICAgICAgICAgcmV0dXJuIHRocm93T3V0T2ZN
ZW1vcnlFcnJvcihleGVjKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvUHJveHlPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJv
eHlPYmplY3QuY3BwCmluZGV4IGIxMzRhN2EwNGY1YWUxMDExOGRhMzEzZTVmMjQyYzQxMzBmZjA3
MmIuLjU0ZTgxMDU4ZjIyYzM5NGEwYzVlYzkxNDE0OWJlYzk4MDgxZmFjMjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5jcHAKQEAgLTQ4LDYgKzQ4LDE0
IEBAIFByb3h5T2JqZWN0OjpQcm94eU9iamVjdChWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJl
KQogewogfQogCitTdHJpbmcgUHJveHlPYmplY3Q6OnRvU3RyaW5nTmFtZShjb25zdCBKU09iamVj
dCogb2JqZWN0KQoreworICAgIGNvbnN0IEpTT2JqZWN0KiB0YXJnZXQgPSBqc0Nhc3Q8Y29uc3Qg
UHJveHlPYmplY3QqPihvYmplY3QpLT50YXJnZXQoKTsKKyAgICBpZiAoaXNKU0FycmF5KHRhcmdl
dCkpCisgICAgICAgIHJldHVybiB0YXJnZXQtPmNsYXNzSW5mbygpLT5tZXRob2RUYWJsZS5jbGFz
c05hbWUodGFyZ2V0KTsKKyAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJPYmplY3QiKTsKK30KKwog
U3RydWN0dXJlKiBQcm94eU9iamVjdDo6c3RydWN0dXJlRm9yVGFyZ2V0KEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdGFyZ2V0KQogewogICAgIGlmICghdGFyZ2V0LmlzT2Jq
ZWN0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9i
amVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlPYmplY3QuaAppbmRl
eCBhODJlMzVjMzJkZjk2MWJjZGY4M2FlODMyYmQ2NTc4MDM5MzlkZmNmLi41YWNmZDBjYjY5ODNi
ZGQ1NzY5Y2Y2OTU3M2VlNDYyMjZjMmRkZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3h5T2JqZWN0LmgKQEAgLTc1LDYgKzc1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKFZNJiwgRXhlY1N0YXRlKiwgSlNWYWx1ZSB0YXJnZXQsIEpTVmFsdWUg
aGFuZGxlcik7CiAgICAgc3RhdGljIFN0cnVjdHVyZSogc3RydWN0dXJlRm9yVGFyZ2V0KEpTR2xv
YmFsT2JqZWN0KiwgSlNWYWx1ZSB0YXJnZXQpOwogCisgICAgc3RhdGljIFN0cmluZyB0b1N0cmlu
Z05hbWUoY29uc3QgSlNPYmplY3QqKTsKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNs
b3QoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwog
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgoSlNPYmplY3QqLCBFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpOwogICAgIHN0YXRp
YyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIueWFtbAppbmRleCA4M2FiNGQ3
NjhlNjY2NDM3YzdlYjdmMTNmOWRlYmU3MDhhNWIzY2ZiLi5hOWE2ZjU1YTFmNzgwMjdhMzhiYWIz
MDE5NDM2OWEwNTNmODA4YmUzIDEwMDY0NAotLS0gYS9KU1Rlc3RzL3Rlc3QyNjIueWFtbAorKysg
Yi9KU1Rlc3RzL3Rlc3QyNjIueWFtbApAQCAtMTk0ODAsOSArMTk0ODAsOSBAQAogLSBwYXRoOiB0
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL0pTT04vc3RyaW5naWZ5L3ZhbHVlLXByb3h5LXJldm9rZWQu
anMKICAgY21kOiBydW5UZXN0MjYyIDpub3JtYWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4v
Li4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpz
dHJpY3RdCiAtIHBhdGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9zdHJpbmdpZnkvdmFs
dWUtcHJveHkuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiTm9FeGNlcHRpb24iLCBbIi4u
Ly4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpz
Il0sIFtdCisgIGNtZDogcnVuVGVzdDI2MiA6bm9ybWFsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4u
Ly4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0s
IFtdCiAtIHBhdGg6IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvSlNPTi9zdHJpbmdpZnkvdmFsdWUt
cHJveHkuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4u
Ly4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0s
IFs6c3RyaWN0XQorICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIu
Li8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5q
cyJdLCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvU3ltYm9s
LnNwZWNpZXMvbGVuZ3RoLmpzCiAgIGNtZDogcnVuVGVzdDI2MiA6bm9ybWFsLCAiTm9FeGNlcHRp
b24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5l
c3Mvc3RhLmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3MvcHJvcGVydHlIZWxwZXIuanMiXSwgW10K
IC0gcGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9NYXAvU3ltYm9sLnNwZWNpZXMvbGVuZ3Ro
LmpzCkBAIC0yMjk3NCw5ICsyMjk3NCw5IEBACiAtIHBhdGg6IHRlc3QyNjIvdGVzdC9idWlsdC1p
bnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTEzOS5qcwogICBjbWQ6IHJ1blRlc3QyNjIgOm5v
cm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIu
Li8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90
ZXN0L2J1aWx0LWlucy9PYmplY3QvY3JlYXRlLzE1LjIuMy41LTQtMTQuanMKLSAgY21kOiBydW5U
ZXN0MjYyIDpmYWlsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0
LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFtdCisgIGNtZDogcnVuVGVzdDI2
MiA6bm9ybWFsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0Lmpz
IiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFtdCiAtIHBhdGg6IHRlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTE0LmpzCi0gIGNtZDogcnVuVGVz
dDI2MiA6ZmFpbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5q
cyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KKyAgY21kOiBydW5U
ZXN0MjYyIDpub3JtYWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4vLi4vaGFybmVzcy9hc3Nl
cnQuanMiLCAiLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpzdHJpY3RdCiAtIHBhdGg6
IHRlc3QyNjIvdGVzdC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTE0MC5qcwog
ICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9o
YXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBw
YXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUuMi4zLjUtNC0xNDAu
anMKQEAgLTIzNzQ2LDkgKzIzNzQ2LDkgQEAKIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlu
cy9PYmplY3QvY3JlYXRlLzE1LjIuMy41LTQtMzYuanMKICAgY21kOiBydW5UZXN0MjYyIDpub3Jt
YWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4v
Li4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpzdHJpY3RdCiAtIHBhdGg6IHRlc3QyNjIvdGVz
dC9idWlsdC1pbnMvT2JqZWN0L2NyZWF0ZS8xNS4yLjMuNS00LTM3LmpzCi0gIGNtZDogcnVuVGVz
dDI2MiA6ZmFpbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5q
cyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQorICBjbWQ6IHJ1blRlc3QyNjIg
Om5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIs
ICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3Qv
YnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUuMi4zLjUtNC0zNy5qcwotICBjbWQ6IHJ1blRlc3Qy
NjIgOmZhaWwsICJOb0V4Y2VwdGlvbiIsIFsiLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMi
LCAiLi4vLi4vLi4vLi4vaGFybmVzcy9zdGEuanMiXSwgWzpzdHJpY3RdCisgIGNtZDogcnVuVGVz
dDI2MiA6bm9ybWFsLCAiTm9FeGNlcHRpb24iLCBbIi4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0
LmpzIiwgIi4uLy4uLy4uLy4uL2hhcm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQogLSBwYXRoOiB0
ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUuMi4zLjUtNC0zOC5qcwogICBj
bWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi9oYXJu
ZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBwYXRo
OiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9jcmVhdGUvMTUuMi4zLjUtNC0zOC5qcwpA
QCAtMzQzMzAsOSArMzQzMzAsOSBAQAogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09i
amVjdC9wcm90b3R5cGUvdG9TdHJpbmcvcHJveHktcmV2b2tlZC5qcwogICBjbWQ6IHJ1blRlc3Qy
NjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2Vy
dC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0
aDogdGVzdDI2Mi90ZXN0L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvU3RyaW5nL3Byb3h5
LmpzCi0gIGNtZDogcnVuVGVzdDI2MiA6ZmFpbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8u
Li8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJd
LCBbXQorICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8u
Li8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5q
cyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUv
dG9TdHJpbmcvcHJveHkuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiTm9FeGNlcHRpb24i
LCBbIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uLy4uL2hh
cm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQorICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5v
RXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8u
Li8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0
L2J1aWx0LWlucy9PYmplY3QvcHJvdG90eXBlL3RvU3RyaW5nL3N5bWJvbC10YWctbm9uLXN0ci5q
cwogICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIk5vRXhjZXB0aW9uIiwgWyIuLi8uLi8uLi8u
Li8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJd
LCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvYnVpbHQtaW5zL09iamVjdC9wcm90b3R5cGUvdG9T
dHJpbmcvc3ltYm9sLXRhZy1ub24tc3RyLmpzCkBAIC03MzEwNiwxMyArNzMxMDYsMTMgQEAKIC0g
cGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9l
YXJseS1lcnJvcnMtY2xhc3MtbWV0aG9kLWFyZ3VtZW50cy1pbi1mb3JtYWwtcGFyYW1ldGVycy5q
cwogICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIlN5bnRheEVycm9yIiwgWyIuLi8uLi8uLi8u
Li8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJd
LCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xh
c3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3MtbWV0aG9kLWF3YWl0LWluLWZvcm1hbHMt
ZGVmYXVsdC5qcwotICBjbWQ6IHJ1blRlc3QyNjIgOmZhaWwsICJTeW50YXhFcnJvciIsIFsiLi4v
Li4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9z
dGEuanMiXSwgW10KKyAgY21kOiBydW5UZXN0MjYyIDpub3JtYWwsICJTeW50YXhFcnJvciIsIFsi
Li4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vLi4vaGFybmVz
cy9zdGEuanMiXSwgW10KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMv
Y2xhc3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3MtbWV0aG9kLWF3YWl0LWluLWZvcm1h
bHMtZGVmYXVsdC5qcwotICBjbWQ6IHJ1blRlc3QyNjIgOmZhaWwsICJTeW50YXhFcnJvciIsIFsi
Li4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4vLi4vaGFybmVz
cy9zdGEuanMiXSwgWzpzdHJpY3RdCisgIGNtZDogcnVuVGVzdDI2MiA6bm9ybWFsLCAiU3ludGF4
RXJyb3IiLCBbIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4u
Ly4uL2hhcm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQogLSBwYXRoOiB0ZXN0MjYyL3Rlc3QvbGFu
Z3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL2Vhcmx5LWVycm9ycy1jbGFzcy1tZXRo
b2QtYXdhaXQtaW4tZm9ybWFscy5qcwotICBjbWQ6IHJ1blRlc3QyNjIgOmZhaWwsICJTeW50YXhF
cnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4vLi4v
Li4vaGFybmVzcy9zdGEuanMiXSwgW10KKyAgY21kOiBydW5UZXN0MjYyIDpub3JtYWwsICJTeW50
YXhFcnJvciIsIFsiLi4vLi4vLi4vLi4vLi4vaGFybmVzcy9hc3NlcnQuanMiLCAiLi4vLi4vLi4v
Li4vLi4vaGFybmVzcy9zdGEuanMiXSwgW10KIC0gcGF0aDogdGVzdDI2Mi90ZXN0L2xhbmd1YWdl
L3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3MtbWV0aG9kLWF3
YWl0LWluLWZvcm1hbHMuanMKLSAgY21kOiBydW5UZXN0MjYyIDpmYWlsLCAiU3ludGF4RXJyb3Ii
LCBbIi4uLy4uLy4uLy4uLy4uL2hhcm5lc3MvYXNzZXJ0LmpzIiwgIi4uLy4uLy4uLy4uLy4uL2hh
cm5lc3Mvc3RhLmpzIl0sIFs6c3RyaWN0XQorICBjbWQ6IHJ1blRlc3QyNjIgOm5vcm1hbCwgIlN5
bnRheEVycm9yIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIsICIuLi8uLi8u
Li8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbOnN0cmljdF0KIC0gcGF0aDogdGVzdDI2Mi90ZXN0
L2xhbmd1YWdlL3N0YXRlbWVudHMvY2xhc3MvZGVmaW5pdGlvbi9lYXJseS1lcnJvcnMtY2xhc3Mt
bWV0aG9kLWJvZHktY29udGFpbnMtc3VwZXItY2FsbC5qcwogICBjbWQ6IHJ1blRlc3QyNjIgOm5v
cm1hbCwgIlN5bnRheEVycm9yIiwgWyIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL2Fzc2VydC5qcyIs
ICIuLi8uLi8uLi8uLi8uLi9oYXJuZXNzL3N0YS5qcyJdLCBbXQogLSBwYXRoOiB0ZXN0MjYyL3Rl
c3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9kZWZpbml0aW9uL2Vhcmx5LWVycm9ycy1jbGFz
cy1tZXRob2QtYm9keS1jb250YWlucy1zdXBlci1jYWxsLmpzCg==
</data>
<flag name="review"
          id="310529"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>