<?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>164954</bug_id>
          
          <creation_ts>2016-11-18 14:05:53 -0800</creation_ts>
          <short_desc>Better testing for accessibility media queries</short_desc>
          <delta_ts>2016-11-18 15:00:17 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1252844</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-11-18 14:05:53 -0800</bug_when>
    <thetext>Add the &quot;force&quot; option for inverted-colors and monochrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252845</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-11-18 14:06:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/29338292&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252852</commentid>
    <comment_count>2</comment_count>
      <attachid>295188</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-11-18 14:12:44 -0800</bug_when>
    <thetext>Created attachment 295188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252857</commentid>
    <comment_count>3</comment_count>
      <attachid>295188</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-11-18 14:16:56 -0800</bug_when>
    <thetext>Comment on attachment 295188
Patch

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

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:264
&gt; +    bool isMonochrome = screenIsMonochrome(frame.mainFrame().view());

I suggest putting this inside a conditional below so it doesn&apos;t have to be called.

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:280
&gt; +    if (frame.settings().forcedColorsAreInvertedAccessibilityValue() == Settings::ForcedAccessibilityValue::On)

Ditto.

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:675
&gt;      bool userPrefersReducedMotion = platformTheme()-&gt;userPrefersReducedMotion();

Ditto.

&gt; Source/WebCore/testing/InternalSettings.idl:97
&gt; +    attribute ForcedAccessibilityValue forcedColorsAreInvertedAccessibilityValue;
&gt; +    attribute ForcedAccessibilityValue forcedDisplayIsMonochromeAccessibilityValue;
&gt; +    attribute ForcedAccessibilityValue forcedPrefersReducedMotionAccessibilityValue;

It&apos;s pretty awesome you don&apos;t need to make SPI for this. It keeps the patch much simpler than it would otherwise be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252871</commentid>
    <comment_count>4</comment_count>
      <attachid>295193</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-11-18 14:29:35 -0800</bug_when>
    <thetext>Created attachment 295193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1252886</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-11-18 15:00:17 -0800</bug_when>
    <thetext>Committed r208899: &lt;http://trac.webkit.org/changeset/208899&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295188</attachid>
            <date>2016-11-18 14:12:44 -0800</date>
            <delta_ts>2016-11-18 14:16:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164954-20161119091235.patch</filename>
            <type>text/plain</type>
            <size>21397</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4ODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljYzhjMmM3Mjk5NzRi
Y2ZiZWU4OGZmNjg0NTQzYmZkMjU3MmYxMi4uNTUwZjJkYzUxMzQzZmI2NDczOTU4OTI1NTI5YmRl
NzRiZGY3NDY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTExLTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBCZXR0ZXIgdGVzdGluZyBmb3Ig
YWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ5NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MzM4
MjkyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBy
b3ZpZGUgYW4gb3ZlcnJpZGUgbW9kZSBmb3IgdGhlIGFjY2Vzc2liaWxpdHkgbWVkaWEgcXVlcmll
cworICAgICAgICB0aGF0IHJlbHkgb24gc3lzdGVtIHNldHRpbmdzLiBUaGlzIHdheSB3ZSBjYW4g
dGVzdCB0aGF0IHRoZXkKKyAgICAgICAgYXJlIGxlYXN0IHJlc3BvbmRpbmcgdG8gc29tZXRoaW5n
LgorCisgICAgICAgIFRlc3RzOiBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1mb3JjZWQt
dmFsdWUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tZWRpYS9tcS1tb25vY2hyb21lLWZvcmNl
ZC12YWx1ZS5odG1sCisKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6IFF1
ZXJ5IHRoZSBTZXR0aW5ncyB0byBzZWUgaWYgd2UncmUKKyAgICAgICAgZm9yY2luZyBhIHZhbHVl
LgorICAgICAgICAoV2ViQ29yZTo6bW9ub2Nocm9tZUV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OmludmVydGVkQ29sb3JzRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6cHJlZmVyc1Jl
ZHVjZWRNb3Rpb25FdmFsdWF0ZSk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6IEFkZCBuZXcgZm9yY2luZyB2YWx1ZXMg
Zm9yIGludmVydGVkLWNvbG9ycworICAgICAgICBhbmQgbW9ub2Nocm9tZS4KKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKFdlYkNv
cmU6OnNldHRpbmdzVG9JbnRlcm5hbFNldHRpbmdzVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
aW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpmb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRDb2xvcnNBcmVJ
bnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpmb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZERpc3BsYXlJc01vbm9j
aHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRN
b3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlv
blZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorCiAyMDE2LTExLTE2ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjA4
NjcyKTogQ3Jhc2ggaW4gY29tLmFwcGxlLldlYkNvcmU6IFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4
dDo6c3RvcERhdGFiYXNlcyArIDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKaW5kZXggMmMxY2QyMzg4Y2E2OTQyNDE5ZjUxYWY3YThiNjhlMDYyZWJmYjhlNy4u
Yjk5MzYxOTM2ZjhjYzJkMWY2OTQ0OTk4ZGUzNzkwODJhM2M4MzA5ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMjYxLDE2ICsyNjEsMzAgQEAgc3Rh
dGljIGJvb2wgY29sb3JHYW11dEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSYKIAogc3RhdGljIGJvb2wgbW9ub2Nocm9tZUV2YWx1YXRlKENT
U1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lv
bkRhdGEsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4IG9wKQogewotICAgIGlmICgh
c2NyZWVuSXNNb25vY2hyb21lKGZyYW1lLm1haW5GcmFtZSgpLnZpZXcoKSkpCisgICAgYm9vbCBp
c01vbm9jaHJvbWUgPSBzY3JlZW5Jc01vbm9jaHJvbWUoZnJhbWUubWFpbkZyYW1lKCkudmlldygp
KTsKKworICAgIGlmIChmcmFtZS5zZXR0aW5ncygpLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVB
Y2Nlc3NpYmlsaXR5VmFsdWUoKSA9PSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
OjpPbikKKyAgICAgICAgaXNNb25vY2hyb21lID0gdHJ1ZTsKKyAgICBlbHNlIGlmIChmcmFtZS5z
ZXR0aW5ncygpLmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKSA9
PSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmYpCisgICAgICAgIGlzTW9u
b2Nocm9tZSA9IGZhbHNlOworCisgICAgaWYgKCFpc01vbm9jaHJvbWUpCiAgICAgICAgIHJldHVy
biB6ZXJvRXZhbHVhdGUodmFsdWUsIG9wKTsKICAgICByZXR1cm4gY29sb3JFdmFsdWF0ZSh2YWx1
ZSwgY29udmVyc2lvbkRhdGEsIGZyYW1lLCBvcCk7CiB9CiAKLXN0YXRpYyBib29sIGludmVydGVk
Q29sb3JzRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNp
b25EYXRhJiwgRnJhbWUmLCBNZWRpYUZlYXR1cmVQcmVmaXgpCitzdGF0aWMgYm9vbCBpbnZlcnRl
ZENvbG9yc0V2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJz
aW9uRGF0YSYsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4KQogewogICAgIGJvb2wg
aXNJbnZlcnRlZCA9IHNjcmVlbkhhc0ludmVydGVkQ29sb3JzKCk7CisKKyAgICBpZiAoZnJhbWUu
c2V0dGluZ3MoKS5mb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSgpID09
IFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uKQorICAgICAgICBpc0ludmVy
dGVkID0gdHJ1ZTsKKyAgICBlbHNlIGlmIChmcmFtZS5zZXR0aW5ncygpLmZvcmNlZENvbG9yc0Fy
ZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKCkgPT0gU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2li
aWxpdHlWYWx1ZTo6T2ZmKQorICAgICAgICBpc0ludmVydGVkID0gZmFsc2U7CisKICAgICBpZiAo
IXZhbHVlKQogICAgICAgICByZXR1cm4gaXNJbnZlcnRlZDsKKwogICAgIHJldHVybiBkb3duY2Fz
dDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKS52YWx1ZUlEKCkgPT0gKGlzSW52ZXJ0ZWQgPyBD
U1NWYWx1ZUludmVydGVkIDogQ1NTVmFsdWVOb25lKTsKIH0KIApAQCAtNjU3LDE1ICs2NzEsMTUg
QEAgc3RhdGljIGJvb2wgYW55UG9pbnRlckV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3Qg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYKIAogc3RhdGljIGJvb2wgcHJlZmVyc1JlZHVjZWRN
b3Rpb25FdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEmLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCkKIHsKLSNpZiBVU0UoTkVX
X1RIRU1FKQorI2lmIFBMQVRGT1JNKElPUykgfHwgVVNFKE5FV19USEVNRSkKICAgICBib29sIHVz
ZXJQcmVmZXJzUmVkdWNlZE1vdGlvbiA9IHBsYXRmb3JtVGhlbWUoKS0+dXNlclByZWZlcnNSZWR1
Y2VkTW90aW9uKCk7CiAjZWxzZQogICAgIGJvb2wgdXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID0g
ZmFsc2U7CiAjZW5kaWYKIAotICAgIGlmIChmcmFtZS5zZXR0aW5ncygpLmZvcmNlZFByZWZlcnNS
ZWR1Y2VkTW90aW9uVmFsdWUoKSA9PSBTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rp
b25WYWx1ZTo6T24pCisgICAgaWYgKGZyYW1lLnNldHRpbmdzKCkuZm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoKSA9PSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJp
bGl0eVZhbHVlOjpPbikKICAgICAgICAgdXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID0gdHJ1ZTsK
LSAgICBlbHNlIGlmIChmcmFtZS5zZXR0aW5ncygpLmZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9u
VmFsdWUoKSA9PSBTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6T2Zm
KQorICAgIGVsc2UgaWYgKGZyYW1lLnNldHRpbmdzKCkuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rp
b25BY2Nlc3NpYmlsaXR5VmFsdWUoKSA9PSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZh
bHVlOjpPZmYpCiAgICAgICAgIHVzZXJQcmVmZXJzUmVkdWNlZE1vdGlvbiA9IGZhbHNlOwogCiAg
ICAgaWYgKCF2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBiZDQyNWIxMzJmNDk2YWU4
NjdmOGJlZGFjYTNkZDE5ODg2ODM3YzU5Li5kMDY5NTdkYWVmNjY3N2Y3MTkzNWY3ZjViMTNlNTI5
MTNkYmRkZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC05OCw4ICs5OCwxMCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHBhZ2VEZXN0cm95ZWQoKSB7IG1fcGFnZSA9IG51bGxwdHI7IH0KIAot
ICAgIGVudW0gY2xhc3MgRm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSB7IFN5c3RlbSwg
T24sIE9mZiB9OwotICAgIHN0YXRpYyBjb25zdCBTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25WYWx1ZSBkZWZhdWx0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSA9IEZv
cmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6OlN5c3RlbTsKKyAgICBlbnVtIGNsYXNzIEZv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7IFN5c3RlbSwgT24sIE9mZiB9OworICAgIHN0YXRpYyBj
b25zdCBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGRlZmF1bHRGb3JjZWRDb2xv
cnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSA9IEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1
ZTo6U3lzdGVtOworICAgIHN0YXRpYyBjb25zdCBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0
eVZhbHVlIGRlZmF1bHRGb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVl
ID0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpTeXN0ZW07CisgICAgc3RhdGljIGNvbnN0IFNl
dHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgZGVmYXVsdEZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlID0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpT
eXN0ZW07CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKICAgICBX
RUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseShVU2Ny
aXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IDQzNDdiN2FkYmIzNjVjMGI1NDU5ODJiNDRjYWQ0
ZGFhZTRhNGJlYmEuLjYxMWM5MmI4ZmIzNDUxY2ZjNmNmOTZjOGVkMzdlNzg1YTMyZDk3ZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtOTcsNyAr
OTcsOSBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0dGlu
Z3MpCiAgICAgLCBtX3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koc2V0dGluZ3MudXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSgpKQogICAgICwgbV9zeXN0ZW1MYXlvdXREaXJlY3Rpb24o
c2V0dGluZ3Muc3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkpCiAgICAgLCBtX3BkZkltYWdlQ2FjaGlu
Z1BvbGljeShzZXR0aW5ncy5wZGZJbWFnZUNhY2hpbmdQb2xpY3koKSkKLSAgICAsIG1fZm9yY2Vk
UHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZShzZXR0aW5ncy5mb3JjZWRQcmVmZXJzUmVkdWNlZE1v
dGlvblZhbHVlKCkpCisgICAgLCBtX2ZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0
eVZhbHVlKHNldHRpbmdzLmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVl
KCkpCisgICAgLCBtX2ZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUo
c2V0dGluZ3MuZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpKQor
ICAgICwgbV9mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShzZXR0
aW5ncy5mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpKQogewog
fQogCkBAIC0xNzcsNyArMTc5LDkgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJl
c3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgc2V0dGluZ3Muc2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeShtX3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kpOwogICAgIHNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbihtX3N5c3RlbUxheW91dERpcmVjdGlvbik7
CiAgICAgc2V0dGluZ3Muc2V0UGRmSW1hZ2VDYWNoaW5nUG9saWN5KG1fcGRmSW1hZ2VDYWNoaW5n
UG9saWN5KTsKLSAgICBzZXR0aW5ncy5zZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVl
KG1fZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSk7CisgICAgc2V0dGluZ3Muc2V0Rm9y
Y2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUobV9mb3JjZWRDb2xvcnNBcmVJ
bnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSk7CisgICAgc2V0dGluZ3Muc2V0Rm9yY2VkRGlzcGxh
eUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZShtX2ZvcmNlZERpc3BsYXlJc01vbm9jaHJv
bWVBY2Nlc3NpYmlsaXR5VmFsdWUpOworICAgIHNldHRpbmdzLnNldEZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKG1fZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25B
Y2Nlc3NpYmlsaXR5VmFsdWUpOwogICAgIFNldHRpbmdzOjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZp
Y2F0ZShmYWxzZSk7CiB9CiAKQEAgLTc1MSwzNiArNzU1LDY0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+
IEludGVybmFsU2V0dGluZ3M6OnNldFZhcmlhdGlvbkZvbnRzRW5hYmxlZChib29sIGVuYWJsZWQp
CiAgICAgcmV0dXJuIHsgfTsKIH0KIAotSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25WYWx1ZSBJbnRlcm5hbFNldHRpbmdzOjpmb3JjZWRQcmVmZXJzUmVkdWNlZE1v
dGlvblZhbHVlKCkgY29uc3QKK3N0YXRpYyBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgc2V0dGluZ3NUb0ludGVybmFsU2V0dGluZ3NWYWx1ZShTZXR0aW5nczo6Rm9y
Y2VkQWNjZXNzaWJpbGl0eVZhbHVlIHZhbHVlKQogewotICAgIHN3aXRjaCAoc2V0dGluZ3MoKS5m
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlKCkpIHsKLSAgICBjYXNlIFNldHRpbmdzOjpG
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOjpTeXN0ZW06Ci0gICAgICAgIHJldHVybiBJ
bnRlcm5hbFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOjpTeXN0ZW07
Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6T246
Ci0gICAgICAgIHJldHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVkdWNlZE1v
dGlvblZhbHVlOjpPbjsKLSAgICBjYXNlIFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVkdWNlZE1v
dGlvblZhbHVlOjpPZmY6Ci0gICAgICAgIHJldHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRQ
cmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOjpPZmY7CisgICAgc3dpdGNoICh2YWx1ZSkgeworICAg
IGNhc2UgU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOgorICAgICAg
ICByZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpTeXN0
ZW07CisgICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPbjoKKyAg
ICAgICAgcmV0dXJuIEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6
T247CisgICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY6Cisg
ICAgICAgIHJldHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6
Ok9mZjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gSW50
ZXJuYWxTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6T2ZmOworICAg
IHJldHVybiBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9mZjsK
IH0KIAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlv
blZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUg
dmFsdWUpCitzdGF0aWMgU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBpbnRlcm5h
bFNldHRpbmdzVG9TZXR0aW5nc1ZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2li
aWxpdHlWYWx1ZSB2YWx1ZSkKIHsKICAgICBzd2l0Y2ggKHZhbHVlKSB7Ci0gICAgY2FzZSBJbnRl
cm5hbFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOjpTeXN0ZW06Ci0g
ICAgICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZShTZXR0
aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6U3lzdGVtKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIGNhc2UgSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRN
b3Rpb25WYWx1ZTo6T246Ci0gICAgICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25WYWx1ZShTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6
T24pOwotICAgICAgICByZXR1cm47Ci0gICAgY2FzZSBJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRQ
cmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOjpPZmY6Ci0gICAgICAgIHNldHRpbmdzKCkuc2V0Rm9y
Y2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZShTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25WYWx1ZTo6T2ZmKTsKLSAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSW50ZXJuYWxT
ZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpTeXN0ZW06CisgICAgICAgIHJldHVy
biBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpTeXN0ZW07CisgICAgY2FzZSBJ
bnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uOgorICAgICAgICBy
ZXR1cm4gU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T247CisgICAgY2FzZSBJ
bnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9mZjoKKyAgICAgICAg
cmV0dXJuIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9mZjsKICAgICB9CiAK
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU2V0dGluZ3M6OkZvcmNlZEFj
Y2Vzc2liaWxpdHlWYWx1ZTo6T2ZmOworfQorCitJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRB
Y2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJu
YWxTZXR0aW5nc1ZhbHVlKHNldHRpbmdzKCkuZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3Np
YmlsaXR5VmFsdWUoKSk7Cit9CisKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkQ29s
b3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2Vk
QWNjZXNzaWJpbGl0eVZhbHVlIHZhbHVlKQoreworICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkQ29s
b3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0dGlu
Z3NWYWx1ZSh2YWx1ZSkpOworfQorCitJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmls
aXR5VmFsdWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vz
c2liaWxpdHlWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNldHRpbmdzVG9JbnRlcm5hbFNl
dHRpbmdzVmFsdWUoc2V0dGluZ3MoKS5mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJp
bGl0eVZhbHVlKCkpOworfQorCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZERpc3Bs
YXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2Vk
QWNjZXNzaWJpbGl0eVZhbHVlIHZhbHVlKQoreworICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZShpbnRlcm5hbFNldHRpbmdzVG9TZXR0
aW5nc1ZhbHVlKHZhbHVlKSk7Cit9CisKK0ludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2li
aWxpdHlWYWx1ZSBJbnRlcm5hbFNldHRpbmdzOjpmb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFj
Y2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNldHRpbmdzVG9JbnRlcm5h
bFNldHRpbmdzVmFsdWUoc2V0dGluZ3MoKS5mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vz
c2liaWxpdHlWYWx1ZSgpKTsKK30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRQ
cmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpG
b3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgdmFsdWUpCit7CisgICAgc2V0dGluZ3MoKS5zZXRGb3Jj
ZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShpbnRlcm5hbFNldHRpbmdz
VG9TZXR0aW5nc1ZhbHVlKHZhbHVlKSk7CiB9CiAKIC8vIElmIHlvdSBhZGQgdG8gdGhpcyBjbGFz
cywgbWFrZSBzdXJlIHRoYXQgeW91IHVwZGF0ZSB0aGUgQmFja3VwIGNsYXNzIGZvciB0ZXN0IHJl
cHJvZHVjYWJpbGl0eSEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
aW5kZXggZjgyOTYyMmE4NWQ0YmVjYzY1ZWQ0NWVmNzViNzJiMTIxYzY1ZTBkZC4uNWE0ZjZlNGRh
ZDQ4NWNiNWFmMzEyN2RlZjgwNzhkYzc3NjFjMTk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTk5LDkgKzk5LDEzIEBAIHB1YmxpYzoKICAgICBFeGNl
cHRpb25Pcjxib29sPiB2YXJpYXRpb25Gb250c0VuYWJsZWQoKTsKICAgICBFeGNlcHRpb25Pcjx2
b2lkPiBzZXRWYXJpYXRpb25Gb250c0VuYWJsZWQoYm9vbCk7CiAKLSAgICBlbnVtIGNsYXNzIEZv
cmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUgeyBTeXN0ZW0sIE9uLCBPZmYgfTsKLSAgICBG
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlIGZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9u
VmFsdWUoKSBjb25zdDsKLSAgICB2b2lkIHNldEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFs
dWUoRm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSk7CisgICAgZW51bSBjbGFzcyBGb3Jj
ZWRBY2Nlc3NpYmlsaXR5VmFsdWUgeyBTeXN0ZW0sIE9uLCBPZmYgfTsKKyAgICBGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUo
KSBjb25zdDsKKyAgICB2b2lkIHNldEZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0
eVZhbHVlKEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSk7CisgICAgRm9yY2VkQWNjZXNzaWJpbGl0
eVZhbHVlIGZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25z
dDsKKyAgICB2b2lkIHNldEZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFs
dWUoRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlKTsKKyAgICBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdDsK
KyAgICB2b2lkIHNldEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVl
KEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSk7CiAKICAgICBzdGF0aWMgdm9pZCBzZXRBbGxvd3NB
bnlTU0xDZXJ0aWZpY2F0ZShib29sKTsKIApAQCAtMTc4LDcgKzE4Miw5IEBAIHByaXZhdGU6CiAg
ICAgICAgIFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgbV91c2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5OwogICAgICAgICBUZXh0RGlyZWN0aW9uIG1fc3lzdGVtTGF5b3V0RGlyZWN0aW9u
OwogICAgICAgICBQREZJbWFnZUNhY2hpbmdQb2xpY3kgbV9wZGZJbWFnZUNhY2hpbmdQb2xpY3k7
Ci0gICAgICAgIFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlIG1fZm9y
Y2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTsKKyAgICAgICAgU2V0dGluZ3M6OkZvcmNlZEFj
Y2Vzc2liaWxpdHlWYWx1ZSBtX2ZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZh
bHVlOworICAgICAgICBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIG1fZm9yY2Vk
RGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZTsKKyAgICAgICAgU2V0dGluZ3M6
OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBtX2ZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNj
ZXNzaWJpbGl0eVZhbHVlOwogICAgIH07CiAKICAgICBQYWdlKiBtX3BhZ2U7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCA5MzY2ZmU5NzU4Y2QwYThl
MDkwNmY2NWI4NDFhMTUxMmNhNDQ4NGEyLi41ZDRmYWFkNTgyZTE0NTc4NWQ0M2Q1NTE1OTBmMzhk
MWI3MzIzM2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5p
ZGwKQEAgLTI0LDcgKzI0LDcgQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotZW51bSBGb3JjZWRQcmVm
ZXJzUmVkdWNlZE1vdGlvblZhbHVlIHsgInN5c3RlbSIsICJvbiIsICJvZmYiIH07CitlbnVtIEZv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7ICJzeXN0ZW0iLCAib24iLCAib2ZmIiB9OwogCiBbCiAg
ICAgTm9JbnRlcmZhY2VPYmplY3QsCkBAIC05Miw3ICs5Miw5IEBAIGVudW0gRm9yY2VkUHJlZmVy
c1JlZHVjZWRNb3Rpb25WYWx1ZSB7ICJzeXN0ZW0iLCAib24iLCAib2ZmIiB9OwogICAgIFtNYXlU
aHJvd0V4Y2VwdGlvbl0gYm9vbGVhbiB2YXJpYXRpb25Gb250c0VuYWJsZWQoKTsKICAgICBbTWF5
VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VmFyaWF0aW9uRm9udHNFbmFibGVkKGJvb2xlYW4gZW5h
YmxlZCk7CiAKLSAgICBhdHRyaWJ1dGUgRm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSBm
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOworICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWU7
CisgICAgYXR0cmlidXRlIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWREaXNwbGF5SXNN
b25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlOworICAgIGF0dHJpYnV0ZSBGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWU7
CiAKICAgICB2b2lkIHNldElucHV0RXZlbnRzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogfTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhOWM0YjFhMmY4YzIxYTk4ZGYzZTMwMjJkZDdiMzI4MWU1NzdiN2JkLi5lNTdmMTMz
M2VhMWFmOThlOTYzNDFmMGU5ODlhYzMyZGExNmY0ZTUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTYtMTEtMTggIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEJl
dHRlciB0ZXN0aW5nIGZvciBhY2Nlc3NpYmlsaXR5IG1lZGlhIHF1ZXJpZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDk1NAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjkzMzgyOTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1mb3JjZWQtdmFs
dWUtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYS9tcS1pbnZlcnRl
ZC1jb2xvcnMtZm9yY2VkLXZhbHVlLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3Qv
bWVkaWEvbXEtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1mb3JjZWQtdmFsdWUuaHRtbC4KKyAgICAg
ICAgKiBmYXN0L21lZGlhL21xLW1vbm9jaHJvbWUtZm9yY2VkLXZhbHVlLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1mb3JjZWQtdmFsdWUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYS9tcS1wcmVmZXJzLXJlZHVjZWQtbW90
aW9uLWZvcmNlZC12YWx1ZS5odG1sOgorCiAyMDE2LTExLTE2ICBKaWV3ZW4gVGFuICA8amlld2Vu
X3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIG1vcmUgdGVzdHMgZm9yIFN1YnRsZUNyeXB0
bzo6aW1wb3J0S2V5IGFuZCBTdWJ0bGVDcnlwdG86OmV4cG9ydEtleQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtZm9yY2VkLXZhbHVlLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1mb3Jj
ZWQtdmFsdWUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xODNkMmM1NDNiNWM2MjExNDAwYzI3
ZTEwNzI4NWU0NmJmZGZjMzE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9t
ZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtZm9yY2VkLXZhbHVlLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwxNCBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DU1M0IG1lZGlhIHF1ZXJ5IHRlc3Q6
IGludmVydGVkLWNvbG9ycy48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK3AgeyBj
b2xvcjogZ3JlZW47IH0KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPHAgaWQ9ImEiPlRo
aXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4uPC9wPgorICA8cCBpZD0iYiI+VGhpcyB0ZXh0IHNob3Vs
ZCBiZSBncmVlbi48L3A+CisgIDxwIGlkPSJjIj5UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuLjwv
cD4KKyAgPHAgaWQ9ImQiPlRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4uPC9wPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1j
b2xvcnMtZm9yY2VkLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLWludmVy
dGVkLWNvbG9ycy1mb3JjZWQtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjM2MmY0YzViODVhM2Nm
YjU2YzMxMTUwMzdlODBhOGYwMTYxNmNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtZm9yY2VkLXZhbHVlLmh0bWwKQEAgLTAsMCAr
MSwzMiBAQAorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DU1M0IG1lZGlhIHF1ZXJ5IHRlc3Q6IGlu
dmVydGVkLWNvbG9ycy48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK3AgeyBjb2xv
cjogYmxhY2s7IH0KKzwvc3R5bGU+Cis8c2NyaXB0Pgord2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBmdW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICByZXR1cm47CisKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLmZvcmNlZENvbG9yc0Fy
ZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlID0gIm9uIjsKKyAgICBpZiAod2luZG93Lm1hdGNo
TWVkaWEoIihpbnZlcnRlZC1jb2xvcnMpIikubWF0Y2hlcykKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImEiKS5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgaWYgKHdpbmRvdy5t
YXRjaE1lZGlhKCIoaW52ZXJ0ZWQtY29sb3JzOiBpbnZlcnRlZCkiKS5tYXRjaGVzKQorICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYiIpLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKwor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3MuZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nl
c3NpYmlsaXR5VmFsdWUgPSAib2ZmIjsKKyAgICBpZiAoIXdpbmRvdy5tYXRjaE1lZGlhKCIoaW52
ZXJ0ZWQtY29sb3JzKSIpLm1hdGNoZXMpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjIikuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIGlmICh3aW5kb3cubWF0Y2hNZWRpYSgi
KGludmVydGVkLWNvbG9yczogbm9uZSkiKS5tYXRjaGVzKQorICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZCIpLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKK30sIGZhbHNlKTsKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxwIGlkPSJhIj5UaGlzIHRleHQgc2hvdWxkIGJlIGdy
ZWVuLjwvcD4KKyAgPHAgaWQ9ImIiPlRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4uPC9wPgorICA8
cCBpZD0iYyI+VGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbi48L3A+CisgIDxwIGlkPSJkIj5UaGlz
IHRleHQgc2hvdWxkIGJlIGdyZWVuLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1mb3JjZWQtdmFsdWUtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1mb3JjZWQtdmFs
dWUtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODI0YWM5ZmQxOWNmZDNiZDA0MDZiZTczYWE5
ZmM0NTAxOTdlYTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9t
cS1tb25vY2hyb21lLWZvcmNlZC12YWx1ZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTIgQEAK
KzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q1NTNCBtZWRpYSBxdWVyeSB0ZXN0OiBtb25vY2hyb21l
LjwvdGl0bGU+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorcCB7IGNvbG9yOiAjODg4OyB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwIGlkPSJhIj5UaGlzIHRleHQgc2hvdWxkIGJl
IG1pZCBncmV5ICM4ODguPC9wPgorICA8cCBpZD0iYiI+VGhpcyB0ZXh0IHNob3VsZCBiZSBtaWQg
Z3JleSAjODg4LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1mb3JjZWQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1mb3JjZWQtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
Y2FlYzE0ZjAzY2UwZmY2OTE4ZjRkYzZkNjc2MGYyZWVmODlhOTgyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1tb25vY2hyb21lLWZvcmNlZC12YWx1ZS5odG1s
CkBAIC0wLDAgKzEsMjYgQEAKKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Q1NTNCBtZWRpYSBxdWVy
eSB0ZXN0OiBtb25vY2hyb21lLjwvdGl0bGU+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorcCB7
IGNvbG9yOiBibGFjazsgfQorPC9zdHlsZT4KKzxzY3JpcHQ+Cit3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsKKyAgICBpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgIHJldHVybjsKKworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3MuZm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSA9ICJvbiI7CisgICAgaWYgKHdpbmRv
dy5tYXRjaE1lZGlhKCIobW9ub2Nocm9tZSkiKS5tYXRjaGVzKQorICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYSIpLnN0eWxlLmNvbG9yID0gIiM4ODgiOworCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZh
bHVlID0gIm9mZiI7CisgICAgaWYgKCF3aW5kb3cubWF0Y2hNZWRpYSgiKG1vbm9jaHJvbWUpIiku
bWF0Y2hlcykKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImIiKS5zdHlsZS5jb2xv
ciA9ICIjODg4IjsKK30sIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxw
IGlkPSJhIj5UaGlzIHRleHQgc2hvdWxkIGJlIG1pZCBncmV5ICM4ODguPC9wPgorICA8cCBpZD0i
YiI+VGhpcyB0ZXh0IHNob3VsZCBiZSBtaWQgZ3JleSAjODg4LjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2Vk
LW1vdGlvbi1mb3JjZWQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtcHJl
ZmVycy1yZWR1Y2VkLW1vdGlvbi1mb3JjZWQtdmFsdWUuaHRtbAppbmRleCBlYzA5NWE0N2RhY2I1
NzgzMGE2MzhjMjRjOWI0ZmI3ZDI2NjY2OWIyLi5hY2M1OWI5MmY2Y2E1ZDc3YjM5ZWZmNGE1MmM2
YmQwNWFjMGJhNmJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLXByZWZl
cnMtcmVkdWNlZC1tb3Rpb24tZm9yY2VkLXZhbHVlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYS9tcS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLWZvcmNlZC12YWx1ZS5odG1sCkBAIC05
LDEzICs5LDEzIEBAIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkg
ewogICAgIGlmICghd2luZG93LmludGVybmFscykKICAgICAgICAgcmV0dXJuOwogCi0gICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlID0g
Im9uIjsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLmZvcmNlZFByZWZlcnNSZWR1Y2Vk
TW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlID0gIm9uIjsKICAgICBpZiAod2luZG93Lm1hdGNoTWVk
aWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSIpLm1hdGNoZXMpCiAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJhIikuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOwogICAgIGlmICh3aW5k
b3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVz
KQogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYiIpLnN0eWxlLmNvbG9yID0gImdy
ZWVuIjsKIAotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25WYWx1ZSA9ICJvZmYiOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3MuZm9y
Y2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUgPSAib2ZmIjsKICAgICBp
ZiAoIXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikiKS5tYXRjaGVz
KQogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpLnN0eWxlLmNvbG9yID0gImdy
ZWVuIjsKICAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9u
OiBkZWZhdWx0KSIpLm1hdGNoZXMpCg==
</data>
<flag name="review"
          id="317803"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295193</attachid>
            <date>2016-11-18 14:29:35 -0800</date>
            <delta_ts>2016-11-18 14:29:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164954-20161119092926.patch</filename>
            <type>text/plain</type>
            <size>22694</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4ODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzljYzhjMmM3Mjk5NzRi
Y2ZiZWU4OGZmNjg0NTQzYmZkMjU3MmYxMi4uMTQ5ODE0YjZjZTdmNTkyOTQwMTE4N2FlOTJiZjRj
Yjg2MTk5NmM0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTExLTE4ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBCZXR0ZXIgdGVzdGluZyBmb3Ig
YWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ5NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5MzM4
MjkyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgorCisgICAgICAgIFBy
b3ZpZGUgYW4gb3ZlcnJpZGUgbW9kZSBmb3IgdGhlIGFjY2Vzc2liaWxpdHkgbWVkaWEgcXVlcmll
cworICAgICAgICB0aGF0IHJlbHkgb24gc3lzdGVtIHNldHRpbmdzLiBUaGlzIHdheSB3ZSBjYW4g
dGVzdCB0aGF0IHRoZXkKKyAgICAgICAgYXJlIGxlYXN0IHJlc3BvbmRpbmcgdG8gc29tZXRoaW5n
LgorCisgICAgICAgIFRlc3RzOiBmYXN0L21lZGlhL21xLWludmVydGVkLWNvbG9ycy1mb3JjZWQt
dmFsdWUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9tZWRpYS9tcS1tb25vY2hyb21lLWZvcmNl
ZC12YWx1ZS5odG1sCisKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6IFF1
ZXJ5IHRoZSBTZXR0aW5ncyB0byBzZWUgaWYgd2UncmUKKyAgICAgICAgZm9yY2luZyBhIHZhbHVl
LgorICAgICAgICAoV2ViQ29yZTo6bW9ub2Nocm9tZUV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OmludmVydGVkQ29sb3JzRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6cHJlZmVyc1Jl
ZHVjZWRNb3Rpb25FdmFsdWF0ZSk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6IEFkZCBuZXcgZm9yY2luZyB2YWx1ZXMg
Zm9yIGludmVydGVkLWNvbG9ycworICAgICAgICBhbmQgbW9ub2Nocm9tZS4KKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNv
cmU6OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKFdlYkNv
cmU6OnNldHRpbmdzVG9JbnRlcm5hbFNldHRpbmdzVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
aW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpmb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRDb2xvcnNBcmVJ
bnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNl
dHRpbmdzOjpmb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZERpc3BsYXlJc01vbm9j
aHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRN
b3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0
aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlv
blZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorCiAyMDE2LTExLTE2ICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjA4
NjcyKTogQ3Jhc2ggaW4gY29tLmFwcGxlLldlYkNvcmU6IFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4
dDo6c3RvcERhdGFiYXNlcyArIDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKaW5kZXggMmMxY2QyMzg4Y2E2OTQyNDE5ZjUxYWY3YThiNjhlMDYyZWJmYjhlNy4u
MmU3MTkwMWUwYmRiMmY2MGYxNmJkZmM0YWZlYmM2MWE3MDA5NWNhNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMjYxLDE2ICsyNjEsMzQgQEAgc3Rh
dGljIGJvb2wgY29sb3JHYW11dEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSYKIAogc3RhdGljIGJvb2wgbW9ub2Nocm9tZUV2YWx1YXRlKENT
U1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lv
bkRhdGEsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4IG9wKQogewotICAgIGlmICgh
c2NyZWVuSXNNb25vY2hyb21lKGZyYW1lLm1haW5GcmFtZSgpLnZpZXcoKSkpCisgICAgYm9vbCBp
c01vbm9jaHJvbWU7CisKKyAgICBpZiAoZnJhbWUuc2V0dGluZ3MoKS5mb3JjZWREaXNwbGF5SXNN
b25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKCkgPT0gU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2li
aWxpdHlWYWx1ZTo6T24pCisgICAgICAgIGlzTW9ub2Nocm9tZSA9IHRydWU7CisgICAgZWxzZSBp
ZiAoZnJhbWUuc2V0dGluZ3MoKS5mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0
eVZhbHVlKCkgPT0gU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T2ZmKQorICAg
ICAgICBpc01vbm9jaHJvbWUgPSBmYWxzZTsKKyAgICBlbHNlCisgICAgICAgIGlzTW9ub2Nocm9t
ZSA9IHNjcmVlbklzTW9ub2Nocm9tZShmcmFtZS5tYWluRnJhbWUoKS52aWV3KCkpOworCisgICAg
aWYgKCFpc01vbm9jaHJvbWUpCiAgICAgICAgIHJldHVybiB6ZXJvRXZhbHVhdGUodmFsdWUsIG9w
KTsKICAgICByZXR1cm4gY29sb3JFdmFsdWF0ZSh2YWx1ZSwgY29udmVyc2lvbkRhdGEsIGZyYW1l
LCBvcCk7CiB9CiAKLXN0YXRpYyBib29sIGludmVydGVkQ29sb3JzRXZhbHVhdGUoQ1NTVmFsdWUq
IHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiwgRnJhbWUmLCBNZWRpYUZl
YXR1cmVQcmVmaXgpCitzdGF0aWMgYm9vbCBpbnZlcnRlZENvbG9yc0V2YWx1YXRlKENTU1ZhbHVl
KiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYsIEZyYW1lJiBmcmFtZSwg
TWVkaWFGZWF0dXJlUHJlZml4KQogewotICAgIGJvb2wgaXNJbnZlcnRlZCA9IHNjcmVlbkhhc0lu
dmVydGVkQ29sb3JzKCk7CisgICAgYm9vbCBpc0ludmVydGVkOworCisgICAgaWYgKGZyYW1lLnNl
dHRpbmdzKCkuZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3NpYmlsaXR5VmFsdWUoKSA9PSBT
ZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPbikKKyAgICAgICAgaXNJbnZlcnRl
ZCA9IHRydWU7CisgICAgZWxzZSBpZiAoZnJhbWUuc2V0dGluZ3MoKS5mb3JjZWRDb2xvcnNBcmVJ
bnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSgpID09IFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmls
aXR5VmFsdWU6Ok9mZikKKyAgICAgICAgaXNJbnZlcnRlZCA9IGZhbHNlOworICAgIGVsc2UKKyAg
ICAgICAgaXNJbnZlcnRlZCA9IHNjcmVlbkhhc0ludmVydGVkQ29sb3JzKCk7CisKICAgICBpZiAo
IXZhbHVlKQogICAgICAgICByZXR1cm4gaXNJbnZlcnRlZDsKKwogICAgIHJldHVybiBkb3duY2Fz
dDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVlKS52YWx1ZUlEKCkgPT0gKGlzSW52ZXJ0ZWQgPyBD
U1NWYWx1ZUludmVydGVkIDogQ1NTVmFsdWVOb25lKTsKIH0KIApAQCAtNjU3LDE2ICs2NzUsMTYg
QEAgc3RhdGljIGJvb2wgYW55UG9pbnRlckV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3Qg
Q1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYKIAogc3RhdGljIGJvb2wgcHJlZmVyc1JlZHVjZWRN
b3Rpb25FdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEmLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCkKIHsKLSNpZiBVU0UoTkVX
X1RIRU1FKQotICAgIGJvb2wgdXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID0gcGxhdGZvcm1UaGVt
ZSgpLT51c2VyUHJlZmVyc1JlZHVjZWRNb3Rpb24oKTsKLSNlbHNlCiAgICAgYm9vbCB1c2VyUHJl
ZmVyc1JlZHVjZWRNb3Rpb24gPSBmYWxzZTsKLSNlbmRpZgogCi0gICAgaWYgKGZyYW1lLnNldHRp
bmdzKCkuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSgpID09IFNldHRpbmdzOjpGb3Jj
ZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlOjpPbikKKyAgICBpZiAoZnJhbWUuc2V0dGluZ3Mo
KS5mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpID09IFNldHRp
bmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uKQogICAgICAgICB1c2VyUHJlZmVyc1Jl
ZHVjZWRNb3Rpb24gPSB0cnVlOwotICAgIGVsc2UgaWYgKGZyYW1lLnNldHRpbmdzKCkuZm9yY2Vk
UHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSgpID09IFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVk
dWNlZE1vdGlvblZhbHVlOjpPZmYpCisgICAgZWxzZSBpZiAoZnJhbWUuc2V0dGluZ3MoKS5mb3Jj
ZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZSgpID09IFNldHRpbmdzOjpG
b3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9mZikKICAgICAgICAgdXNlclByZWZlcnNSZWR1Y2Vk
TW90aW9uID0gZmFsc2U7CisjaWYgUExBVEZPUk0oSU9TKSB8fCBVU0UoTkVXX1RIRU1FKQorICAg
IGVsc2UKKyAgICAgICAgdXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID0gcGxhdGZvcm1UaGVtZSgp
LT51c2VyUHJlZmVyc1JlZHVjZWRNb3Rpb24oKTsKKyNlbmRpZgogCiAgICAgaWYgKCF2YWx1ZSkK
ICAgICAgICAgcmV0dXJuIHVzZXJQcmVmZXJzUmVkdWNlZE1vdGlvbjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaAppbmRleCBiZDQyNWIxMzJmNDk2YWU4NjdmOGJlZGFjYTNkZDE5ODg2ODM3YzU5Li5kMDY5
NTdkYWVmNjY3N2Y3MTkzNWY3ZjViMTNlNTI5MTNkYmRkZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCkBAIC05OCw4ICs5OCwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHBhZ2VEZXN0cm95ZWQo
KSB7IG1fcGFnZSA9IG51bGxwdHI7IH0KIAotICAgIGVudW0gY2xhc3MgRm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25WYWx1ZSB7IFN5c3RlbSwgT24sIE9mZiB9OwotICAgIHN0YXRpYyBjb25zdCBT
ZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSBkZWZhdWx0Rm9yY2VkUHJl
ZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSA9IEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6
OlN5c3RlbTsKKyAgICBlbnVtIGNsYXNzIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSB7IFN5c3Rl
bSwgT24sIE9mZiB9OworICAgIHN0YXRpYyBjb25zdCBTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJp
bGl0eVZhbHVlIGRlZmF1bHRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1
ZSA9IEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOworICAgIHN0YXRpYyBjb25zdCBT
ZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGRlZmF1bHRGb3JjZWREaXNwbGF5SXNN
b25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlID0gRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpT
eXN0ZW07CisgICAgc3RhdGljIGNvbnN0IFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgZGVmYXVsdEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlID0g
Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpTeXN0ZW07CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29k
ZSA9IFVTQ1JJUFRfQ09NTU9OKTsKICAgICBXRUJDT1JFX0VYUE9SVCBjb25zdCBBdG9taWNTdHJp
bmcmIHN0YW5kYXJkRm9udEZhbWlseShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25z
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IDE0YWM3MDM0ODRkNzlhZTBkNzI1OTU1ODU1
ZmY1OGY1ZWQwOGFhNGMuLjdjZmUxN2E5OGViZjgzYTIzMTVhYjc3OGI2ZGNkYWYxZjBhYmVhNmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMjg2LDYgKzI4Niw4IEBAIGlucHV0RXZlbnRz
RW5hYmxlZCBpbml0aWFsPXRydWUKIHF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCBp
bml0aWFsPWRlZmF1bHRRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQKIHlvdVR1YmVG
bGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZCBpbml0aWFsPWRlZmF1bHRZb3VUdWJlRmxhc2hQ
bHVnaW5SZXBsYWNlbWVudEVuYWJsZWQKIAotZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1
ZSB0eXBlPUZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUsIGluaXRpYWw9ZGVmYXVsdEZv
cmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUKK2ZvcmNlZENvbG9yc0FyZUludmVydGVkQWNj
ZXNzaWJpbGl0eVZhbHVlIHR5cGU9Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlLCBpbml0aWFsPWRl
ZmF1bHRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZQorZm9yY2VkRGlz
cGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSB0eXBlPUZvcmNlZEFjY2Vzc2liaWxp
dHlWYWx1ZSwgaW5pdGlhbD1kZWZhdWx0Rm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2li
aWxpdHlWYWx1ZQorZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUg
dHlwZT1Gb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUsIGluaXRpYWw9ZGVmYXVsdEZvcmNlZFByZWZl
cnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlCiAKIGFzeW5jSW1hZ2VEZWNvZGluZ0Vu
YWJsZWQgaW5pdGlhbD10cnVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmNwcAppbmRleCA0MzQ3YjdhZGJiMzY1YzBiNTQ1OTgyYjQ0Y2FkNGRhYWU0YTRiZWJhLi42
MTFjOTJiOGZiMzQ1MWNmYzZjZjk2YzhlZDM3ZTc4NWEzMmQ5N2Y4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTk3LDcgKzk3LDkgQEAgSW50ZXJu
YWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogICAgICwgbV91
c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KHNldHRpbmdzLnVzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3koKSkKICAgICAsIG1fc3lzdGVtTGF5b3V0RGlyZWN0aW9uKHNldHRpbmdzLnN5c3Rl
bUxheW91dERpcmVjdGlvbigpKQogICAgICwgbV9wZGZJbWFnZUNhY2hpbmdQb2xpY3koc2V0dGlu
Z3MucGRmSW1hZ2VDYWNoaW5nUG9saWN5KCkpCi0gICAgLCBtX2ZvcmNlZFByZWZlcnNSZWR1Y2Vk
TW90aW9uVmFsdWUoc2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSgpKQor
ICAgICwgbV9mb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZShzZXR0aW5n
cy5mb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZSgpKQorICAgICwgbV9m
b3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKHNldHRpbmdzLmZvcmNl
ZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUoKSkKKyAgICAsIG1fZm9yY2Vk
UHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoc2V0dGluZ3MuZm9yY2VkUHJl
ZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoKSkKIHsKIH0KIApAQCAtMTc3LDcg
KzE3OSw5IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGlu
Z3MmIHNldHRpbmdzKQogICAgIHNldHRpbmdzLnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xp
Y3kobV91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KTsKICAgICBzZXR0aW5ncy5zZXRTeXN0
ZW1MYXlvdXREaXJlY3Rpb24obV9zeXN0ZW1MYXlvdXREaXJlY3Rpb24pOwogICAgIHNldHRpbmdz
LnNldFBkZkltYWdlQ2FjaGluZ1BvbGljeShtX3BkZkltYWdlQ2FjaGluZ1BvbGljeSk7Ci0gICAg
c2V0dGluZ3Muc2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZShtX2ZvcmNlZFByZWZl
cnNSZWR1Y2VkTW90aW9uVmFsdWUpOworICAgIHNldHRpbmdzLnNldEZvcmNlZENvbG9yc0FyZUlu
dmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKG1fZm9yY2VkQ29sb3JzQXJlSW52ZXJ0ZWRBY2Nlc3Np
YmlsaXR5VmFsdWUpOworICAgIHNldHRpbmdzLnNldEZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVB
Y2Nlc3NpYmlsaXR5VmFsdWUobV9mb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0
eVZhbHVlKTsKKyAgICBzZXR0aW5ncy5zZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vz
c2liaWxpdHlWYWx1ZShtX2ZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZh
bHVlKTsKICAgICBTZXR0aW5nczo6c2V0QWxsb3dzQW55U1NMQ2VydGlmaWNhdGUoZmFsc2UpOwog
fQogCkBAIC03NTEsMzYgKzc1NSw2NCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRp
bmdzOjpzZXRWYXJpYXRpb25Gb250c0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIHJldHVybiB7
IH07CiB9CiAKLUludGVybmFsU2V0dGluZ3M6OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFs
dWUgSW50ZXJuYWxTZXR0aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSgpIGNv
bnN0CitzdGF0aWMgSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIHNl
dHRpbmdzVG9JbnRlcm5hbFNldHRpbmdzVmFsdWUoU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxp
dHlWYWx1ZSB2YWx1ZSkKIHsKLSAgICBzd2l0Y2ggKHNldHRpbmdzKCkuZm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25WYWx1ZSgpKSB7Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25WYWx1ZTo6U3lzdGVtOgotICAgICAgICByZXR1cm4gSW50ZXJuYWxTZXR0aW5n
czo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6U3lzdGVtOwotICAgIGNhc2UgU2V0
dGluZ3M6OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6Ok9uOgotICAgICAgICByZXR1
cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6T247
Ci0gICAgY2FzZSBTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6T2Zm
OgotICAgICAgICByZXR1cm4gSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRN
b3Rpb25WYWx1ZTo6T2ZmOworICAgIHN3aXRjaCAodmFsdWUpIHsKKyAgICBjYXNlIFNldHRpbmdz
OjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6OlN5c3RlbToKKyAgICAgICAgcmV0dXJuIEludGVy
bmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOworICAgIGNhc2Ug
U2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T246CisgICAgICAgIHJldHVybiBJ
bnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uOworICAgIGNhc2Ug
U2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6T2ZmOgorICAgICAgICByZXR1cm4g
SW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7CiAgICAgfQog
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIEludGVybmFsU2V0dGluZ3M6
OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6Ok9mZjsKKyAgICByZXR1cm4gSW50ZXJu
YWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7CiB9CiAKLXZvaWQgSW50
ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZShJbnRlcm5h
bFNldHRpbmdzOjpGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlIHZhbHVlKQorc3RhdGlj
IFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgaW50ZXJuYWxTZXR0aW5nc1RvU2V0
dGluZ3NWYWx1ZShJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgdmFs
dWUpCiB7CiAgICAgc3dpdGNoICh2YWx1ZSkgewotICAgIGNhc2UgSW50ZXJuYWxTZXR0aW5nczo6
Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZTo6U3lzdGVtOgotICAgICAgICBzZXR0aW5n
cygpLnNldEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUoU2V0dGluZ3M6OkZvcmNlZFBy
ZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6OlN5c3RlbSk7Ci0gICAgICAgIHJldHVybjsKLSAgICBj
YXNlIEludGVybmFsU2V0dGluZ3M6OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6Ok9u
OgotICAgICAgICBzZXR0aW5ncygpLnNldEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUo
U2V0dGluZ3M6OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6Ok9uKTsKLSAgICAgICAg
cmV0dXJuOwotICAgIGNhc2UgSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRN
b3Rpb25WYWx1ZTo6T2ZmOgotICAgICAgICBzZXR0aW5ncygpLnNldEZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uVmFsdWUoU2V0dGluZ3M6OkZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWU6
Ok9mZik7Ci0gICAgICAgIHJldHVybjsKKyAgICBjYXNlIEludGVybmFsU2V0dGluZ3M6OkZvcmNl
ZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOgorICAgICAgICByZXR1cm4gU2V0dGluZ3M6OkZv
cmNlZEFjY2Vzc2liaWxpdHlWYWx1ZTo6U3lzdGVtOworICAgIGNhc2UgSW50ZXJuYWxTZXR0aW5n
czo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPbjoKKyAgICAgICAgcmV0dXJuIFNldHRpbmdz
OjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWU6Ok9uOworICAgIGNhc2UgSW50ZXJuYWxTZXR0aW5n
czo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY6CisgICAgICAgIHJldHVybiBTZXR0aW5n
czo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlOjpPZmY7CiAgICAgfQogCiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWU6Ok9mZjsKK30KKworSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
IEludGVybmFsU2V0dGluZ3M6OmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZh
bHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2V0dGluZ3NUb0ludGVybmFsU2V0dGluZ3NWYWx1
ZShzZXR0aW5ncygpLmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKCkp
OworfQorCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldEZvcmNlZENvbG9yc0FyZUludmVydGVk
QWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZSB2YWx1ZSkKK3sKKyAgICBzZXR0aW5ncygpLnNldEZvcmNlZENvbG9yc0FyZUludmVydGVk
QWNjZXNzaWJpbGl0eVZhbHVlKGludGVybmFsU2V0dGluZ3NUb1NldHRpbmdzVmFsdWUodmFsdWUp
KTsKK30KKworSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIEludGVy
bmFsU2V0dGluZ3M6OmZvcmNlZERpc3BsYXlJc01vbm9jaHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWUo
KSBjb25zdAoreworICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJuYWxTZXR0aW5nc1ZhbHVlKHNl
dHRpbmdzKCkuZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSgpKTsK
K30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRGb3JjZWREaXNwbGF5SXNNb25vY2hyb21l
QWNjZXNzaWJpbGl0eVZhbHVlKEludGVybmFsU2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlW
YWx1ZSB2YWx1ZSkKK3sKKyAgICBzZXR0aW5ncygpLnNldEZvcmNlZERpc3BsYXlJc01vbm9jaHJv
bWVBY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1ZSh2YWx1
ZSkpOworfQorCitJbnRlcm5hbFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgSW50
ZXJuYWxTZXR0aW5nczo6Zm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFs
dWUoKSBjb25zdAoreworICAgIHJldHVybiBzZXR0aW5nc1RvSW50ZXJuYWxTZXR0aW5nc1ZhbHVl
KHNldHRpbmdzKCkuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUo
KSk7Cit9CisKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0Rm9yY2VkUHJlZmVyc1JlZHVjZWRN
b3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoSW50ZXJuYWxTZXR0aW5nczo6Rm9yY2VkQWNjZXNzaWJp
bGl0eVZhbHVlIHZhbHVlKQoreworICAgIHNldHRpbmdzKCkuc2V0Rm9yY2VkUHJlZmVyc1JlZHVj
ZWRNb3Rpb25BY2Nlc3NpYmlsaXR5VmFsdWUoaW50ZXJuYWxTZXR0aW5nc1RvU2V0dGluZ3NWYWx1
ZSh2YWx1ZSkpOwogfQogCiAvLyBJZiB5b3UgYWRkIHRvIHRoaXMgY2xhc3MsIG1ha2Ugc3VyZSB0
aGF0IHlvdSB1cGRhdGUgdGhlIEJhY2t1cCBjbGFzcyBmb3IgdGVzdCByZXByb2R1Y2FiaWxpdHkh
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IGY4Mjk2MjJh
ODVkNGJlY2M2NWVkNDVlZjc1YjcyYjEyMWM2NWUwZGQuLjVhNGY2ZTRkYWQ0ODVjYjVhZjMxMjdk
ZWY4MDc4ZGM3NzYxYzE5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5oCkBAIC05OSw5ICs5OSwxMyBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8Ym9vbD4g
dmFyaWF0aW9uRm9udHNFbmFibGVkKCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0VmFyaWF0
aW9uRm9udHNFbmFibGVkKGJvb2wpOwogCi0gICAgZW51bSBjbGFzcyBGb3JjZWRQcmVmZXJzUmVk
dWNlZE1vdGlvblZhbHVlIHsgU3lzdGVtLCBPbiwgT2ZmIH07Ci0gICAgRm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25WYWx1ZSBmb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlKCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRGb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvblZhbHVlKEZvcmNlZFByZWZl
cnNSZWR1Y2VkTW90aW9uVmFsdWUpOworICAgIGVudW0gY2xhc3MgRm9yY2VkQWNjZXNzaWJpbGl0
eVZhbHVlIHsgU3lzdGVtLCBPbiwgT2ZmIH07CisgICAgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
IGZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3Q7CisgICAg
dm9pZCBzZXRGb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZShGb3JjZWRB
Y2Nlc3NpYmlsaXR5VmFsdWUpOworICAgIEZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBmb3JjZWRE
aXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBz
ZXRGb3JjZWREaXNwbGF5SXNNb25vY2hyb21lQWNjZXNzaWJpbGl0eVZhbHVlKEZvcmNlZEFjY2Vz
c2liaWxpdHlWYWx1ZSk7CisgICAgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZvcmNlZFByZWZl
cnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRG
b3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1ZShGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUpOwogCiAgICAgc3RhdGljIHZvaWQgc2V0QWxsb3dzQW55U1NMQ2VydGlmaWNh
dGUoYm9vbCk7CiAKQEAgLTE3OCw3ICsxODIsOSBAQCBwcml2YXRlOgogICAgICAgICBVc2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5IG1fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAg
ICAgICAgVGV4dERpcmVjdGlvbiBtX3N5c3RlbUxheW91dERpcmVjdGlvbjsKICAgICAgICAgUERG
SW1hZ2VDYWNoaW5nUG9saWN5IG1fcGRmSW1hZ2VDYWNoaW5nUG9saWN5OwotICAgICAgICBTZXR0
aW5nczo6Rm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSBtX2ZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uVmFsdWU7CisgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3NpYmlsaXR5VmFs
dWUgbV9mb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vzc2liaWxpdHlWYWx1ZTsKKyAgICAgICAg
U2V0dGluZ3M6OkZvcmNlZEFjY2Vzc2liaWxpdHlWYWx1ZSBtX2ZvcmNlZERpc3BsYXlJc01vbm9j
aHJvbWVBY2Nlc3NpYmlsaXR5VmFsdWU7CisgICAgICAgIFNldHRpbmdzOjpGb3JjZWRBY2Nlc3Np
YmlsaXR5VmFsdWUgbV9mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2liaWxpdHlWYWx1
ZTsKICAgICB9OwogCiAgICAgUGFnZSogbV9wYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggOTM2NmZlOTc1OGNkMGE4ZTA5MDZmNjViODQxYTE1
MTJjYTQ0ODRhMi4uNWQ0ZmFhZDU4MmUxNDU3ODVkNDNkNTUxNTkwZjM4ZDFiNzMyMzNlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC0yNCw3ICsy
NCw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLWVudW0gRm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rp
b25WYWx1ZSB7ICJzeXN0ZW0iLCAib24iLCAib2ZmIiB9OworZW51bSBGb3JjZWRBY2Nlc3NpYmls
aXR5VmFsdWUgeyAic3lzdGVtIiwgIm9uIiwgIm9mZiIgfTsKIAogWwogICAgIE5vSW50ZXJmYWNl
T2JqZWN0LApAQCAtOTIsNyArOTIsOSBAQCBlbnVtIEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9u
VmFsdWUgeyAic3lzdGVtIiwgIm9uIiwgIm9mZiIgfTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25d
IGJvb2xlYW4gdmFyaWF0aW9uRm9udHNFbmFibGVkKCk7CiAgICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldFZhcmlhdGlvbkZvbnRzRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogCi0gICAg
YXR0cmlidXRlIEZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUgZm9yY2VkUHJlZmVyc1Jl
ZHVjZWRNb3Rpb25WYWx1ZTsKKyAgICBhdHRyaWJ1dGUgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVl
IGZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVlOworICAgIGF0dHJpYnV0
ZSBGb3JjZWRBY2Nlc3NpYmlsaXR5VmFsdWUgZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vz
c2liaWxpdHlWYWx1ZTsKKyAgICBhdHRyaWJ1dGUgRm9yY2VkQWNjZXNzaWJpbGl0eVZhbHVlIGZv
cmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlOwogCiAgICAgdm9pZCBz
ZXRJbnB1dEV2ZW50c0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTljNGIx
YTJmOGMyMWE5OGRmM2UzMDIyZGQ3YjMyODFlNTc3YjdiZC4uY2U4MzZhZWQ0OTAwNjI2OTI0ZTZj
NGUyMjE4MGQ1NjUyMmExNzUxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTExLTE4ICBE
ZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBCZXR0ZXIgdGVzdGluZyBm
b3IgYWNjZXNzaWJpbGl0eSBtZWRpYSBxdWVyaWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjQ5NTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5
MzM4MjkyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIE1heGZpZWxkLgorCisgICAgICAg
ICogZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtZm9yY2VkLXZhbHVlLWV4cGVjdGVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbWVkaWEvbXEtaW52ZXJ0ZWQtY29sb3JzLWZvcmNl
ZC12YWx1ZS5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLXByZWZl
cnMtcmVkdWNlZC1tb3Rpb24tZm9yY2VkLXZhbHVlLmh0bWwuCisgICAgICAgICogZmFzdC9tZWRp
YS9tcS1tb25vY2hyb21lLWZvcmNlZC12YWx1ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L21lZGlhL21xLW1vbm9jaHJvbWUtZm9yY2VkLXZhbHVlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvbWVkaWEvbXEtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1mb3JjZWQtdmFs
dWUuaHRtbDoKKwogMjAxNi0xMS0xNiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciBTdWJ0bGVDcnlwdG86OmltcG9ydEtleSBh
bmQgU3VidGxlQ3J5cHRvOjpleHBvcnRLZXkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWEvbXEtaW52ZXJ0ZWQtY29sb3JzLWZvcmNlZC12YWx1ZS1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtZm9yY2VkLXZhbHVlLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTgzZDJjNTQzYjVjNjIxMTQwMGMyN2UxMDcyODVlNDZiZmRm
YzMxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtaW52ZXJ0
ZWQtY29sb3JzLWZvcmNlZC12YWx1ZS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8dGl0bGU+Q1NTNCBtZWRpYSBxdWVyeSB0ZXN0OiBpbnZlcnRlZC1jb2xv
cnMuPC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitwIHsgY29sb3I6IGdyZWVuOyB9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgIDxwIGlkPSJhIj5UaGlzIHRleHQgc2hvdWxk
IGJlIGdyZWVuLjwvcD4KKyAgPHAgaWQ9ImIiPlRoaXMgdGV4dCBzaG91bGQgYmUgZ3JlZW4uPC9w
PgorICA8cCBpZD0iYyI+VGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbi48L3A+CisgIDxwIGlkPSJk
Ij5UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtaW52ZXJ0ZWQtY29sb3JzLWZvcmNlZC12
YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1pbnZlcnRlZC1jb2xvcnMtZm9y
Y2VkLXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjIzNjJmNGM1Yjg1YTNjZmI1NmMzMTE1MDM3ZTgw
YThmMDE2MTZjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEt
aW52ZXJ0ZWQtY29sb3JzLWZvcmNlZC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzxodG1s
PgorPGhlYWQ+Cis8dGl0bGU+Q1NTNCBtZWRpYSBxdWVyeSB0ZXN0OiBpbnZlcnRlZC1jb2xvcnMu
PC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitwIHsgY29sb3I6IGJsYWNrOyB9Cis8
L3N0eWxlPgorPHNjcmlwdD4KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24gKCkgeworICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5mb3JjZWRDb2xvcnNBcmVJbnZlcnRlZEFjY2Vz
c2liaWxpdHlWYWx1ZSA9ICJvbiI7CisgICAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKCIoaW52ZXJ0
ZWQtY29sb3JzKSIpLm1hdGNoZXMpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJh
Iikuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIGlmICh3aW5kb3cubWF0Y2hNZWRpYSgiKGlu
dmVydGVkLWNvbG9yczogaW52ZXJ0ZWQpIikubWF0Y2hlcykKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImIiKS5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLmZvcmNlZENvbG9yc0FyZUludmVydGVkQWNjZXNzaWJpbGl0eVZhbHVl
ID0gIm9mZiI7CisgICAgaWYgKCF3aW5kb3cubWF0Y2hNZWRpYSgiKGludmVydGVkLWNvbG9ycyki
KS5tYXRjaGVzKQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYyIpLnN0eWxlLmNv
bG9yID0gImdyZWVuIjsKKyAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEoIihpbnZlcnRlZC1jb2xv
cnM6IG5vbmUpIikubWF0Y2hlcykKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImQi
KS5zdHlsZS5jb2xvciA9ICJncmVlbiI7Cit9LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorICA8cCBpZD0iYSI+VGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbi48L3A+CisgIDxw
IGlkPSJiIj5UaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuLjwvcD4KKyAgPHAgaWQ9ImMiPlRoaXMg
dGV4dCBzaG91bGQgYmUgZ3JlZW4uPC9wPgorICA8cCBpZD0iZCI+VGhpcyB0ZXh0IHNob3VsZCBi
ZSBncmVlbi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhL21xLW1vbm9jaHJvbWUtZm9yY2VkLXZhbHVlLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L21lZGlhL21xLW1vbm9jaHJvbWUtZm9yY2VkLXZhbHVlLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjgyNGFjOWZkMTljZmQzYmQwNDA2YmU3M2FhOWZjNDUwMTk3ZWE1Zgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1m
b3JjZWQtdmFsdWUtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEyIEBACis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPkNTUzQgbWVkaWEgcXVlcnkgdGVzdDogbW9ub2Nocm9tZS48L3RpdGxlPgorPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KK3AgeyBjb2xvcjogIzg4ODsgfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorICA8cCBpZD0iYSI+VGhpcyB0ZXh0IHNob3VsZCBiZSBtaWQgZ3JleSAjODg4
LjwvcD4KKyAgPHAgaWQ9ImIiPlRoaXMgdGV4dCBzaG91bGQgYmUgbWlkIGdyZXkgIzg4OC48L3A+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21x
LW1vbm9jaHJvbWUtZm9yY2VkLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21x
LW1vbm9jaHJvbWUtZm9yY2VkLXZhbHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmNhZWMxNGYwM2NlMGZm
NjkxOGY0ZGM2ZDY3NjBmMmVlZjg5YTk4MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWEvbXEtbW9ub2Nocm9tZS1mb3JjZWQtdmFsdWUuaHRtbApAQCAtMCwwICsxLDI2
IEBACis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkNTUzQgbWVkaWEgcXVlcnkgdGVzdDogbW9ub2No
cm9tZS48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK3AgeyBjb2xvcjogYmxhY2s7
IH0KKzwvc3R5bGU+Cis8c2NyaXB0Pgord2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBm
dW5jdGlvbiAoKSB7CisgICAgaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICByZXR1cm47
CisKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLmZvcmNlZERpc3BsYXlJc01vbm9jaHJv
bWVBY2Nlc3NpYmlsaXR5VmFsdWUgPSAib24iOworICAgIGlmICh3aW5kb3cubWF0Y2hNZWRpYSgi
KG1vbm9jaHJvbWUpIikubWF0Y2hlcykKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImEiKS5zdHlsZS5jb2xvciA9ICIjODg4IjsKKworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3MuZm9yY2VkRGlzcGxheUlzTW9ub2Nocm9tZUFjY2Vzc2liaWxpdHlWYWx1ZSA9ICJvZmYiOwor
ICAgIGlmICghd2luZG93Lm1hdGNoTWVkaWEoIihtb25vY2hyb21lKSIpLm1hdGNoZXMpCisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJiIikuc3R5bGUuY29sb3IgPSAiIzg4OCI7Cit9
LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICA8cCBpZD0iYSI+VGhpcyB0
ZXh0IHNob3VsZCBiZSBtaWQgZ3JleSAjODg4LjwvcD4KKyAgPHAgaWQ9ImIiPlRoaXMgdGV4dCBz
aG91bGQgYmUgbWlkIGdyZXkgIzg4OC48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tZm9yY2Vk
LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLXByZWZlcnMtcmVkdWNlZC1t
b3Rpb24tZm9yY2VkLXZhbHVlLmh0bWwKaW5kZXggZWMwOTVhNDdkYWNiNTc4MzBhNjM4YzI0Yzli
NGZiN2QyNjY2NjliMi4uYWNjNTliOTJmNmNhNWQ3N2IzOWVmZjRhNTJjNmJkMDVhYzBiYTZiZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1wcmVmZXJzLXJlZHVjZWQtbW90
aW9uLWZvcmNlZC12YWx1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtcHJl
ZmVycy1yZWR1Y2VkLW1vdGlvbi1mb3JjZWQtdmFsdWUuaHRtbApAQCAtOSwxMyArOSwxMyBAQCB3
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsKICAgICBpZiAoIXdp
bmRvdy5pbnRlcm5hbHMpCiAgICAgICAgIHJldHVybjsKIAotICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3MuZm9yY2VkUHJlZmVyc1JlZHVjZWRNb3Rpb25WYWx1ZSA9ICJvbiI7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5mb3JjZWRQcmVmZXJzUmVkdWNlZE1vdGlvbkFjY2Vzc2li
aWxpdHlWYWx1ZSA9ICJvbiI7CiAgICAgaWYgKHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1y
ZWR1Y2VkLW1vdGlvbikiKS5tYXRjaGVzKQogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiYSIpLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKICAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEo
IihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcykKICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImIiKS5zdHlsZS5jb2xvciA9ICJncmVlbiI7CiAKLSAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLmZvcmNlZFByZWZlcnNSZWR1Y2VkTW90aW9uVmFsdWUg
PSAib2ZmIjsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLmZvcmNlZFByZWZlcnNSZWR1
Y2VkTW90aW9uQWNjZXNzaWJpbGl0eVZhbHVlID0gIm9mZiI7CiAgICAgaWYgKCF3aW5kb3cubWF0
Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIikubWF0Y2hlcykKICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImMiKS5zdHlsZS5jb2xvciA9ICJncmVlbiI7CiAgICAgaWYg
KHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogZGVmYXVsdCkiKS5t
YXRjaGVzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>