<?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>58292</bug_id>
          
          <creation_ts>2011-04-11 17:38:23 -0700</creation_ts>
          <short_desc>Provide new setting to allow site icon loading despite disabling automatic image loading in general.</short_desc>
          <delta_ts>2011-04-12 13:23:07 -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>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alice Liu">alice.barraclough</reporter>
          <assigned_to name="Alice Liu">alice.barraclough</assigned_to>
          <cc>buildbot</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>383715</commentid>
    <comment_count>0</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-04-11 17:38:23 -0700</bug_when>
    <thetext>Turning off the WebCore setting for automatic image loading has the intentional side effect of disabling site icon (favicon) image loading.  It&apos;s possible that a WebView client may actually just want to turn off image loading in webpages but still want to load site icons so that the icondatabase gets populated.  I&apos;d like to add an additional preference that is heeded only regarding the icondatabase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383729</commentid>
    <comment_count>1</comment_count>
      <attachid>89135</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-04-11 18:09:19 -0700</bug_when>
    <thetext>Created attachment 89135
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383730</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-11 18:11:10 -0700</bug_when>
    <thetext>Attachment 89135 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/http...&quot; exit_code: 1

Source/WebKit/win/WebPreferences.cpp:930:  Extra space after ( in function call  [whitespace/parens] [4]
Source/WebKit/win/WebPreferences.cpp:937:  Extra space after ( in function call  [whitespace/parens] [4]
Source/WebKit/win/WebPreferences.h:178:  Extra space after ( in function call  [whitespace/parens] [4]
Source/WebKit/win/WebPreferences.h:181:  Extra space after ( in function call  [whitespace/parens] [4]
Total errors found: 4 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383734</commentid>
    <comment_count>3</comment_count>
      <attachid>89136</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-04-11 18:15:01 -0700</bug_when>
    <thetext>Created attachment 89136
patch - fixed whitespace bot complaints</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383802</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-11 21:13:23 -0700</bug_when>
    <thetext>Attachment 89136 did not build on win:
Build output: http://queues.webkit.org/results/8391204</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383804</commentid>
    <comment_count>5</comment_count>
      <attachid>89136</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-11 21:15:39 -0700</bug_when>
    <thetext>Comment on attachment 89136
patch - fixed whitespace bot complaints

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

&gt; Source/WebKit/mac/WebView/WebPreferences.h:338
&gt; +    @method setWillLoadSiteIconsIgnoringImageLoadingPreference:
&gt; +    @param flag
&gt; +*/
&gt; +- (void)setLoadsSiteIconsIgnoringImageLoadingPreference: (BOOL)flag;
&gt; +
&gt; +/*!
&gt; +    @method willLoadSiteIconsIgnoringImageLoadingPreference
&gt; +*/
&gt; +- (BOOL)loadsSiteIconsIgnoringImageLoadingPreference;

These have not gone through API review, so these need to be in WebPreferencesPrivate.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384238</commentid>
    <comment_count>6</comment_count>
      <attachid>89241</attachid>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-04-12 12:15:57 -0700</bug_when>
    <thetext>Created attachment 89241
patch - moved pref to [|I]WebPreferencesPrivate.[h|idl]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384287</commentid>
    <comment_count>7</comment_count>
      <attachid>89241</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2011-04-12 13:06:22 -0700</bug_when>
    <thetext>Comment on attachment 89241
patch - moved pref to [|I]WebPreferencesPrivate.[h|idl]

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

&gt; Source/WebCore/loader/FrameLoader.cpp:712
&gt; +    if (settings &amp;&amp; !settings-&gt;loadsImagesAutomatically() &amp;&amp; !settings-&gt;loadsSiteIconsIgnoringImageLoadingSetting())
&gt; +         return;
&gt;  

Looks like you added an extra space here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384294</commentid>
    <comment_count>8</comment_count>
    <who name="Alice Liu">alice.barraclough</who>
    <bug_when>2011-04-12 13:23:07 -0700</bug_when>
    <thetext>committed http://trac.webkit.org/changeset/83628</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89135</attachid>
            <date>2011-04-11 18:09:19 -0700</date>
            <delta_ts>2011-04-11 18:15:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>scratch.txt</filename>
            <type>text/plain</type>
            <size>25802</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTQxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMTEgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29uIGxv
YWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2VuZXJh
bC4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWlj
b24tbG9hZGluZy1vdmVycmlkZS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRk
ZWQgZXhwb3J0IHN5bWJvbAorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRJY29uTG9hZGVyKTogQ2hlY2sgbmV3IHNl
dHRpbmcgYmVmb3JlIGRlY2lkaW5nIHRoYXQgc2l0ZSBpY29uIGltYWdlcyBzaG91bGRuJ3QgYmUg
bG9hZGVkLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OlNldHRpbmdzKTogQWRkIGluaXRpYWxpemVyIGZvciBuZXcgc2V0dGluZworICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdTZXR0aW5nKTogQWRkIHNldHRlciBmb3IgbmV3IHNldHRpbmcuCisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5oOiBFeHBsYWluIG51YW5jZXMgcmVnYXJkaW5nIGxvYWRzSW1hZ2VzQXV0b21h
dGljYWxseSBzZXR0aW5nLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmxvYWRzU2l0ZUlj
b25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKTogQWRkZWQgZ2V0dGVyLgorCiAyMDExLTA0
LTExICBKdXN0aW4gTm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNp
b24gODM0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5
KQpAQCAtODc2LDYgKzg3Niw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczI2c2V0RGVmYXVsdFRl
eHRFbmMKIF9fWk43V2ViQ29yZThTZXR0aW5nczI2c2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3NF
YgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjdzZXRGVFBEaXJlY3RvcnlUZW1wbGF0ZVBhdGhFUktO
M1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyN3NldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseUViCitfX1pON1dlYkNvcmU4U2V0dGluZ3M0NHNldExvYWRzU2l0ZUljb25zSWdub3Jp
bmdJbWFnZUxvYWRpbmdTZXR0aW5nRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI3c2V0TG9jYWxT
dG9yYWdlRGF0YWJhc2VQYXRoRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlOFNldHRpbmdz
MjdzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjhz
ZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkRWIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDQsMTEgKzcwNCwxMSBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpzdGFydEljb25Mb2FkZXIoKQogICAgIGlmICh1cmxTdHJpbmcuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBQZW9wbGUgd2hvIHdhbnQgdG8gYXZvaWQg
bG9hZGluZyBpbWFnZXMgZ2VuZXJhbGx5IHdhbnQgdG8gYXZvaWQgbG9hZGluZyBhbGwgaW1hZ2Vz
LgorICAgIC8vIFBlb3BsZSB3aG8gd2FudCB0byBhdm9pZCBsb2FkaW5nIGltYWdlcyBnZW5lcmFs
bHkgd2FudCB0byBhdm9pZCBsb2FkaW5nIGFsbCBpbWFnZXMsIHVubGVzcyBhbiBleGNlcHRpb24g
aGFzIGJlZW4gbWFkZSBmb3Igc2l0ZSBpY29ucy4KICAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBhY2Nv
dW50ZWQgZm9yIFVSTCBtYXBwaW5nLCBhdm9pZCBzdGFydGluZyB0aGUgbmV0d29yayBsb2FkIGlm
IGltYWdlcyBhcmVuJ3Qgc2V0IHRvIGRpc3BsYXkgYXV0b21hdGljYWxseS4KICAgICBTZXR0aW5n
cyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpOwotICAgIGlmIChzZXR0aW5ncyAmJiAh
c2V0dGluZ3MtPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpKQotICAgICAgICByZXR1cm47Cisg
ICAgaWYgKHNldHRpbmdzICYmICFzZXR0aW5ncy0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkg
JiYgIXNldHRpbmdzLT5sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZygp
KQorICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gSWYgd2UncmUgcmVsb2FkaW5nIHRoZSBwYWdl
LCBhbHdheXMgc3RhcnQgdGhlIGljb24gbG9hZCBub3cuCiAgICAgaWYgKGxvYWRUeXBlKCkgPT0g
RnJhbWVMb2FkVHlwZVJlbG9hZCAmJiBsb2FkVHlwZSgpID09IEZyYW1lTG9hZFR5cGVSZWxvYWRG
cm9tT3JpZ2luKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gODM0
NzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTgsNiArOTgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1f
aXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzSmF2YUVuYWJsZWQo
ZmFsc2UpCiAgICAgLCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseShmYWxzZSkKKyAgICAsIG1f
bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcoZmFsc2UpCiAgICAgLCBt
X3ByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2NhcmV0QnJvd3NpbmdFbmFi
bGVkKGZhbHNlKQogICAgICwgbV9hcmVJbWFnZXNFbmFibGVkKHRydWUpCkBAIC0yNzUsNiArMjc2
LDExIEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWwKICAgICBzZXRM
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJbkFsbEZyYW1lcyhtX3BhZ2UpOwogfQogCit2b2lkIFNl
dHRpbmdzOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyhib29s
IGxvYWRzU2l0ZUljb25zKQoreworICAgIG1fbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1NldHRpbmcgPSBsb2Fkc1NpdGVJY29uczsKK30KKwogdm9pZCBTZXR0aW5nczo6c2V0SmF2
YVNjcmlwdEVuYWJsZWQoYm9vbCBpc0phdmFTY3JpcHRFbmFibGVkKQogewogICAgIG1faXNKYXZh
U2NyaXB0RW5hYmxlZCA9IGlzSmF2YVNjcmlwdEVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sKTsKICAgICAgICAg
Ym9vbCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSBjb25zdCB7IHJldHVybiBtX2xvYWRzSW1h
Z2VzQXV0b21hdGljYWxseTsgfQogCisgICAgICAgIC8vIFRoaXMgc2V0dGluZyBvbmx5IGFmZmVj
dHMgc2l0ZSBpY29uIGltYWdlIGxvYWRpbmcgaWYgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5IHNl
dHRpbmcgaXMgZmFsc2UgYW5kIHRoaXMgc2V0dGluZyBpcyB0cnVlLgorICAgICAgICAvLyBBbGwg
b3RoZXIgcGVybXV0YXRpb25zIHN0aWxsIGhlZWQgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5IHNl
dHRpbmcuCisgICAgICAgIHZvaWQgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGlu
Z1NldHRpbmcoYm9vbCk7CisgICAgICAgIGJvb2wgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdl
TG9hZGluZ1NldHRpbmcoKSBjb25zdCB7IHJldHVybiBtX2xvYWRzU2l0ZUljb25zSWdub3JpbmdJ
bWFnZUxvYWRpbmdTZXR0aW5nOyB9CisKICAgICAgICAgdm9pZCBzZXRKYXZhU2NyaXB0RW5hYmxl
ZChib29sKTsKICAgICAgICAgLy8gSW5zdGVhZCBvZiBjYWxsaW5nIGlzSmF2YVNjcmlwdEVuYWJs
ZWQgZGlyZWN0bHksIHBsZWFzZSBjb25zaWRlciBjYWxsaW5nCiAgICAgICAgIC8vIFNjcmlwdENv
bnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzLCB3aGljaCB0YWtlcyB0aGluZ3MgbGlrZSB0aGUK
QEAgLTQxOCw2ICs0MjMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9p
c1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pc0phdmFFbmFi
bGVkIDogMTsKICAgICAgICAgYm9vbCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseSA6IDE7Cisg
ICAgICAgIGJvb2wgbV9sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyA6
IDE7CiAgICAgICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkIDogMTsKICAgICAgICAg
Ym9vbCBtX2NhcmV0QnJvd3NpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FyZUltYWdl
c0VuYWJsZWQgOiAxOwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gODM1NDEpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
NC0xMSAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJvdmlkZSBuZXcgc2V0dGluZyB0byBhbGxv
dyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9h
ZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aDogQWRkIG1hY3JvIGZvciBzZXR0aW5nIGRlZmF1bHQgdmFsdWUuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldExv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgc2V0dGVy
LgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgZ2V0dGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6IEFkZCB0
byBsaXN0IG9mIFdlYkNvcmUgc2V0dGluZ3MgdGhhdCBnZXQgcHJvcGFnYXRlZCB0byBXZWJLaXQg
cHJlZmVyZW5jZXMuCisKIDIwMTEtMDQtMTEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDgzNDcwKQorKysg
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkod29ya2luZyBjb3B5
KQpAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICNkZWZpbmUgRk9SX0VBQ0hf
V0VCS0lUX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAogICAgIG1hY3JvKEphdmFTY3JpcHRFbmFi
bGVkLCBqYXZhU2NyaXB0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKExv
YWRzSW1hZ2VzQXV0b21hdGljYWxseSwgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LCBCb29sLCBi
b29sLCB0cnVlKSBcCisgICAgbWFjcm8oTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGlu
Z1ByZWZlcmVuY2UsIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNl
LCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFBsdWdpbnNFbmFibGVkLCBwbHVnaW5z
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKEphdmFFbmFibGVkLCBqYXZh
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKE9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSkgXApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcx
LDYgKzcxLDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1hZ2VzQXV0b21hdGkKICAg
ICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFn
ZUxvYWRpbmdQcmVmZXJlbmNlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wg
bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpCit7CisgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGlu
Z1ByZWZlcmVuY2UobG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2Up
OworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nUHJlZmVyZW5jZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAg
IHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1h
Z2VMb2FkaW5nUHJlZmVyZW5jZSgpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRPZmZsaW5l
V2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpCiB7CiAgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKG9m
ZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDgzNDcwKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsNiArNTAsMTAgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldExv
YWRzSW1hZwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKIAogLy8gRGVmYXVsdHMgdG8g
ZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9hZHNTaXRlSWNvbnNJZ25v
cmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywg
Ym9vbCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSk7CitXS19F
WFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CisKKy8vIERlZmF1
bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE9mZmxpbmVXZWJB
cHBsaWNhdGlvbkNhY2hlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29s
IG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1NCw2
ICsxMzU0LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZQogCiAg
ICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6amF2YVNjcmlwdEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRp
bmdzLT5zZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojpsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlLZXkoKSkpOworICAg
IHNldHRpbmdzLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyhz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxvYWRzU2l0ZUljb25z
SWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0
UGx1Z2luc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpwbHVnaW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEphdmFFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YUVuYWJsZWRLZXko
KSkpOwogICAgIHNldHRpbmdzLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpvZmZsaW5lV2ViQXBw
bGljYXRpb25DYWNoZUVuYWJsZWRLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNp
b24gODM1NDEpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMS0wNC0xMSAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJv
dmlkZSBuZXcgc2V0dGluZyB0byBhbGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2Fi
bGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9hZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDogQWRkIHByZWZlcmVuY2Uga2V5LgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMuaDogQWRkIHNldHRlci9nZXR0ZXIgZGVmaW5p
dGlvbnMuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtb
V2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOiBJbml0aWFsaXplIHRvIGZhbHNlLgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
UHJlZmVyZW5jZTpdKTogQWRkZWQuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGxvYWRzU2l0
ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlXSk6IEFkZGVkLgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOiBBZGQgdG8gc2V0dGluZ3MgdGhhdCBnZXQgcHJvcGFnYXRlZCB1cG9uIGNoYW5nZXMu
IAorCiAyMDExLTA0LTExICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZp
c2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAKICNkZWZpbmUgV2Vi
S2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVk
SW1hZ2VzUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9v
cGluZ1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVy
ZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RGlzcGxheUltYWdlc0tleSBAIldlYktpdERpc3BsYXlJ
bWFnZXNLZXkiCisjZGVmaW5lIFdlYktpdExvYWRTaXRlSWNvbnNLZXkgQCJXZWJLaXRMb2FkU2l0
ZUljb25zS2V5IgogI2RlZmluZSBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsS2V5IEAiV2ViS2l0QmFja0ZvcndhcmRDYWNoZUV4cGlyYXRpb25JbnRlcnZhbEtleSIKICNk
ZWZpbmUgV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRUYWJUb0xpbmtzUHJl
ZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIgpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gODM0NzApCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMyNyw2ICszMjcsMTcgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlczogTlNPYmplY3QgPE5T
QwogLSAoQk9PTClsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHk7CiAKIC8qIQorICAgIEBtZXRob2Qg
c2V0V2lsbExvYWRTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6CisgICAg
QHBhcmFtIGZsYWcKKyovCistICh2b2lkKXNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdQcmVmZXJlbmNlOiAoQk9PTClmbGFnOworCisvKiEKKyAgICBAbWV0aG9kIHdpbGxMb2Fk
U2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlCisqLworLSAoQk9PTClsb2Fk
c1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTsKKworLyohCiAgICAgQG1l
dGhvZCBzZXRBdXRvc2F2ZXM6CiAgICAgQHBhcmFtIGZsYWcgCiAgICAgQGRpc2N1c3Npb24gSWYg
YXV0b3NhdmUgcHJlZmVyZW5jZXMgaXMgWUVTIHRoZSBzZXR0aW5ncyByZXByZXNlbnRlZCBieQpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZp
c2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTM0Niw2ICszNDYsNyBAQCArICh2b2lkKWluaXRpYWxpemUK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd0FuaW1h
dGVkSW1hZ2VzUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
OllFU10sICBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXREaXNwbGF5SW1hZ2Vz
S2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdExvYWRT
aXRlSWNvbnNLZXksCiAgICAgICAgIEAiMTgwMCIsICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
S2l0QmFja0ZvcndhcmRDYWNoZUV4cGlyYXRpb25JbnRlcnZhbEtleSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTc1Miw2ICs3NTMsMTYgQEAgLSAoQk9PTCls
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTogV2ViS2l0RGlzcGxheUltYWdlc0tleV07CiB9CiAKKy0gKHZvaWQpc2V0TG9hZHNTaXRlSWNv
bnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6IChCT09MKWZsYWcKK3sKKyAgICBbc2Vs
ZiBfc2V0Qm9vbFZhbHVlOiBmbGFnIGZvcktleTogV2ViS2l0TG9hZFNpdGVJY29uc0tleV07Cit9
CisKKy0gKEJPT0wpbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UK
K3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTogV2ViS2l0TG9hZFNpdGVJY29u
c0tleV07Cit9CisKIC0gKHZvaWQpc2V0QXV0b3NhdmVzOihCT09MKWZsYWcKIHsKICAgICBfcHJp
dmF0ZS0+YXV0b3NhdmVzID0gZmxhZzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHJldmlzaW9uIDgzNDcwKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNDk0LDYgKzE0OTQsNyBAQCAtICh2b2lkKV9wcmVm
ZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3MtPnNldFNlcmlmRm9udEZh
bWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7CiAgICAgc2V0dGluZ3MtPnNldFN0
YW5kYXJkRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc3RhbmRhcmRGb250RmFtaWx5XSk7CiAgICAg
c2V0dGluZ3MtPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShbcHJlZmVyZW5jZXMgbG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5XSk7CisgICAgc2V0dGluZ3MtPnNldExvYWRzU2l0ZUljb25zSWdu
b3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKFtwcmVmZXJlbmNlcyBsb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZV0pOwogICAgIHNldHRpbmdzLT5zZXRTaG91bGRQcmlu
dEJhY2tncm91bmRzKFtwcmVmZXJlbmNlcyBzaG91bGRQcmludEJhY2tncm91bmRzXSk7CiAgICAg
c2V0dGluZ3MtPnNldFRleHRBcmVhc0FyZVJlc2l6YWJsZShbcHJlZmVyZW5jZXMgdGV4dEFyZWFz
QXJlUmVzaXphYmxlXSk7CiAgICAgc2V0dGluZ3MtPnNldFNocmlua3NTdGFuZGFsb25lSW1hZ2Vz
VG9GaXQoW3ByZWZlcmVuY2VzIHNocmlua3NTdGFuZGFsb25lSW1hZ2VzVG9GaXRdKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTQyKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDQtMTEgIEFsaWNl
IExpdSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29u
IGxvYWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2Vu
ZXJhbC4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDogCisgICAg
ICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6IEFkZCBwcmVmZXJlbmNlIGtleS4KKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5p
dGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6IEluaXRpYWxpemUgc2V0dGluZyB0byBmYWxzZS4KKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2Fk
aW5nUHJlZmVyZW5jZSk6IEFkZGVkIHNldHRlcgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6Omxv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgZ2V0dGVy
CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6IEFkZCB0byBzZXR0aW5n
cyB0aGF0IGdldCBwcm9wYWdhdGVkIHVwb24gY2hhbmdlcy4KKwogMjAxMS0wNC0xMSAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBACiAj
ZGVmaW5lIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5ICJXZWJLaXRBbGxv
d0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRl
ZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkgIldlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3Bp
bmdQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5ICJXZWJLaXRE
aXNwbGF5SW1hZ2VzS2V5IgorI2RlZmluZSBXZWJLaXRMb2FkU2l0ZUljb25zS2V5ICJXZWJLaXRM
b2FkU2l0ZUljb25zS2V5IgogI2RlZmluZSBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlv
bkludGVydmFsS2V5ICJXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVydmFsS2V5
IgogI2RlZmluZSBXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSAiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIgpJbmRleDogU291cmNlL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2ICsyMTcsNyBA
QCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywg
Q0ZTVFIoV2ViS2l0RGlzcGxheUltYWdlc0tleSksIGtDRkJvb2xlYW5UcnVlKTsKKyAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TG9hZFNpdGVJY29uc0tleSks
IGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWxLZXkpLCBDRlNUUigi
MTgwMCIpKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC05MjYsNiArOTI3LDIwIEBAIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXMKICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0TG9hZHNT
aXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoIAorICAgIC8qIFtpbl0gKi8g
Qk9PTCBlbmFibGVkKQoreworICAgIHNldEJvb2xWYWx1ZShDRlNUUihXZWJLaXRMb2FkU2l0ZUlj
b25zS2V5KSwgZW5hYmxlZCk7CisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXM6OmxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdQcmVmZXJlbmNlKCAKKyAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQp
Cit7CisgICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0TG9hZFNpdGVJ
Y29uc0tleSkpOworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIFdlYlByZWZlcmVuY2VzOjpzZXRBdXRvc2F2ZXMoIAogICAgIC8qIFtpbl0gKi8gQk9PTCBl
bmFibGVkKQogewpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiA4
MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE3NSw2ICsxNzUsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoIAogICAgICAgICAvKiBbcmV0
dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQpOwogICAgIAorICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJl
ZmVyZW5jZSggCisgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBlbmFibGVkKTsKKyAgICAKKyAgICB2
aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0lt
YWdlTG9hZGluZ1ByZWZlcmVuY2UoIAorICAgICAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wq
IGVuYWJsZWQpOworICAgIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXRBdXRvc2F2ZXMoIAogICAgICAgICAvKiBbaW5dICovIEJPT0wgZW5hYmxlZCk7CiAgICAgCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU4MCw2ICs0NTgwLDExIEBAIEhS
RVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAgICAgICAgcmV0dXJuIGhy
OwogICAgIHNldHRpbmdzLT5zZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoISFlbmFibGVkKTsK
IAorICAgIGhyID0gcHJlZmVyZW5jZXMtPmxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRp
bmdQcmVmZXJlbmNlKCZlbmFibGVkKTsKKyAgICBpZiAoRkFJTEVEKGhyKSkKKyAgICAgICAgcmV0
dXJuIGhyOworICAgIHNldHRpbmdzLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2Fk
aW5nU2V0dGluZyghIWVuYWJsZWQpOworCiAgICAgaHIgPSBwcmVmZXJlbmNlcy0+dXNlclN0eWxl
U2hlZXRFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0
dXJuIGhyOwpJbmRleDogU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5j
ZXMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzLmlkbAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw2ICsxMzks
OSBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2VzIDogSVVua25vd24KICAgICBIUkVTVUxUIHNl
dExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VM
VCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsK
IAorICAgIEhSRVNVTFQgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZl
cmVuY2UoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgbG9hZHNTaXRlSWNvbnNJZ25v
cmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsK
KwogICAgIEhSRVNVTFQgc2V0QXV0b3NhdmVzKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVT
VUxUIGF1dG9zYXZlcyhbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogCkluZGV4OiBUb29s
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MzU0
MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDExLTA0LTExICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01ODI5MgorICAgICAgICBQcm92aWRlIG5ldyBzZXR0aW5nIHRv
IGFsbG93IHNpdGUgaWNvbiBsb2FkaW5nIGRlc3BpdGUgZGlzYWJsaW5nIGF1dG9tYXRpYyBpbWFn
ZSBsb2FkaW5nIGluIGdlbmVyYWwuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVz
KTogU2V0dGluZyBzaG91bGQgYmUgb2ZmIGZvciBtb3N0IHRlc3RzLiBSZXNldCB0byBmYWxzZS4K
KwogMjAxMS0wNC0xMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZp
eCBXaW5kb3dzIGJ1aWxkLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbQkocmV2aXNpb24gODM0NzApCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1NSw2ICs0NTUsNyBAQCBzdGF0
aWMgdm9pZCByZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsCiAgICAgW3ByZWZlcmVuY2VzIHNl
dE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNl
cyBzZXREZXZlbG9wZXJFeHRyYXNFbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5OllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldExvYWRzU2l0
ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlOk5PXTsKICAgICBbcHJlZmVyZW5j
ZXMgc2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldFNw
YXRpYWxOYXZpZ2F0aW9uRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEVkaXRpbmdC
ZWhhdmlvcjpXZWJLaXRFZGl0aW5nTWFjQmVoYXZpb3JdOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODM1
NDEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMS0wNC0xMSAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJvdmlkZSBuZXcgc2V0
dGluZyB0byBhbGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0
aWMgaW1hZ2UgbG9hZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogaHR0cC90ZXN0cy9taXNj
L2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24t
bG9hZGluZy1vdmVycmlkZS5odG1sOiBBZGRlZC4KKwogMjAxMS0wNC0xMSAgSnVzdGluIE5vdm9z
YWQgIDxqdW5vdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBS
dXNzZWxsLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Zhdmljb24tbG9hZHMt
d2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5n
LW92ZXJyaWRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw5IEBACis8dW5rbm93bj4gLSBkaWRGaW5p
c2hMb2FkaW5nCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgt
aWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0bWwgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVz
dCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24t
bG9hZGluZy1vdmVycmlkZS5odG1sLCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0bWws
IGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUuaHRt
bCAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0bWwsIGh0
dHAgc3RhdHVzIGNvZGUgMjAwPgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvcmVzb3VyY2Vz
L2Zhdmljb24uaWNvIC0gd2lsbFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9taXNjL3Jlc291cmNlcy9mYXZpY29uLmljbywgbWFpbiBkb2N1bWVudCBV
UkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24tbG9h
ZGluZy1vdmVycmlkZS5odG1sLCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51
bGwpCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1s
b2FkaW5nLW92ZXJyaWRlLmh0bWwgLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8vMTI3LjAuMC4x
OjgwMDAvbWlzYy9yZXNvdXJjZXMvZmF2aWNvbi5pY28gLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5T
VVJMUmVzcG9uc2UgaHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL2Zhdmljb24u
aWNvLCBodHRwIHN0YXR1cyBjb2RlIDIwMD4KK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01ODI5MiAtIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29u
IGxvYWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2Vu
ZXJhbC4KK1Jlc291cmNlIGxvYWQgY2FsbGJhY2tzIHdpbGwgcmV2ZWFsIGlmIHRoZSBmYXZpY29u
IHN0aWxsIGdldHMgbG9hZGVkIGlmIGF1dG9tYXRpYyBpbWFnZSBsb2FkaW5nIGlzIGRpc2FibGVk
LCBidXQgc2l0ZSBpY29uIGltYWdlIGxvYWRpbmcgb3ZlcnJpZGUgaXMgZW5hYmxlZC4gCisKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1s
b2FkaW5nLW92ZXJyaWRlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdp
dGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIg
QEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBS
ZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0
SWNvbkRhdGFiYXNlRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZGlzYWJsZUltYWdlTG9hZGluZygpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVy
cmlkZVByZWZlcmVuY2UoIldlYktpdExvYWRTaXRlSWNvbnNLZXkiLCAxKTsKKyAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIucXVldWVSZWxvYWQoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzxs
aW5rIHJlbD0iaWNvbiIgaHJlZj0icmVzb3VyY2VzL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94
LWljb24iPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgoraHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MjkyIC0gUHJvdmlkZSBuZXcgc2V0dGluZyB0
byBhbGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1h
Z2UgbG9hZGluZyBpbiBnZW5lcmFsLjxicj4KK1Jlc291cmNlIGxvYWQgY2FsbGJhY2tzIHdpbGwg
cmV2ZWFsIGlmIHRoZSBmYXZpY29uIHN0aWxsIGdldHMgbG9hZGVkIGlmIGF1dG9tYXRpYyBpbWFn
ZSBsb2FkaW5nIGlzIGRpc2FibGVkLCBidXQgc2l0ZSBpY29uIGltYWdlIGxvYWRpbmcgb3ZlcnJp
ZGUgaXMgZW5hYmxlZC4gPGJyPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89136</attachid>
            <date>2011-04-11 18:15:01 -0700</date>
            <delta_ts>2011-04-12 12:15:57 -0700</delta_ts>
            <desc>patch - fixed whitespace bot complaints</desc>
            <filename>scratch.txt</filename>
            <type>text/plain</type>
            <size>25798</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTQxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMTEgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29uIGxv
YWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2VuZXJh
bC4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWlj
b24tbG9hZGluZy1vdmVycmlkZS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRk
ZWQgZXhwb3J0IHN5bWJvbAorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRJY29uTG9hZGVyKTogQ2hlY2sgbmV3IHNl
dHRpbmcgYmVmb3JlIGRlY2lkaW5nIHRoYXQgc2l0ZSBpY29uIGltYWdlcyBzaG91bGRuJ3QgYmUg
bG9hZGVkLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OlNldHRpbmdzKTogQWRkIGluaXRpYWxpemVyIGZvciBuZXcgc2V0dGluZworICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdTZXR0aW5nKTogQWRkIHNldHRlciBmb3IgbmV3IHNldHRpbmcuCisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5oOiBFeHBsYWluIG51YW5jZXMgcmVnYXJkaW5nIGxvYWRzSW1hZ2VzQXV0b21h
dGljYWxseSBzZXR0aW5nLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmxvYWRzU2l0ZUlj
b25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKTogQWRkZWQgZ2V0dGVyLgorCiAyMDExLTA0
LTExICBKdXN0aW4gTm92b3NhZCAgPGp1bm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJ1c3NlbGwuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNp
b24gODM0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5
KQpAQCAtODc2LDYgKzg3Niw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczI2c2V0RGVmYXVsdFRl
eHRFbmMKIF9fWk43V2ViQ29yZThTZXR0aW5nczI2c2V0TmVlZHNTaXRlU3BlY2lmaWNRdWlya3NF
YgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjdzZXRGVFBEaXJlY3RvcnlUZW1wbGF0ZVBhdGhFUktO
M1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyN3NldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseUViCitfX1pON1dlYkNvcmU4U2V0dGluZ3M0NHNldExvYWRzU2l0ZUljb25zSWdub3Jp
bmdJbWFnZUxvYWRpbmdTZXR0aW5nRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI3c2V0TG9jYWxT
dG9yYWdlRGF0YWJhc2VQYXRoRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlOFNldHRpbmdz
MjdzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjhz
ZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkRWIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDQsMTEgKzcwNCwxMSBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpzdGFydEljb25Mb2FkZXIoKQogICAgIGlmICh1cmxTdHJpbmcuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBQZW9wbGUgd2hvIHdhbnQgdG8gYXZvaWQg
bG9hZGluZyBpbWFnZXMgZ2VuZXJhbGx5IHdhbnQgdG8gYXZvaWQgbG9hZGluZyBhbGwgaW1hZ2Vz
LgorICAgIC8vIFBlb3BsZSB3aG8gd2FudCB0byBhdm9pZCBsb2FkaW5nIGltYWdlcyBnZW5lcmFs
bHkgd2FudCB0byBhdm9pZCBsb2FkaW5nIGFsbCBpbWFnZXMsIHVubGVzcyBhbiBleGNlcHRpb24g
aGFzIGJlZW4gbWFkZSBmb3Igc2l0ZSBpY29ucy4KICAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBhY2Nv
dW50ZWQgZm9yIFVSTCBtYXBwaW5nLCBhdm9pZCBzdGFydGluZyB0aGUgbmV0d29yayBsb2FkIGlm
IGltYWdlcyBhcmVuJ3Qgc2V0IHRvIGRpc3BsYXkgYXV0b21hdGljYWxseS4KICAgICBTZXR0aW5n
cyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpOwotICAgIGlmIChzZXR0aW5ncyAmJiAh
c2V0dGluZ3MtPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpKQotICAgICAgICByZXR1cm47Cisg
ICAgaWYgKHNldHRpbmdzICYmICFzZXR0aW5ncy0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkg
JiYgIXNldHRpbmdzLT5sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZygp
KQorICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gSWYgd2UncmUgcmVsb2FkaW5nIHRoZSBwYWdl
LCBhbHdheXMgc3RhcnQgdGhlIGljb24gbG9hZCBub3cuCiAgICAgaWYgKGxvYWRUeXBlKCkgPT0g
RnJhbWVMb2FkVHlwZVJlbG9hZCAmJiBsb2FkVHlwZSgpID09IEZyYW1lTG9hZFR5cGVSZWxvYWRG
cm9tT3JpZ2luKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gODM0
NzApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTgsNiArOTgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICAsIG1f
aXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzSmF2YUVuYWJsZWQo
ZmFsc2UpCiAgICAgLCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseShmYWxzZSkKKyAgICAsIG1f
bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcoZmFsc2UpCiAgICAgLCBt
X3ByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2NhcmV0QnJvd3NpbmdFbmFi
bGVkKGZhbHNlKQogICAgICwgbV9hcmVJbWFnZXNFbmFibGVkKHRydWUpCkBAIC0yNzUsNiArMjc2
LDExIEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWwKICAgICBzZXRM
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJbkFsbEZyYW1lcyhtX3BhZ2UpOwogfQogCit2b2lkIFNl
dHRpbmdzOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyhib29s
IGxvYWRzU2l0ZUljb25zKQoreworICAgIG1fbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1NldHRpbmcgPSBsb2Fkc1NpdGVJY29uczsKK30KKwogdm9pZCBTZXR0aW5nczo6c2V0SmF2
YVNjcmlwdEVuYWJsZWQoYm9vbCBpc0phdmFTY3JpcHRFbmFibGVkKQogewogICAgIG1faXNKYXZh
U2NyaXB0RW5hYmxlZCA9IGlzSmF2YVNjcmlwdEVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
aAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sKTsKICAgICAgICAg
Ym9vbCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSBjb25zdCB7IHJldHVybiBtX2xvYWRzSW1h
Z2VzQXV0b21hdGljYWxseTsgfQogCisgICAgICAgIC8vIFRoaXMgc2V0dGluZyBvbmx5IGFmZmVj
dHMgc2l0ZSBpY29uIGltYWdlIGxvYWRpbmcgaWYgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5IHNl
dHRpbmcgaXMgZmFsc2UgYW5kIHRoaXMgc2V0dGluZyBpcyB0cnVlLgorICAgICAgICAvLyBBbGwg
b3RoZXIgcGVybXV0YXRpb25zIHN0aWxsIGhlZWQgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5IHNl
dHRpbmcuCisgICAgICAgIHZvaWQgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGlu
Z1NldHRpbmcoYm9vbCk7CisgICAgICAgIGJvb2wgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdl
TG9hZGluZ1NldHRpbmcoKSBjb25zdCB7IHJldHVybiBtX2xvYWRzU2l0ZUljb25zSWdub3JpbmdJ
bWFnZUxvYWRpbmdTZXR0aW5nOyB9CisKICAgICAgICAgdm9pZCBzZXRKYXZhU2NyaXB0RW5hYmxl
ZChib29sKTsKICAgICAgICAgLy8gSW5zdGVhZCBvZiBjYWxsaW5nIGlzSmF2YVNjcmlwdEVuYWJs
ZWQgZGlyZWN0bHksIHBsZWFzZSBjb25zaWRlciBjYWxsaW5nCiAgICAgICAgIC8vIFNjcmlwdENv
bnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzLCB3aGljaCB0YWtlcyB0aGluZ3MgbGlrZSB0aGUK
QEAgLTQxOCw2ICs0MjMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgbV9p
c1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pc0phdmFFbmFi
bGVkIDogMTsKICAgICAgICAgYm9vbCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseSA6IDE7Cisg
ICAgICAgIGJvb2wgbV9sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyA6
IDE7CiAgICAgICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkIDogMTsKICAgICAgICAg
Ym9vbCBtX2NhcmV0QnJvd3NpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2FyZUltYWdl
c0VuYWJsZWQgOiAxOwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gODM1NDEpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0w
NC0xMSAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJvdmlkZSBuZXcgc2V0dGluZyB0byBhbGxv
dyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9h
ZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
aDogQWRkIG1hY3JvIGZvciBzZXR0aW5nIGRlZmF1bHQgdmFsdWUuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldExv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgc2V0dGVy
LgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgZ2V0dGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6IEFkZCB0
byBsaXN0IG9mIFdlYkNvcmUgc2V0dGluZ3MgdGhhdCBnZXQgcHJvcGFnYXRlZCB0byBXZWJLaXQg
cHJlZmVyZW5jZXMuCisKIDIwMTEtMDQtMTEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDgzNDcwKQorKysg
U291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkod29ya2luZyBjb3B5
KQpAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICNkZWZpbmUgRk9SX0VBQ0hf
V0VCS0lUX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAogICAgIG1hY3JvKEphdmFTY3JpcHRFbmFi
bGVkLCBqYXZhU2NyaXB0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKExv
YWRzSW1hZ2VzQXV0b21hdGljYWxseSwgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LCBCb29sLCBi
b29sLCB0cnVlKSBcCisgICAgbWFjcm8oTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGlu
Z1ByZWZlcmVuY2UsIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNl
LCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFBsdWdpbnNFbmFibGVkLCBwbHVnaW5z
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKEphdmFFbmFibGVkLCBqYXZh
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKE9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSkgXApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcx
LDYgKzcxLDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1hZ2VzQXV0b21hdGkKICAg
ICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
KCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFn
ZUxvYWRpbmdQcmVmZXJlbmNlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wg
bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpCit7CisgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGlu
Z1ByZWZlcmVuY2UobG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2Up
OworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nUHJlZmVyZW5jZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAg
IHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1h
Z2VMb2FkaW5nUHJlZmVyZW5jZSgpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRPZmZsaW5l
V2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpCiB7CiAgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKG9m
ZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDgzNDcwKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsNiArNTAsMTAgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldExv
YWRzSW1hZwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKIAogLy8gRGVmYXVsdHMgdG8g
ZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9hZHNTaXRlSWNvbnNJZ25v
cmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywg
Ym9vbCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSk7CitXS19F
WFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CisKKy8vIERlZmF1
bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE9mZmxpbmVXZWJB
cHBsaWNhdGlvbkNhY2hlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29s
IG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM1NCw2
ICsxMzU0LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZQogCiAg
ICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktl
eShXZWJQcmVmZXJlbmNlc0tleTo6amF2YVNjcmlwdEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRp
bmdzLT5zZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5Ojpsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlLZXkoKSkpOworICAg
IHNldHRpbmdzLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0dGluZyhz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxvYWRzU2l0ZUljb25z
SWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0
UGx1Z2luc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpwbHVnaW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEphdmFFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YUVuYWJsZWRLZXko
KSkpOwogICAgIHNldHRpbmdzLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQo
c3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpvZmZsaW5lV2ViQXBw
bGljYXRpb25DYWNoZUVuYWJsZWRLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNp
b24gODM1NDEpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMS0wNC0xMSAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJv
dmlkZSBuZXcgc2V0dGluZyB0byBhbGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2Fi
bGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9hZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDogQWRkIHByZWZlcmVuY2Uga2V5LgorICAg
ICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMuaDogQWRkIHNldHRlci9nZXR0ZXIgZGVmaW5p
dGlvbnMuCisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKCtb
V2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOiBJbml0aWFsaXplIHRvIGZhbHNlLgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
UHJlZmVyZW5jZTpdKTogQWRkZWQuCisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGxvYWRzU2l0
ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlXSk6IEFkZGVkLgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOiBBZGQgdG8gc2V0dGluZ3MgdGhhdCBnZXQgcHJvcGFnYXRlZCB1cG9uIGNoYW5nZXMu
IAorCiAyMDExLTA0LTExICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZp
c2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtl
eXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAKICNkZWZpbmUgV2Vi
S2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVk
SW1hZ2VzUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9v
cGluZ1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVy
ZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0RGlzcGxheUltYWdlc0tleSBAIldlYktpdERpc3BsYXlJ
bWFnZXNLZXkiCisjZGVmaW5lIFdlYktpdExvYWRTaXRlSWNvbnNLZXkgQCJXZWJLaXRMb2FkU2l0
ZUljb25zS2V5IgogI2RlZmluZSBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVy
dmFsS2V5IEAiV2ViS2l0QmFja0ZvcndhcmRDYWNoZUV4cGlyYXRpb25JbnRlcnZhbEtleSIKICNk
ZWZpbmUgV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRUYWJUb0xpbmtzUHJl
ZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXkgQCJXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIgpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gODM0NzApCisrKyBTb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMyNyw2ICszMjcsMTcgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlczogTlNPYmplY3QgPE5T
QwogLSAoQk9PTClsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHk7CiAKIC8qIQorICAgIEBtZXRob2Qg
c2V0V2lsbExvYWRTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6CisgICAg
QHBhcmFtIGZsYWcKKyovCistICh2b2lkKXNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdQcmVmZXJlbmNlOiAoQk9PTClmbGFnOworCisvKiEKKyAgICBAbWV0aG9kIHdpbGxMb2Fk
U2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlCisqLworLSAoQk9PTClsb2Fk
c1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTsKKworLyohCiAgICAgQG1l
dGhvZCBzZXRBdXRvc2F2ZXM6CiAgICAgQHBhcmFtIGZsYWcgCiAgICAgQGRpc2N1c3Npb24gSWYg
YXV0b3NhdmUgcHJlZmVyZW5jZXMgaXMgWUVTIHRoZSBzZXR0aW5ncyByZXByZXNlbnRlZCBieQpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZp
c2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTM0Niw2ICszNDYsNyBAQCArICh2b2lkKWluaXRpYWxpemUK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXRBbGxvd0FuaW1h
dGVkSW1hZ2VzUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
OllFU10sICBXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtleSwKICAg
ICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sICBXZWJLaXREaXNwbGF5SW1hZ2Vz
S2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgIFdlYktpdExvYWRT
aXRlSWNvbnNLZXksCiAgICAgICAgIEAiMTgwMCIsICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
S2l0QmFja0ZvcndhcmRDYWNoZUV4cGlyYXRpb25JbnRlcnZhbEtleSwKICAgICAgICAgW05TTnVt
YmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSwK
ICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRQcml2YXRlQnJv
d3NpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTc1Miw2ICs3NTMsMTYgQEAgLSAoQk9PTCls
b2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktl
eTogV2ViS2l0RGlzcGxheUltYWdlc0tleV07CiB9CiAKKy0gKHZvaWQpc2V0TG9hZHNTaXRlSWNv
bnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6IChCT09MKWZsYWcKK3sKKyAgICBbc2Vs
ZiBfc2V0Qm9vbFZhbHVlOiBmbGFnIGZvcktleTogV2ViS2l0TG9hZFNpdGVJY29uc0tleV07Cit9
CisKKy0gKEJPT0wpbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UK
K3sKKyAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTogV2ViS2l0TG9hZFNpdGVJY29u
c0tleV07Cit9CisKIC0gKHZvaWQpc2V0QXV0b3NhdmVzOihCT09MKWZsYWcKIHsKICAgICBfcHJp
dmF0ZS0+YXV0b3NhdmVzID0gZmxhZzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0JKHJldmlzaW9uIDgzNDcwKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNDk0LDYgKzE0OTQsNyBAQCAtICh2b2lkKV9wcmVm
ZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3MtPnNldFNlcmlmRm9udEZh
bWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7CiAgICAgc2V0dGluZ3MtPnNldFN0
YW5kYXJkRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc3RhbmRhcmRGb250RmFtaWx5XSk7CiAgICAg
c2V0dGluZ3MtPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShbcHJlZmVyZW5jZXMgbG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5XSk7CisgICAgc2V0dGluZ3MtPnNldExvYWRzU2l0ZUljb25zSWdu
b3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKFtwcmVmZXJlbmNlcyBsb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZV0pOwogICAgIHNldHRpbmdzLT5zZXRTaG91bGRQcmlu
dEJhY2tncm91bmRzKFtwcmVmZXJlbmNlcyBzaG91bGRQcmludEJhY2tncm91bmRzXSk7CiAgICAg
c2V0dGluZ3MtPnNldFRleHRBcmVhc0FyZVJlc2l6YWJsZShbcHJlZmVyZW5jZXMgdGV4dEFyZWFz
QXJlUmVzaXphYmxlXSk7CiAgICAgc2V0dGluZ3MtPnNldFNocmlua3NTdGFuZGFsb25lSW1hZ2Vz
VG9GaXQoW3ByZWZlcmVuY2VzIHNocmlua3NTdGFuZGFsb25lSW1hZ2VzVG9GaXRdKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTQyKQorKysgU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDQtMTEgIEFsaWNl
IExpdSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29u
IGxvYWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2Vu
ZXJhbC4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzLmlkbDogCisgICAg
ICAgICogV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmg6IEFkZCBwcmVmZXJlbmNlIGtleS4KKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5p
dGlhbGl6ZURlZmF1bHRTZXR0aW5ncyk6IEluaXRpYWxpemUgc2V0dGluZyB0byBmYWxzZS4KKyAg
ICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2Fk
aW5nUHJlZmVyZW5jZSk6IEFkZGVkIHNldHRlcgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6Omxv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgZ2V0dGVy
CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKFdlYlZpZXc6Om5vdGlmeVByZWZlcmVuY2VzQ2hhbmdlZCk6IEFkZCB0byBzZXR0aW5n
cyB0aGF0IGdldCBwcm9wYWdhdGVkIHVwb24gY2hhbmdlcy4KKwogMjAxMS0wNC0xMSAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBACiAj
ZGVmaW5lIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5ICJXZWJLaXRBbGxv
d0FuaW1hdGVkSW1hZ2VzUHJlZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0QWxsb3dBbmltYXRl
ZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkgIldlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3Bp
bmdQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXREaXNwbGF5SW1hZ2VzS2V5ICJXZWJLaXRE
aXNwbGF5SW1hZ2VzS2V5IgorI2RlZmluZSBXZWJLaXRMb2FkU2l0ZUljb25zS2V5ICJXZWJLaXRM
b2FkU2l0ZUljb25zS2V5IgogI2RlZmluZSBXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlv
bkludGVydmFsS2V5ICJXZWJLaXRCYWNrRm9yd2FyZENhY2hlRXhwaXJhdGlvbkludGVydmFsS2V5
IgogI2RlZmluZSBXZWJLaXRUYWJUb0xpbmtzUHJlZmVyZW5jZUtleSAiV2ViS2l0VGFiVG9MaW5r
c1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5ICJXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVkIgpJbmRleDogU291cmNlL1dl
YktpdC93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gODM0NzApCisrKyBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2ICsyMTcsNyBA
QCB2b2lkIFdlYlByZWZlcmVuY2VzOjppbml0aWFsaXplRGVmYXVsdFNlCiAgICAgQ0ZEaWN0aW9u
YXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRl
ZmF1bHRzLCBDRlNUUihXZWJLaXRBbGxvd0FuaW1hdGVkSW1hZ2VMb29waW5nUHJlZmVyZW5jZUtl
eSksIGtDRkJvb2xlYW5UcnVlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywg
Q0ZTVFIoV2ViS2l0RGlzcGxheUltYWdlc0tleSksIGtDRkJvb2xlYW5UcnVlKTsKKyAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0TG9hZFNpdGVJY29uc0tleSks
IGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWxLZXkpLCBDRlNUUigi
MTgwMCIpKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRQcml2YXRlQnJvd3NpbmdFbmFibGVk
UHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CkBAIC05MjYsNiArOTI3LDIwIEBAIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViUHJlZmVyZW5jZXMKICAgICByZXR1cm4gU19PSzsK
IH0KIAorSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6c2V0TG9hZHNT
aXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoCisgICAgLyogW2luXSAqLyBC
T09MIGVuYWJsZWQpCit7CisgICAgc2V0Qm9vbFZhbHVlKENGU1RSKFdlYktpdExvYWRTaXRlSWNv
bnNLZXkpLCBlbmFibGVkKTsKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlczo6bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UoCisgICAgLyogW3JldHZhbF1bb3V0XSAqLyBCT09MKiBlbmFibGVkKQor
eworICAgICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KENGU1RSKFdlYktpdExvYWRTaXRlSWNv
bnNLZXkpKTsKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBXZWJQcmVmZXJlbmNlczo6c2V0QXV0b3NhdmVzKCAKICAgICAvKiBbaW5dICovIEJPT0wgZW5h
YmxlZCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gODM0
NzApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNzUsNiArMTc1LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVU
SE9EQ0FMTFRZUEUgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCAKICAgICAgICAgLyogW3JldHZh
bF1bb3V0XSAqLyBCT09MKiBlbmFibGVkKTsKICAgICAKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZl
cmVuY2UoCisgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBlbmFibGVkKTsKKyAgICAKKyAgICB2aXJ0
dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdl
TG9hZGluZ1ByZWZlcmVuY2UoCisgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gQk9PTCogZW5h
YmxlZCk7CisgICAgCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEF1
dG9zYXZlcyggCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBlbmFibGVkKTsKICAgICAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTgwLDYgKzQ1ODAsMTEgQEAgSFJFU1VM
VCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICByZXR1cm4gaHI7CiAg
ICAgc2V0dGluZ3MtPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSghIWVuYWJsZWQpOwogCisg
ICAgaHIgPSBwcmVmZXJlbmNlcy0+bG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1By
ZWZlcmVuY2UoJmVuYWJsZWQpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAgICAgICByZXR1cm4g
aHI7CisgICAgc2V0dGluZ3MtPnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdT
ZXR0aW5nKCEhZW5hYmxlZCk7CisKICAgICBociA9IHByZWZlcmVuY2VzLT51c2VyU3R5bGVTaGVl
dEVuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAgICAgICByZXR1cm4g
aHI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlcy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVy
ZW5jZXMuaWRsCShyZXZpc2lvbiA4MzQ3MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFj
ZXMvSVdlYlByZWZlcmVuY2VzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYgKzEzOSw5IEBA
IGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXMgOiBJVW5rbm93bgogICAgIEhSRVNVTFQgc2V0TG9h
ZHNJbWFnZXNBdXRvbWF0aWNhbGx5KFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIGxv
YWRzSW1hZ2VzQXV0b21hdGljYWxseShbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogCisg
ICAgSFJFU1VMVCBzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5j
ZShbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5n
SW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOworCiAg
ICAgSFJFU1VMVCBzZXRBdXRvc2F2ZXMoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQg
YXV0b3NhdmVzKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAKSW5kZXg6IFRvb2xzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTQxKQor
KysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEt
MDQtMTEgIEFsaWNlIExpdSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxs
b3cgc2l0ZSBpY29uIGxvYWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxv
YWRpbmcgaW4gZ2VuZXJhbC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMpOiBT
ZXR0aW5nIHNob3VsZCBiZSBvZmYgZm9yIG1vc3QgdGVzdHMuIFJlc2V0IHRvIGZhbHNlLgorCiAy
MDExLTA0LTExICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdp
bmRvd3MgYnVpbGQuCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCShyZXZpc2lvbiA4MzQ3MCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNDU1LDYgKzQ1NSw3IEBAIHN0YXRpYyB2
b2lkIHJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWwKICAgICBbcHJlZmVyZW5jZXMgc2V0T2Zm
bGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNl
dERldmVsb3BlckV4dHJhc0VuYWJsZWQ6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRMb2Fkc0lt
YWdlc0F1dG9tYXRpY2FsbHk6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0TG9hZHNTaXRlSWNv
bnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBz
ZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0U3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0RWRpdGluZ0JlaGF2
aW9yOldlYktpdEVkaXRpbmdNYWNCZWhhdmlvcl07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MzU0MSkK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDExLTA0LTExICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODI5MgorICAgICAgICBQcm92aWRlIG5ldyBzZXR0aW5n
IHRvIGFsbG93IHNpdGUgaWNvbiBsb2FkaW5nIGRlc3BpdGUgZGlzYWJsaW5nIGF1dG9tYXRpYyBp
bWFnZSBsb2FkaW5nIGluIGdlbmVyYWwuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvZmF2
aWNvbi1sb2Fkcy13aXRoLWljb24tbG9hZGluZy1vdmVycmlkZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2Fk
aW5nLW92ZXJyaWRlLmh0bWw6IEFkZGVkLgorCiAyMDExLTA0LTExICBKdXN0aW4gTm92b3NhZCAg
PGp1bm92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1c3Nl
bGwuCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRo
LWljb24tbG9hZGluZy1vdmVycmlkZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3Zl
cnJpZGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzx1bmtub3duPiAtIGRpZEZpbmlzaExv
YWRpbmcKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29u
LWxvYWRpbmctb3ZlcnJpZGUuaHRtbCAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1ZXN0IFVS
TCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2Fk
aW5nLW92ZXJyaWRlLmh0bWwsIG1haW4gZG9jdW1lbnQgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUuaHRtbCwgaHR0
cCBtZXRob2QgR0VUPiByZWRpcmVjdFJlc3BvbnNlIChudWxsKQoraHR0cDovLzEyNy4wLjAuMTo4
MDAwL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24tbG9hZGluZy1vdmVycmlkZS5odG1sIC0g
ZGlkUmVjZWl2ZVJlc3BvbnNlIDxOU1VSTFJlc3BvbnNlIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9t
aXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUuaHRtbCwgaHR0cCBz
dGF0dXMgY29kZSAyMDA+CitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvZmF2
aWNvbi5pY28gLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL2Zhdmljb24uaWNvLCBtYWluIGRvY3VtZW50IFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5n
LW92ZXJyaWRlLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkK
K2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRp
bmctb3ZlcnJpZGUuaHRtbCAtIGRpZEZpbmlzaExvYWRpbmcKK2h0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9taXNjL3Jlc291cmNlcy9mYXZpY29uLmljbyAtIGRpZFJlY2VpdmVSZXNwb25zZSA8TlNVUkxS
ZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJjZXMvZmF2aWNvbi5pY28s
IGh0dHAgc3RhdHVzIGNvZGUgMjAwPgoraHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU4MjkyIC0gUHJvdmlkZSBuZXcgc2V0dGluZyB0byBhbGxvdyBzaXRlIGljb24gbG9h
ZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9hZGluZyBpbiBnZW5lcmFs
LgorUmVzb3VyY2UgbG9hZCBjYWxsYmFja3Mgd2lsbCByZXZlYWwgaWYgdGhlIGZhdmljb24gc3Rp
bGwgZ2V0cyBsb2FkZWQgaWYgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaXMgZGlzYWJsZWQsIGJ1
dCBzaXRlIGljb24gaW1hZ2UgbG9hZGluZyBvdmVycmlkZSBpcyBlbmFibGVkLiAKKwpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRp
bmctb3ZlcnJpZGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21p
c2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24tbG9hZGluZy1vdmVycmlkZS5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1p
Y29uLWxvYWRpbmctb3ZlcnJpZGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFJlc291
cmNlTG9hZENhbGxiYWNrcygpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRJY29u
RGF0YWJhc2VFbmFibGVkKHRydWUpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kaXNh
YmxlSW1hZ2VMb2FkaW5nKCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRl
UHJlZmVyZW5jZSgiV2ViS2l0TG9hZFNpdGVJY29uc0tleSIsIDEpOworICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5xdWV1ZVJlbG9hZCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPGxpbmsg
cmVsPSJpY29uIiBocmVmPSJyZXNvdXJjZXMvZmF2aWNvbi5pY28iIHR5cGU9ImltYWdlL3gtaWNv
biI+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CitodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIgLSBQcm92aWRlIG5ldyBzZXR0aW5nIHRvIGFs
bG93IHNpdGUgaWNvbiBsb2FkaW5nIGRlc3BpdGUgZGlzYWJsaW5nIGF1dG9tYXRpYyBpbWFnZSBs
b2FkaW5nIGluIGdlbmVyYWwuPGJyPgorUmVzb3VyY2UgbG9hZCBjYWxsYmFja3Mgd2lsbCByZXZl
YWwgaWYgdGhlIGZhdmljb24gc3RpbGwgZ2V0cyBsb2FkZWQgaWYgYXV0b21hdGljIGltYWdlIGxv
YWRpbmcgaXMgZGlzYWJsZWQsIGJ1dCBzaXRlIGljb24gaW1hZ2UgbG9hZGluZyBvdmVycmlkZSBp
cyBlbmFibGVkLiA8YnI+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="81773"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89241</attachid>
            <date>2011-04-12 12:15:57 -0700</date>
            <delta_ts>2011-04-12 13:06:22 -0700</delta_ts>
            <desc>patch - moved pref to [|I]WebPreferencesPrivate.[h|idl]</desc>
            <filename>addSiteIconPref_buildsOnWindows.txt</filename>
            <type>text/plain</type>
            <size>25898</size>
            <attacher name="Alice Liu">alice.barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNTM2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDQtMTIgIEFsaWNlIExp
dSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29uIGxv
YWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2VuZXJh
bC4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWlj
b24tbG9hZGluZy1vdmVycmlkZS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjogQWRk
ZWQgZXhwb3J0IHN5bWJvbAorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c3RhcnRJY29uTG9hZGVyKTogQ2hlY2sgbmV3IHNl
dHRpbmcgYmVmb3JlIGRlY2lkaW5nIHRoYXQgc2l0ZSBpY29uIGltYWdlcyBzaG91bGRuJ3QgYmUg
bG9hZGVkLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OlNldHRpbmdzKTogQWRkIGluaXRpYWxpemVyIGZvciBuZXcgc2V0dGluZworICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxv
YWRpbmdTZXR0aW5nKTogQWRkIHNldHRlciBmb3IgbmV3IHNldHRpbmcuCisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5oOiBFeHBsYWluIG51YW5jZXMgcmVnYXJkaW5nIGxvYWRzSW1hZ2VzQXV0b21h
dGljYWxseSBzZXR0aW5nLgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmxvYWRzU2l0ZUlj
b25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKTogQWRkZWQgZ2V0dGVyLgorCiAyMDExLTA0
LTExICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBNYWMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkocmV2aXNpb24gODM1MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29y
a2luZyBjb3B5KQpAQCAtODc2LDYgKzg3Niw3IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczI2c2V0
RGVmYXVsdFRleHRFbmMKIF9fWk43V2ViQ29yZThTZXR0aW5nczI2c2V0TmVlZHNTaXRlU3BlY2lm
aWNRdWlya3NFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjdzZXRGVFBEaXJlY3RvcnlUZW1wbGF0
ZVBhdGhFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyN3NldExvYWRzSW1h
Z2VzQXV0b21hdGljYWxseUViCitfX1pON1dlYkNvcmU4U2V0dGluZ3M0NHNldExvYWRzU2l0ZUlj
b25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczI3
c2V0TG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjdzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNl
dHRpbmdzMjhzZXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkRWIKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gODM1MzYpCisrKyBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MDQsMTEgKzcwNCwx
MSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdGFydEljb25Mb2FkZXIoKQogICAgIGlmICh1cmxTdHJp
bmcuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBQZW9wbGUgd2hvIHdhbnQg
dG8gYXZvaWQgbG9hZGluZyBpbWFnZXMgZ2VuZXJhbGx5IHdhbnQgdG8gYXZvaWQgbG9hZGluZyBh
bGwgaW1hZ2VzLgorICAgIC8vIFBlb3BsZSB3aG8gd2FudCB0byBhdm9pZCBsb2FkaW5nIGltYWdl
cyBnZW5lcmFsbHkgd2FudCB0byBhdm9pZCBsb2FkaW5nIGFsbCBpbWFnZXMsIHVubGVzcyBhbiBl
eGNlcHRpb24gaGFzIGJlZW4gbWFkZSBmb3Igc2l0ZSBpY29ucy4KICAgICAvLyBOb3cgdGhhdCB3
ZSd2ZSBhY2NvdW50ZWQgZm9yIFVSTCBtYXBwaW5nLCBhdm9pZCBzdGFydGluZyB0aGUgbmV0d29y
ayBsb2FkIGlmIGltYWdlcyBhcmVuJ3Qgc2V0IHRvIGRpc3BsYXkgYXV0b21hdGljYWxseS4KICAg
ICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lLT5zZXR0aW5ncygpOwotICAgIGlmIChzZXR0
aW5ncyAmJiAhc2V0dGluZ3MtPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpKQotICAgICAgICBy
ZXR1cm47CisgICAgaWYgKHNldHRpbmdzICYmICFzZXR0aW5ncy0+bG9hZHNJbWFnZXNBdXRvbWF0
aWNhbGx5KCkgJiYgIXNldHRpbmdzLT5sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
U2V0dGluZygpKQorICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gSWYgd2UncmUgcmVsb2FkaW5n
IHRoZSBwYWdlLCBhbHdheXMgc3RhcnQgdGhlIGljb24gbG9hZCBub3cuCiAgICAgaWYgKGxvYWRU
eXBlKCkgPT0gRnJhbWVMb2FkVHlwZVJlbG9hZCAmJiBsb2FkVHlwZSgpID09IEZyYW1lTG9hZFR5
cGVSZWxvYWRGcm9tT3JpZ2luKSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2
aXNpb24gODM1MzYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTgsNiArOTgsNyBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkK
ICAgICAsIG1faXNTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2lzSmF2
YUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseShmYWxzZSkK
KyAgICAsIG1fbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcoZmFsc2Up
CiAgICAgLCBtX3ByaXZhdGVCcm93c2luZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2NhcmV0QnJv
d3NpbmdFbmFibGVkKGZhbHNlKQogICAgICwgbV9hcmVJbWFnZXNFbmFibGVkKHRydWUpCkBAIC0y
NzUsNiArMjc2LDExIEBAIHZvaWQgU2V0dGluZ3M6OnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWwK
ICAgICBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJbkFsbEZyYW1lcyhtX3BhZ2UpOwogfQog
Cit2b2lkIFNldHRpbmdzOjpzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nU2V0
dGluZyhib29sIGxvYWRzU2l0ZUljb25zKQoreworICAgIG1fbG9hZHNTaXRlSWNvbnNJZ25vcmlu
Z0ltYWdlTG9hZGluZ1NldHRpbmcgPSBsb2Fkc1NpdGVJY29uczsKK30KKwogdm9pZCBTZXR0aW5n
czo6c2V0SmF2YVNjcmlwdEVuYWJsZWQoYm9vbCBpc0phdmFTY3JpcHRFbmFibGVkKQogewogICAg
IG1faXNKYXZhU2NyaXB0RW5hYmxlZCA9IGlzSmF2YVNjcmlwdEVuYWJsZWQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA4MzUzNikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsMTEgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseShib29sKTsK
ICAgICAgICAgYm9vbCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSBjb25zdCB7IHJldHVybiBt
X2xvYWRzSW1hZ2VzQXV0b21hdGljYWxseTsgfQogCisgICAgICAgIC8vIFRoaXMgc2V0dGluZyBv
bmx5IGFmZmVjdHMgc2l0ZSBpY29uIGltYWdlIGxvYWRpbmcgaWYgbG9hZHNJbWFnZXNBdXRvbWF0
aWNhbGx5IHNldHRpbmcgaXMgZmFsc2UgYW5kIHRoaXMgc2V0dGluZyBpcyB0cnVlLgorICAgICAg
ICAvLyBBbGwgb3RoZXIgcGVybXV0YXRpb25zIHN0aWxsIGhlZWQgbG9hZHNJbWFnZXNBdXRvbWF0
aWNhbGx5IHNldHRpbmcuCisgICAgICAgIHZvaWQgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0lt
YWdlTG9hZGluZ1NldHRpbmcoYm9vbCk7CisgICAgICAgIGJvb2wgbG9hZHNTaXRlSWNvbnNJZ25v
cmluZ0ltYWdlTG9hZGluZ1NldHRpbmcoKSBjb25zdCB7IHJldHVybiBtX2xvYWRzU2l0ZUljb25z
SWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nOyB9CisKICAgICAgICAgdm9pZCBzZXRKYXZhU2Ny
aXB0RW5hYmxlZChib29sKTsKICAgICAgICAgLy8gSW5zdGVhZCBvZiBjYWxsaW5nIGlzSmF2YVNj
cmlwdEVuYWJsZWQgZGlyZWN0bHksIHBsZWFzZSBjb25zaWRlciBjYWxsaW5nCiAgICAgICAgIC8v
IFNjcmlwdENvbnRyb2xsZXI6OmNhbkV4ZWN1dGVTY3JpcHRzLCB3aGljaCB0YWtlcyB0aGluZ3Mg
bGlrZSB0aGUKQEAgLTQxOCw2ICs0MjMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgbV9pc1NwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9p
c0phdmFFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxs
eSA6IDE7CisgICAgICAgIGJvb2wgbV9sb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
U2V0dGluZyA6IDE7CiAgICAgICAgIGJvb2wgbV9wcml2YXRlQnJvd3NpbmdFbmFibGVkIDogMTsK
ICAgICAgICAgYm9vbCBtX2NhcmV0QnJvd3NpbmdFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBt
X2FyZUltYWdlc0VuYWJsZWQgOiAxOwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gODM1MzYpCisr
KyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBA
QAorMjAxMS0wNC0xMiAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJvdmlkZSBuZXcgc2V0dGlu
ZyB0byBhbGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMg
aW1hZ2UgbG9hZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuaDogQWRkIG1hY3JvIGZvciBzZXR0aW5nIGRlZmF1bHQgdmFsdWUuCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKTogQWRk
ZWQgc2V0dGVyLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldExvYWRzU2l0ZUljb25zSWdub3Jp
bmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKTogQWRkZWQgZ2V0dGVyLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNl
cyk6IEFkZCB0byBsaXN0IG9mIFdlYkNvcmUgc2V0dGluZ3MgdGhhdCBnZXQgcHJvcGFnYXRlZCB0
byBXZWJLaXQgcHJlZmVyZW5jZXMuCisKIDIwMTEtMDQtMTEgIFNhbSBXZWluaWcgIDxzYW1Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDgz
NTM2KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzksNiArMzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICNkZWZpbmUg
Rk9SX0VBQ0hfV0VCS0lUX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAogICAgIG1hY3JvKEphdmFT
Y3JpcHRFbmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAg
IG1hY3JvKExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSwgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5
LCBCb29sLCBib29sLCB0cnVlKSBcCisgICAgbWFjcm8oTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0lt
YWdlTG9hZGluZ1ByZWZlcmVuY2UsIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFBsdWdpbnNFbmFibGVk
LCBwbHVnaW5zRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKEphdmFFbmFi
bGVkLCBqYXZhRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAgIG1hY3JvKE9mZmxpbmVX
ZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSkgXApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gODM1MzYpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcxLDYgKzcxLDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1hZ2VzQXV0
b21hdGkKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+bG9hZHNJbWFnZXNBdXRv
bWF0aWNhbGx5KCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldExvYWRzU2l0ZUljb25zSWdu
b3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpCit7
CisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0lt
YWdlTG9hZGluZ1ByZWZlcmVuY2UobG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1By
ZWZlcmVuY2UpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRMb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5sb2Fkc1NpdGVJY29uc0ln
bm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSgpOworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZiwgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpCiB7CiAg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVF
bmFibGVkKG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDgz
NTM2KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsMTAgQEAgV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldExvYWRzSW1hZwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldExvYWRzSW1h
Z2VzQXV0b21hdGljYWxseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKIAogLy8gRGVm
YXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9hZHNTaXRl
SWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlcywgYm9vbCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5j
ZSk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9hZHNTaXRlSWNvbnNJZ25vcmlu
Z0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CisK
Ky8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE9m
ZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzLCBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CiBXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA4MzUzNikKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTM1NSw2ICsxMzU1LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25z
dCBXZQogCiAgICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHN0b3JlLmdldEJvb2xW
YWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YVNjcmlwdEVuYWJsZWRLZXkoKSkpOwog
ICAgIHNldHRpbmdzLT5zZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoc3RvcmUuZ2V0Qm9vbFZh
bHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlLZXko
KSkpOworICAgIHNldHRpbmdzLT5zZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
U2V0dGluZyhzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmxvYWRz
U2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlS2V5KCkpKTsKICAgICBzZXR0
aW5ncy0+c2V0UGx1Z2luc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5OjpwbHVnaW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldEphdmFF
bmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6amF2YUVu
YWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNo
ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpvZmZs
aW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWRLZXkoKSkpOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gODM2MTgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wNC0xMiAgQWxpY2UgTGl1ICA8YWxpY2Uu
bGl1QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAg
ICAgICAgUHJvdmlkZSBuZXcgc2V0dGluZyB0byBhbGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNw
aXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9hZGluZyBpbiBnZW5lcmFsLgorCisgICAg
ICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDogQWRkIHByZWZlcmVuY2Ug
a2V5LgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dl
YlByZWZlcmVuY2VzIGluaXRpYWxpemVdKTogSW5pdGlhbGl6ZSB0byBmYWxzZS4KKyAgICAgICAg
KC1bV2ViUHJlZmVyZW5jZXMgc2V0TG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1By
ZWZlcmVuY2U6XSk6IEFkZGVkLgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBsb2Fkc1NpdGVJ
Y29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZV0pOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOiBBZGQgc2V0dGVyL2dldHRlciBkZWZpbml0
aW9ucy4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcg
X3ByZWZlcmVuY2VzQ2hhbmdlZDpdKTogQWRkIHRvIHNldHRpbmdzIHRoYXQgZ2V0IHByb3BhZ2F0
ZWQgdXBvbiBjaGFuZ2VzLiAKKwogMjAxMS0wNC0xMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaAkocmV2aXNpb24gODM1MzYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCw3
IEBACiAjZGVmaW5lIFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdEFsbG93
QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWxsb3dBbmltYXRlZElt
YWdlTG9vcGluZ1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdERpc3BsYXlJbWFnZXNLZXkg
QCJXZWJLaXREaXNwbGF5SW1hZ2VzS2V5IgorI2RlZmluZSBXZWJLaXRMb2FkU2l0ZUljb25zS2V5
IEAiV2ViS2l0TG9hZFNpdGVJY29uc0tleSIKICNkZWZpbmUgV2ViS2l0QmFja0ZvcndhcmRDYWNo
ZUV4cGlyYXRpb25JbnRlcnZhbEtleSBAIldlYktpdEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9u
SW50ZXJ2YWxLZXkiCiAjZGVmaW5lIFdlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5IEAiV2Vi
S2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdFByaXZhdGVCcm93c2lu
Z0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNp
b24gODM1MzYpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDYsNiArMzQ2LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0QWxsb3dBbmltYXRl
ZEltYWdlc1ByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZ
RVNdLCAgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGluZ1ByZWZlcmVuY2VLZXksCiAgICAg
ICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCAgV2ViS2l0RGlzcGxheUltYWdlc0tl
eSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgICBXZWJLaXRMb2FkU2l0
ZUljb25zS2V5LAogICAgICAgICBAIjE4MDAiLCAgICAgICAgICAgICAgICAgICAgICAgIFdlYktp
dEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWxLZXksCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0VGFiVG9MaW5rc1ByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICAgV2ViS2l0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCkBAIC0xNDczLDYgKzE0NzQsMTYgQEAgKyAodm9pZClz
ZXRXZWJLaXRMaW5rVGltZVZlcnNpb246KGludCl2ZQogICAgIHNldFdlYktpdExpbmtUaW1lVmVy
c2lvbih2ZXJzaW9uKTsKIH0KIAorLSAodm9pZClzZXRMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1h
Z2VMb2FkaW5nUHJlZmVyZW5jZTogKEJPT0wpZmxhZworeworICAgIFtzZWxmIF9zZXRCb29sVmFs
dWU6IGZsYWcgZm9yS2V5OiBXZWJLaXRMb2FkU2l0ZUljb25zS2V5XTsKK30KKworLSAoQk9PTCls
b2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZQoreworICAgIHJldHVy
biBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OiBXZWJLaXRMb2FkU2l0ZUljb25zS2V5XTsKK30KKwog
QGVuZAogCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpJbmRl
eDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oCShyZXZpc2lvbiA4MzUzNikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJl
ZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0MCw0ICsyNDAsNyBAQCBAaW50
ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlKQogCiAtIChCT09MKXVzZVF1aWNrTG9v
a1Jlc291cmNlQ2FjaGluZ1F1aXJrczsKIAorLSAodm9pZClzZXRMb2Fkc1NpdGVJY29uc0lnbm9y
aW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZTogKEJPT0wpZmxhZzsKKy0gKEJPT0wpbG9hZHNTaXRl
SWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2U7CisKIEBlbmQKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDgzNTM2KQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNDk0LDYgKzE0
OTQsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0
dGluZ3MtPnNldFNlcmlmRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc2VyaWZGb250RmFtaWx5XSk7
CiAgICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseShbcHJlZmVyZW5jZXMgc3RhbmRh
cmRGb250RmFtaWx5XSk7CiAgICAgc2V0dGluZ3MtPnNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxs
eShbcHJlZmVyZW5jZXMgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5XSk7CisgICAgc2V0dGluZ3Mt
PnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdTZXR0aW5nKFtwcmVmZXJlbmNl
cyBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZV0pOwogICAgIHNl
dHRpbmdzLT5zZXRTaG91bGRQcmludEJhY2tncm91bmRzKFtwcmVmZXJlbmNlcyBzaG91bGRQcmlu
dEJhY2tncm91bmRzXSk7CiAgICAgc2V0dGluZ3MtPnNldFRleHRBcmVhc0FyZVJlc2l6YWJsZShb
cHJlZmVyZW5jZXMgdGV4dEFyZWFzQXJlUmVzaXphYmxlXSk7CiAgICAgc2V0dGluZ3MtPnNldFNo
cmlua3NTdGFuZGFsb25lSW1hZ2VzVG9GaXQoW3ByZWZlcmVuY2VzIHNocmlua3NTdGFuZGFsb25l
SW1hZ2VzVG9GaXRdKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNjE3KQorKysg
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDQtMTIgIEFsaWNlIExpdSAgPGFsaWNlLmxpdUBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MjkyCisgICAgICAgIFByb3ZpZGUgbmV3IHNldHRp
bmcgdG8gYWxsb3cgc2l0ZSBpY29uIGxvYWRpbmcgZGVzcGl0ZSBkaXNhYmxpbmcgYXV0b21hdGlj
IGltYWdlIGxvYWRpbmcgaW4gZ2VuZXJhbC4KKworICAgICAgICAqIEludGVyZmFjZXMvSVdlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5pZGw6IEFkZGVkIHByZWZzLiAKKyAgICAgICAgKiBJbnRlcmZhY2Vz
L1dlYktpdC5pZGw6IFRvdWNoIGZpbGUgdG8gZm9yY2UgYXV0b2dlbmVyYXRpb24KKyAgICAgICAg
KiBXZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDogQWRkIHByZWZlcmVuY2Uga2V5LgorICAgICAg
ICAqIFdlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjppbml0aWFs
aXplRGVmYXVsdFNldHRpbmdzKTogSW5pdGlhbGl6ZSBzZXR0aW5nIHRvIGZhbHNlLgorICAgICAg
ICAoV2ViUHJlZmVyZW5jZXM6OnNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlKTogQWRkZWQgc2V0dGVyCisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6bG9hZHNT
aXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UpOiBBZGRlZCBnZXR0ZXIKKyAg
ICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorICAgICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAg
ICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKTogQWRkIHRvIHNldHRpbmdzIHRo
YXQgZ2V0IHByb3BhZ2F0ZWQgdXBvbiBjaGFuZ2VzLgorCiAyMDExLTA0LTExICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBT
dGFjaG93aWFrLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHJldmlzaW9uIDgzNTM2KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVy
ZW5jZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAKICNkZWZp
bmUgV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVuY2VLZXkgIldlYktpdEFsbG93QW5p
bWF0ZWRJbWFnZXNQcmVmZXJlbmNlS2V5IgogI2RlZmluZSBXZWJLaXRBbGxvd0FuaW1hdGVkSW1h
Z2VMb29waW5nUHJlZmVyZW5jZUtleSAiV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlTG9vcGluZ1By
ZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdERpc3BsYXlJbWFnZXNLZXkgIldlYktpdERpc3Bs
YXlJbWFnZXNLZXkiCisjZGVmaW5lIFdlYktpdExvYWRTaXRlSWNvbnNLZXkgIldlYktpdExvYWRT
aXRlSWNvbnNLZXkiCiAjZGVmaW5lIFdlYktpdEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50
ZXJ2YWxLZXkgIldlYktpdEJhY2tGb3J3YXJkQ2FjaGVFeHBpcmF0aW9uSW50ZXJ2YWxLZXkiCiAj
ZGVmaW5lIFdlYktpdFRhYlRvTGlua3NQcmVmZXJlbmNlS2V5ICJXZWJLaXRUYWJUb0xpbmtzUHJl
ZmVyZW5jZUtleSIKICNkZWZpbmUgV2ViS2l0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZFByZWZlcmVu
Y2VLZXkgIldlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWQiCkluZGV4OiBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
V2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiA4MzUzNikKKysrIFNvdXJjZS9XZWJLaXQvd2lu
L1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE3LDYgKzIxNyw3IEBAIHZv
aWQgV2ViUHJlZmVyZW5jZXM6OmluaXRpYWxpemVEZWZhdWx0U2UKICAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0QWxsb3dBbmltYXRlZEltYWdlc1ByZWZlcmVu
Y2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdEFsbG93QW5pbWF0ZWRJbWFnZUxvb3BpbmdQcmVmZXJlbmNlS2V5KSwg
a0NGQm9vbGVhblRydWUpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNU
UihXZWJLaXREaXNwbGF5SW1hZ2VzS2V5KSwga0NGQm9vbGVhblRydWUpOworICAgIENGRGljdGlv
bmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRMb2FkU2l0ZUljb25zS2V5KSwga0NG
Qm9vbGVhbkZhbHNlKTsKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIo
V2ViS2l0QmFja0ZvcndhcmRDYWNoZUV4cGlyYXRpb25JbnRlcnZhbEtleSksIENGU1RSKCIxODAw
IikpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRlZmF1bHRzLCBDRlNUUihXZWJLaXRUYWJU
b0xpbmtzUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7CiAgICAgQ0ZEaWN0aW9uYXJ5
QWRkVmFsdWUoZGVmYXVsdHMsIENGU1RSKFdlYktpdFByaXZhdGVCcm93c2luZ0VuYWJsZWRQcmVm
ZXJlbmNlS2V5KSwga0NGQm9vbGVhbkZhbHNlKTsKQEAgLTkyNiw2ICs5MjcsMjAgQEAgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBXZWJQcmVmZXJlbmNlcwogICAgIHJldHVybiBTX09LOwogfQog
CitIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlByZWZlcmVuY2VzOjpzZXRMb2Fkc1NpdGVJ
Y29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSgKKyAgICAvKiBbaW5dICovIEJPT0wg
ZW5hYmxlZCkKK3sKKyAgICBzZXRCb29sVmFsdWUoQ0ZTVFIoV2ViS2l0TG9hZFNpdGVJY29uc0tl
eSksIGVuYWJsZWQpOworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIFdlYlByZWZlcmVuY2VzOjpsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5n
UHJlZmVyZW5jZSgKKyAgICAvKiBbcmV0dmFsXVtvdXRdICovIEJPT0wqIGVuYWJsZWQpCit7Cisg
ICAgKmVuYWJsZWQgPSBib29sVmFsdWVGb3JLZXkoQ0ZTVFIoV2ViS2l0TG9hZFNpdGVJY29uc0tl
eSkpOworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdl
YlByZWZlcmVuY2VzOjpzZXRBdXRvc2F2ZXMoIAogICAgIC8qIFtpbl0gKi8gQk9PTCBlbmFibGVk
KQogewpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiA4MzUzNikK
KysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQyOSw2ICs0MjksOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENB
TExUWVBFIGh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChCT09MKik7CiAgICAgdmlydHVhbCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIHNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChCT09MKTsK
IAorICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBsb2Fkc1NpdGVJY29uc0ln
bm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShCT09MKik7CisgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHNldExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlKEJPT0wpOworCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIAogICAgIC8vIFRoaXMg
bWV0aG9kIGFjY2Vzc2VzIGEgZGlmZmVyZW50IHByZWZlcmVuY2Uga2V5IHRoYW4gZGV2ZWxvcGVy
RXh0cmFzRW5hYmxlZC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA4MzUzNikK
KysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nzkx
LDYgKzQ3OTEsMTEgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQog
ICAgICAgICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldEh5cGVybGlua0F1ZGl0aW5nRW5h
YmxlZChlbmFibGVkKTsKIAorICAgIGhyID0gcHJlZnNQcml2YXRlLT5sb2Fkc1NpdGVJY29uc0ln
bm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSgmZW5hYmxlZCk7CisgICAgaWYgKEZBSUxFRCho
cikpCisgICAgICAgIHJldHVybiBocjsKKyAgICBzZXR0aW5ncy0+c2V0TG9hZHNTaXRlSWNvbnNJ
Z25vcmluZ0ltYWdlTG9hZGluZ1NldHRpbmcoISFlbmFibGVkKTsKKwogICAgIGlmICghbV9jbG9z
ZVdpbmRvd1RpbWVyKQogICAgICAgICBtX21haW5GcmFtZS0+aW52YWxpZGF0ZSgpOyAvLyBGSVhN
RQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1By
aXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ludGVyZmFjZXMvSVdl
YlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDgzNTM2KQorKysgU291cmNlL1dlYktp
dC93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMTIxLDQgKzEyMSw3IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2YXRlIDog
SVVua24KIAogICAgIEhSRVNVTFQgaHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkKEJPT0wgKmh5cGVy
bGlua0F1ZGl0aW5nRW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRIeXBlcmxpbmtBdWRpdGluZ0Vu
YWJsZWQoQk9PTCBoeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQpOworCisgICAgSFJFU1VMVCBzZXRM
b2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShbaW5dIEJPT0wgZW5h
YmxlZCk7CisgICAgSFJFU1VMVCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJl
ZmVyZW5jZShbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogfQpJbmRleDogU291cmNlL1dl
YktpdC93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvV2ViS2l0LmlkbAkocmV2aXNpb24gODM1MzYpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwMSw0
ICszMDEsMyBAQCBsaWJyYXJ5IFdlYktpdAogICAgICAgICBbZGVmYXVsdF0gaW50ZXJmYWNlIElX
ZWJVc2VyQ29udGVudFVSTFBhdHRlcm47CiAgICAgfQogfQotCkluZGV4OiBUb29scy9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MzUzNikKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA0LTEy
ICBBbGljZSBMaXUgIDxhbGljZS5saXVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01ODI5MgorICAgICAgICBQcm92aWRlIG5ldyBzZXR0aW5nIHRvIGFsbG93IHNp
dGUgaWNvbiBsb2FkaW5nIGRlc3BpdGUgZGlzYWJsaW5nIGF1dG9tYXRpYyBpbWFnZSBsb2FkaW5n
IGluIGdlbmVyYWwuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW06CisgICAgICAgIChyZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsdWVzKTogU2V0dGlu
ZyBzaG91bGQgYmUgb2ZmIGZvciBtb3N0IHRlc3RzLiBSZXNldCB0byBmYWxzZS4KKwogMjAxMS0w
NC0xMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBXaW5kb3dz
IGJ1aWxkLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bQkocmV2aXNpb24gODM1MzYpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRl
clRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1NSw2ICs0NTUsNyBAQCBzdGF0aWMgdm9pZCBy
ZXNldERlZmF1bHRzVG9Db25zaXN0ZW50VmFsCiAgICAgW3ByZWZlcmVuY2VzIHNldE9mZmxpbmVX
ZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXREZXZl
bG9wZXJFeHRyYXNFbmFibGVkOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0TG9hZHNJbWFnZXNB
dXRvbWF0aWNhbGx5OllFU107CisgICAgW3ByZWZlcmVuY2VzIHNldExvYWRzU2l0ZUljb25zSWdu
b3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlOk5PXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0RnJh
bWVGbGF0dGVuaW5nRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldFNwYXRpYWxOYXZp
Z2F0aW9uRW5hYmxlZDpOT107CiAgICAgW3ByZWZlcmVuY2VzIHNldEVkaXRpbmdCZWhhdmlvcjpX
ZWJLaXRFZGl0aW5nTWFjQmVoYXZpb3JdOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODEzMjQpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
MS0wNC0xMiAgQWxpY2UgTGl1ICA8YWxpY2UubGl1QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTgyOTIKKyAgICAgICAgUHJvdmlkZSBuZXcgc2V0dGluZyB0byBh
bGxvdyBzaXRlIGljb24gbG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1hZ2Ug
bG9hZGluZyBpbiBnZW5lcmFsLgorCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2Zhdmljb24t
bG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24tbG9hZGluZy1v
dmVycmlkZS5odG1sOiBBZGRlZC4KKwogMjAxMS0wMy0xNiAgQWxpY2UgTGl1ICA8YWxpY2UubGl1
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgZmFzdC93b3JrZXJzL3N0b3JhZ2UvaW50ZXJydXB0
LWRhdGFiYXNlLXN5bmMuaHRtbCB0byB0aGUgd2luLXhwIHNraXBwZWQgbGlzdApJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Zhdmljb24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmct
b3ZlcnJpZGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9mYXZpY29u
LWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw5IEBACis8dW5rbm93bj4gLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8v
MTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJy
aWRlLmh0bWwgLSB3aWxsU2VuZFJlcXVlc3QgPE5TVVJMUmVxdWVzdCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24tbG9hZGluZy1vdmVycmlkZS5o
dG1sLCBtYWluIGRvY3VtZW50IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29u
LWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4g
cmVkaXJlY3RSZXNwb25zZSAobnVsbCkKK2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNjL2Zhdmlj
b24tbG9hZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUuaHRtbCAtIGRpZFJlY2VpdmVSZXNw
b25zZSA8TlNVUkxSZXNwb25zZSBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9mYXZpY29uLWxv
YWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0bWwsIGh0dHAgc3RhdHVzIGNvZGUgMjAw
PgoraHR0cDovLzEyNy4wLjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL2Zhdmljb24uaWNvIC0gd2ls
bFNlbmRSZXF1ZXN0IDxOU1VSTFJlcXVlc3QgVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9taXNj
L3Jlc291cmNlcy9mYXZpY29uLmljbywgbWFpbiBkb2N1bWVudCBVUkwgaHR0cDovLzEyNy4wLjAu
MTo4MDAwL21pc2MvZmF2aWNvbi1sb2Fkcy13aXRoLWljb24tbG9hZGluZy1vdmVycmlkZS5odG1s
LCBodHRwIG1ldGhvZCBHRVQ+IHJlZGlyZWN0UmVzcG9uc2UgKG51bGwpCitodHRwOi8vMTI3LjAu
MC4xOjgwMDAvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0
bWwgLSBkaWRGaW5pc2hMb2FkaW5nCitodHRwOi8vMTI3LjAuMC4xOjgwMDAvbWlzYy9yZXNvdXJj
ZXMvZmF2aWNvbi5pY28gLSBkaWRSZWNlaXZlUmVzcG9uc2UgPE5TVVJMUmVzcG9uc2UgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL21pc2MvcmVzb3VyY2VzL2Zhdmljb24uaWNvLCBodHRwIHN0YXR1cyBj
b2RlIDIwMD4KK2h0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODI5MiAt
IFByb3ZpZGUgbmV3IHNldHRpbmcgdG8gYWxsb3cgc2l0ZSBpY29uIGxvYWRpbmcgZGVzcGl0ZSBk
aXNhYmxpbmcgYXV0b21hdGljIGltYWdlIGxvYWRpbmcgaW4gZ2VuZXJhbC4KK1Jlc291cmNlIGxv
YWQgY2FsbGJhY2tzIHdpbGwgcmV2ZWFsIGlmIHRoZSBmYXZpY29uIHN0aWxsIGdldHMgbG9hZGVk
IGlmIGF1dG9tYXRpYyBpbWFnZSBsb2FkaW5nIGlzIGRpc2FibGVkLCBidXQgc2l0ZSBpY29uIGlt
YWdlIGxvYWRpbmcgb3ZlcnJpZGUgaXMgZW5hYmxlZC4gCisKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92ZXJyaWRlLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2Zhdmljb24tbG9h
ZHMtd2l0aC1pY29uLWxvYWRpbmctb3ZlcnJpZGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvbWlzYy9mYXZpY29uLWxvYWRzLXdpdGgtaWNvbi1sb2FkaW5nLW92
ZXJyaWRlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFj
a3MoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2V0SWNvbkRhdGFiYXNlRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzYWJsZUltYWdlTG9hZGlu
ZygpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5vdmVycmlkZVByZWZlcmVuY2UoIldl
YktpdExvYWRTaXRlSWNvbnNLZXkiLCAxKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
cXVldWVSZWxvYWQoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzxsaW5rIHJlbD0iaWNvbiIgaHJl
Zj0icmVzb3VyY2VzL2Zhdmljb24uaWNvIiB0eXBlPSJpbWFnZS94LWljb24iPgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgoraHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU4MjkyIC0gUHJvdmlkZSBuZXcgc2V0dGluZyB0byBhbGxvdyBzaXRlIGljb24g
bG9hZGluZyBkZXNwaXRlIGRpc2FibGluZyBhdXRvbWF0aWMgaW1hZ2UgbG9hZGluZyBpbiBnZW5l
cmFsLjxicj4KK1Jlc291cmNlIGxvYWQgY2FsbGJhY2tzIHdpbGwgcmV2ZWFsIGlmIHRoZSBmYXZp
Y29uIHN0aWxsIGdldHMgbG9hZGVkIGlmIGF1dG9tYXRpYyBpbWFnZSBsb2FkaW5nIGlzIGRpc2Fi
bGVkLCBidXQgc2l0ZSBpY29uIGltYWdlIGxvYWRpbmcgb3ZlcnJpZGUgaXMgZW5hYmxlZC4gPGJy
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="81891"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>