<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://pkp.sfu.ca/bugzilla/bugzilla.dtd">

<bugzilla version="4.2.5+"
          urlbase="http://pkp.sfu.ca/bugzilla/"
          
          maintainer="pkp-hosted@sfu.ca"
>

    <bug>
          <bug_id>3865</bug_id>
          
          <creation_ts>2008-11-13 04:13:00 -0800</creation_ts>
          <short_desc>Only default language links are permanently shown in TOC</short_desc>
          <delta_ts>2012-03-13 15:43:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>OJS</product>
          <component>User Interface</component>
          <version>2.4.x</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marc Bria Ramirez">marc.bria</reporter>
          <assigned_to name="Alec Smecher">alec</assigned_to>
          <cc>alec</cc>
    
    <cc>bdgregg</cc>
    
    <cc>birkok</cc>
    
    <cc>dragone</cc>
    
    <cc>juan</cc>
    
    <cc>marc.bria</cc>
          
          

      

      

      

          <long_desc isprivate="0">
            <commentid>12549</commentid>
            <who name="Marc Bria Ramirez">marc.bria</who>
            <bug_when>2008-11-13 04:13:39 -0800</bug_when>
            <thetext>Scenario:
OJS 2.2.2.0 (patched from OJS 2.1.1.0)
with 3200 patch applied: http://pkp.sfu.ca/bugzilla/show_bug.cgi?id=3200

Problem:
Articles that are localized with a language different than the active one, are not included in magazine&apos;s table of content.
Only default language links are permanently shown (independently from visitor&apos;s lang).

Example:
On a magazine with Spanish as default lang, if an article only includes a PDF in French, it&apos;s link is only shown when visitor selects french language.

Expected result:
Interface language is up to user&apos;s preferences but content must be shown for every language.
At the maganize&apos;s TOC, a link to every localized PDF (showing it&apos;s language) would be appreciated for our readers.

Comments:
Probably this is more a OJS feature than a bug. I mean, I can imagine other contexts (where every article is always translated to every magazine&apos;s lang) where could be useful the way OJS is working now, with no separation between user&apos;s interface and content&apos;s language... but for smaller magazines, it&apos;s certainly an issue.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>12550</commentid>
            <who name="Juan Pablo Alperin">juan</who>
            <bug_when>2008-11-13 04:41:03 -0800</bug_when>
            <thetext>On first thought, this seems like a good idea.  

I am thinking that, in the table of contents, there could be a link saying &quot;Other Languages&quot; and in the &quot;abstract view&quot; (where there is much more room) we can have links to all the available languages.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>12552</commentid>
            <who name="Marc Bria Ramirez">marc.bria</who>
            <bug_when>2008-11-13 07:49:24 -0800</bug_when>
            <thetext>Thanks Juan.

I personally like the way Drupal deals with this.

i18n module let Admin select how content will be shown between:

[] Only current language and no language
[] Only current and default languages and no language
[] Only default language and no language
[] Only current language
[] All content. No language conditions apply

In big magazines (I mean, with big resources), first to forth choices will be popular... wile in small-middle ones, the last choice will be the best.

Furthermore, to avoid repetitive info in TOC, I suggest keep links as now, not indicating the active visitors language if fits with user&apos;s preferences.

I mean, if a visitor selects English as his/her interface language, PDF link will be &quot;PDF&quot; instead of the long &quot;PDF (ENGLISH)&quot; that will be shown when interface is changed to Spanish (or whatever).

I&apos;m quite sure implementing this suggestion means a huge work in development terms... so I suggest a SJF (Shortest Job First) approach: A simple patch, then include 2 choices in admin settings, finally 

Let me know if you think external help could be useful: I feel quite confident in developing a &quot;dirty hack&quot; to patch if this issue is not in OJS priorities, although I&apos;m full incompetent to deal with the full suggestion.

Thanks you all for the great development,

m.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>12553</commentid>
            <who name="Marc Bria Ramirez">marc.bria</who>
            <bug_when>2008-11-13 07:57:47 -0800</bug_when>
            <thetext>I missed to say that Drupal&apos;s i18n module options traduced to OJS could be something like:

[] Show only &quot;current language&quot; articles.
[] Show &quot;current&quot; and &quot;default&quot; languages.
[] All content: No language conditions apply.

Hope this make sense. :-)

Note: This is not a &quot;Bug&quot; instead of a &quot;Feature Request&quot;... that I was warned in OJS forums to publish at your bugzilla. Am I following the right netiquette?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>12560</commentid>
            <who name="James MacGregor">jmacgreg</who>
            <bug_when>2008-11-13 09:59:09 -0800</bug_when>
            <thetext>Thanks Marc, this looks great. I&apos;ve changed the severity from &apos;normal&apos; to &apos;enhancement&apos; so that it shows up as a feature request; but this is not a huge deal. </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13685</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-02-16 18:25:30 -0800</bug_when>
            <thetext>The new setup options proposed here look great, but are beyond the scope of a point release and will be deferred to v2.3. In the meantime, if you&apos;d like all languages to be listed, I would suggest a work-around: designate all galleys as the journal&apos;s primary locale, and name them after the language they provide. The current structure accommodates large journals (i.e. those that have full multilingual content and don&apos;t want entries listed beyond the current language), and the work-around better accommodates journals that don&apos;t have content fully translated.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13686</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-02-16 18:26:03 -0800</bug_when>
            <thetext>...and I&apos;m entirely open to suggestions and discussion on this.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13691</commentid>
            <who name="Marc Bria Ramirez">marc.bria</who>
            <bug_when>2009-02-17 02:19:16 -0800</bug_when>
            <thetext>Thanks Alec for the feedback.

The solution you suggested is the same that we finally adopt in our brand new 2.2 installation.

If it&apos;s too late for 2.3, do you think it could be improved in 2.4?

I suppose 2.4 means at least a year an half from now, so meanwhile (if I get time for this) I will try to develop a dirty patch for &quot;All content: No language conditions apply.&quot;

Any clue about where to start looking?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13692</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-02-17 07:41:22 -0800</bug_when>
            <thetext>Marc, you should be able to do this by simply changing the getLocalizedGalleys function in classes/article/PublishedArticle.inc.php to:

function &amp;getLocalizedGalleys() {
        $allGalleys =&amp; $this-&gt;getData(&apos;galleys&apos;);
        return $allGalleys;
}

...I haven&apos;t tested this, but it should work.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13736</commentid>
            <who name="Marc Bria Ramirez">marc.bria</who>
            <bug_when>2009-02-20 08:49:16 -0800</bug_when>
            <thetext>Wonderful Alec !! Just what we wanted. :-)

Here the results of alec&apos;s patch (and a little tunning on templates):
http://psicologiasocial.uab.es/athenea/index.php/atheneaDigital

BTW, I changed the templates because at the presentation layer the lang name of each pdf (for instance &quot;PDF (Español (España))&quot;) was too long and were not translatable as far it string is taken from xml&apos;s lang headers instead of a &quot;message&quot; tag.

Make sense to open a new feature-request to make lang names able to be translated or do you think this is too peculiar?

Thanks a lot for the solution,

m.

PD: I change this issue to RESOLVED but with REMIND tag, to keep in mind defining OJS 2.4 new features. ;-)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13757</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-02-23 18:00:43 -0800</bug_when>
            <thetext>Marc, you should be able to fine-tune the language names in registry/locales.xml. We&apos;ll probably keep shipping them as they are -- someone may want to use two kinds of Spanish, for example, and they&apos;ll need to be able to differentiate -- but it&apos;s easy enough to change in the XML file.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13765</commentid>
            <who name="Marc Bria Ramirez">marc.bria</who>
            <bug_when>2009-02-24 01:58:33 -0800</bug_when>
            <thetext>I wanted to keep consistency with your lang name descriptions and just change the way those names were shown, but if you say there are no collateral effects (for instance, when harvesting...), I will roll back those changes to the simplest solution.

Any case, a &quot;showLanguageName&quot; message will be more flexible, don&apos;t you think?

Thanks Alec,

m.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>13777</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-02-24 08:23:41 -0800</bug_when>
            <thetext>Marc, no, there would be no collateral effects; the locale names are free to change as you like. The names in registry/locales.xml are simply for information purposes, so adding another locale key would duplicate that info unnecessarily in my opinion (there&apos;s no real difference between editing a locale file and editing the locales.xml file).</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>14360</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-04-21 18:13:51 -0700</bug_when>
            <thetext>Re-opening so we don&apos;t forget.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>15636</commentid>
              <attachid>2078</attachid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-07-02 16:51:19 -0700</bug_when>
            <thetext>Created attachment 2078
Patch against PKP pre-release</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>15637</commentid>
              <attachid>2079</attachid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-07-02 16:51:47 -0700</bug_when>
            <thetext>Created attachment 2079
Patch against OJS pre-2.3 CVS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>15640</commentid>
              <attachid>2080</attachid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-07-02 17:09:48 -0700</bug_when>
            <thetext>Created attachment 2080
Patch against OMP pre-release</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>15643</commentid>
              <attachid>2082</attachid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-07-03 09:04:35 -0700</bug_when>
            <thetext>Created attachment 2082
Patch against OCS pre-2.3 CVS</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>16506</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2009-08-25 17:01:38 -0700</bug_when>
            <thetext>Form language pull-down list separated from UI language pull-down list; deferring the rest until later.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>22578</commentid>
            <who name="bdgregg">bdgregg</who>
            <bug_when>2011-01-04 12:50:28 -0800</bug_when>
            <thetext>Alec,

We are running into the same scenario as Marc was.  I see the patches above and that they are included in the 2.3.3.1 version we&apos;re running on.  I also see the suggested work around of changing the following function (although not tested here yet):

function &amp;getLocalizedGalleys() {
        $allGalleys =&amp; $this-&gt;getData(&apos;galleys&apos;);
        return $allGalleys;
}

Could I suggest making the above change an option in the Journal Managers Language settings?  

In other words a check box or such to switch between the A.) display all of the language galleys submitted in the TOC, B.) only show the currently selected language galleys in the TOC.

This would help us not editing the core software and stop confusion when some galleys are only showing up under one language ;-)

Thanks in advance,
Brian Gregg.
University of Pittsburgh.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>22607</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2011-01-07 09:30:38 -0800</bug_when>
            <thetext>Scheduling for attention in the next release.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>27243</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2012-03-12 10:01:37 -0700</bug_when>
            <thetext>I think the best solution would be to make this an option as Brian suggests. That means it&apos;ll require a couple of new locale keys, which means it&apos;ll need to wait until 2.4.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>27282</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2012-03-12 12:03:52 -0700</bug_when>
            <thetext>On second thought -- this has already been solved as part of bug #3865 (to be released in 2.3.7).

*** This bug has been marked as a duplicate of bug 6762 ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>27308</commentid>
            <who name="Marc Bria">marc.bria</who>
            <bug_when>2012-03-13 02:21:14 -0700</bug_when>
            <thetext>Although in this thread we all have quite the same needs I know magazines interested in a third case: &quot;Show current language + default&quot;.

So, instead of a checkbox I would suggest a few radio buttons with Brian&apos;s options and the third case as follows:

( ) All content: Display all of the language galleys submitted in the TOC, 
( ) Current and default: Show currenty selected and default language galleys in TOC. 
(*) Current: Only show the currently selected language galleys in the TOC.

Please notice, that the writing (at least my adding) need to be reviewed by a native English speaker.

To keep backward-compatibility, last choice is the one that need to be marked by default.

&gt; Could I suggest making the above change an option in the Journal Managers
Language settings?

I also believe it&apos;s is natural place. :-)

Thanks for the great work.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <commentid>27325</commentid>
            <who name="Alec Smecher">alec</who>
            <bug_when>2012-03-13 15:43:25 -0700</bug_when>
            <thetext>OK, marking for further work in 2.4.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2078</attachid>
            <date>2009-07-02 16:51:00 -0700</date>
            <delta_ts>2009-07-02 16:51:19 -0700</delta_ts>
            <desc>Patch against PKP pre-release</desc>
            <filename>3865.diff</filename>
            <type>text/plain</type>
            <size>536</size>
            <attacher>alec</attacher>
            
              <data encoding="base64">ZGlmZiAtdSAtcjEuNCBGb3JtLmluYy5waHAKLS0tIGNsYXNzZXMvZm9ybS9Gb3JtLmluYy5waHAJ
OCBBcHIgMjAwOSAyMTozNDo1NCAtMDAwMAkxLjQKKysrIGNsYXNzZXMvZm9ybS9Gb3JtLmluYy5w
aHAJMiBKdWwgMjAwOSAyMzo0ODo0OCAtMDAwMApAQCAtNzMsNyArNzMsNyBAQAogCQkkdGVtcGxh
dGVNZ3ItPmFzc2lnbignaXNFcnJvcicsICEkdGhpcy0+aXNWYWxpZCgpKTsKIAkJJHRlbXBsYXRl
TWdyLT5hc3NpZ24oJ2Vycm9ycycsICR0aGlzLT5nZXRFcnJvcnNBcnJheSgpKTsKIAotCQkkdGVt
cGxhdGVNZ3ItPmFzc2lnbignZm9ybUxvY2FsZXMnLCBMb2NhbGU6OmdldFN1cHBvcnRlZExvY2Fs
ZXMoKSk7CisJCSR0ZW1wbGF0ZU1nci0+YXNzaWduKCdmb3JtTG9jYWxlcycsIExvY2FsZTo6Z2V0
U3VwcG9ydGVkRm9ybUxvY2FsZXMoKSk7CiAKIAkJLy8gRGV0ZXJtaW5lIHRoZSBjdXJyZW50IGxv
Y2FsZSB0byBkaXNwbGF5IGZpZWxkcyB3aXRoCiAJCSRmb3JtTG9jYWxlID0gUmVxdWVzdDo6Z2V0
VXNlclZhcignZm9ybUxvY2FsZScpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2079</attachid>
            <date>2009-07-02 16:51:00 -0700</date>
            <delta_ts>2009-07-02 16:51:47 -0700</delta_ts>
            <desc>Patch against OJS pre-2.3 CVS</desc>
            <filename>3865.diff</filename>
            <type>text/plain</type>
            <size>10182</size>
            <attacher>alec</attacher>
            
              <data encoding="base64">ZGlmZiAtdSAtcjEuNDggTG9jYWxlLmluYy5waHAKLS0tIGNsYXNzZXMvaTE4bi9Mb2NhbGUuaW5j
LnBocAkxMiBNYXkgMjAwOSAxNjo1NzoyMCAtMDAwMAkxLjQ4CisrKyBjbGFzc2VzL2kxOG4vTG9j
YWxlLmluYy5waHAJMiBKdWwgMjAwOSAyMzo0ODo1NSAtMDAwMApAQCAtMjgsNyArMjgsNyBAQAog
CiBjbGFzcyBMb2NhbGUgZXh0ZW5kcyBQS1BMb2NhbGUgewogCS8qKgotCSAqIEdldCBhbGwgc3Vw
cG9ydGVkIGxvY2FsZXMgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuCisJICogR2V0IGFsbCBzdXBw
b3J0ZWQgVUkgbG9jYWxlcyBmb3IgdGhlIGN1cnJlbnQgY29udGV4dC4KIAkgKiBAcmV0dXJuIGFy
cmF5CiAJICovCiAJZnVuY3Rpb24gZ2V0U3VwcG9ydGVkTG9jYWxlcygpIHsKQEAgLTQ3LDYgKzQ3
LDI1IEBACiAJfQogCiAJLyoqCisJICogR2V0IGFsbCBzdXBwb3J0ZWQgZm9ybSBsb2NhbGVzIGZv
ciB0aGUgY3VycmVudCBjb250ZXh0LgorCSAqIEByZXR1cm4gYXJyYXkKKwkgKi8KKwlmdW5jdGlv
biBnZXRTdXBwb3J0ZWRGb3JtTG9jYWxlcygpIHsKKwkJc3RhdGljICRzdXBwb3J0ZWRGb3JtTG9j
YWxlczsKKwkJaWYgKCFpc3NldCgkc3VwcG9ydGVkRm9ybUxvY2FsZXMpKSB7CisJCQlpZiAoZGVm
aW5lZCgnU0VTU0lPTl9ESVNBQkxFX0lOSVQnKSB8fCAhQ29uZmlnOjpnZXRWYXIoJ2dlbmVyYWwn
LCAnaW5zdGFsbGVkJykpIHsKKwkJCQkkc3VwcG9ydGVkRm9ybUxvY2FsZXMgPSBMb2NhbGU6Omdl
dEFsbExvY2FsZXMoKTsKKwkJCX0gZWxzZWlmICgoJGpvdXJuYWwgPSYgUmVxdWVzdDo6Z2V0Sm91
cm5hbCgpKSkgeworCQkJCSRzdXBwb3J0ZWRGb3JtTG9jYWxlcyA9ICRqb3VybmFsLT5nZXRTdXBw
b3J0ZWRGb3JtTG9jYWxlTmFtZXMoKTsKKwkJCX0gZWxzZSB7CisJCQkJJHNpdGUgPSYgUmVxdWVz
dDo6Z2V0U2l0ZSgpOworCQkJCSRzdXBwb3J0ZWRGb3JtTG9jYWxlcyA9ICRzaXRlLT5nZXRTdXBw
b3J0ZWRMb2NhbGVOYW1lcygpOworCQkJfQorCQl9CisJCXJldHVybiAkc3VwcG9ydGVkRm9ybUxv
Y2FsZXM7CisJfQorCisJLyoqCiAJICogUmV0dXJuIHRoZSBrZXkgbmFtZSBvZiB0aGUgdXNlcidz
IGN1cnJlbnRseSBzZWxlY3RlZCBsb2NhbGUgKGRlZmF1bHQKIAkgKiBpcyAiZW5fVVMiIGZvciBV
LlMuIEVuZ2xpc2gpLgogCSAqIEByZXR1cm4gc3RyaW5nCmRpZmYgLXUgLXIxLjMzIEpvdXJuYWwu
aW5jLnBocAotLS0gY2xhc3Nlcy9qb3VybmFsL0pvdXJuYWwuaW5jLnBocAkyNyBNYXkgMjAwOSAy
MDoyNTozMCAtMDAwMAkxLjMzCisrKyBjbGFzc2VzL2pvdXJuYWwvSm91cm5hbC5pbmMucGhwCTIg
SnVsIDIwMDkgMjM6NDg6NTUgLTAwMDAKQEAgLTgyLDYgKzgyLDMxIEBACiAJfQogCiAJLyoqCisJ
ICogUmV0dXJuIGFzc29jaWF0aXZlIGFycmF5IG9mIGFsbCBsb2NhbGVzIHN1cHBvcnRlZCBieSBm
b3JtcyBvbiB0aGUgc2l0ZS4KKwkgKiBUaGVzZSBsb2NhbGVzIGFyZSB1c2VkIHRvIHByb3ZpZGUg
YSBsYW5ndWFnZSB0b2dnbGUgb24gdGhlIG1haW4gc2l0ZSBwYWdlcy4KKwkgKiBAcmV0dXJuIGFy
cmF5CisJICovCisJZnVuY3Rpb24gJmdldFN1cHBvcnRlZEZvcm1Mb2NhbGVOYW1lcygpIHsKKwkJ
JHN1cHBvcnRlZExvY2FsZXMgPSYgJHRoaXMtPmdldERhdGEoJ3N1cHBvcnRlZEZvcm1Mb2NhbGVz
Jyk7CisKKwkJaWYgKCFpc3NldCgkc3VwcG9ydGVkTG9jYWxlcykpIHsKKwkJCSRzdXBwb3J0ZWRM
b2NhbGVzID0gYXJyYXkoKTsKKwkJCSRsb2NhbGVOYW1lcyA9JiBMb2NhbGU6OmdldEFsbExvY2Fs
ZXMoKTsKKworCQkJJGxvY2FsZXMgPSAkdGhpcy0+Z2V0U2V0dGluZygnc3VwcG9ydGVkRm9ybUxv
Y2FsZXMnKTsKKwkJCWlmICghaXNzZXQoJGxvY2FsZXMpIHx8ICFpc19hcnJheSgkbG9jYWxlcykp
IHsKKwkJCQkkbG9jYWxlcyA9IGFycmF5KCk7CisJCQl9CisKKwkJCWZvcmVhY2ggKCRsb2NhbGVz
IGFzICRsb2NhbGVLZXkpIHsKKwkJCQkkc3VwcG9ydGVkTG9jYWxlc1skbG9jYWxlS2V5XSA9ICRs
b2NhbGVOYW1lc1skbG9jYWxlS2V5XTsKKwkJCX0KKwkJfQorCisJCXJldHVybiAkc3VwcG9ydGVk
TG9jYWxlczsKKwl9CisKKwkvKioKIAkgKiBHZXQgImxvY2FsaXplZCIgam91cm5hbCBwYWdlIHRp
dGxlIChpZiBhcHBsaWNhYmxlKS4KIAkgKiBwYXJhbSAkaG9tZSBib29sZWFuIGdldCBob21lcGFn
ZSB0aXRsZQogCSAqIEByZXR1cm4gc3RyaW5nCmRpZmYgLXUgLXIxLjE3IExhbmd1YWdlU2V0dGlu
Z3NGb3JtLmluYy5waHAKLS0tIGNsYXNzZXMvbWFuYWdlci9mb3JtL0xhbmd1YWdlU2V0dGluZ3NG
b3JtLmluYy5waHAJMTIgTWF5IDIwMDkgMTQ6MzQ6NTQgLTAwMDAJMS4xNworKysgY2xhc3Nlcy9t
YW5hZ2VyL2Zvcm0vTGFuZ3VhZ2VTZXR0aW5nc0Zvcm0uaW5jLnBocAkyIEp1bCAyMDA5IDIzOjQ4
OjU1IC0wMDAwCkBAIC0zMiw3ICszMiw4IEBACiAJCXBhcmVudDo6Rm9ybSgnbWFuYWdlci9sYW5n
dWFnZVNldHRpbmdzLnRwbCcpOwogCiAJCSR0aGlzLT5zZXR0aW5ncyA9IGFycmF5KAotCQkJJ3N1
cHBvcnRlZExvY2FsZXMnID0+ICdvYmplY3QnCisJCQknc3VwcG9ydGVkTG9jYWxlcycgPT4gJ29i
amVjdCcsCisJCQknc3VwcG9ydGVkRm9ybUxvY2FsZXMnID0+ICdvYmplY3QnCiAJCSk7CiAKIAkJ
JHNpdGUgPSYgUmVxdWVzdDo6Z2V0U2l0ZSgpOwpAQCAtNjgsOCArNjksMTAgQEAKIAogCQkkdGhp
cy0+c2V0RGF0YSgncHJpbWFyeUxvY2FsZScsICRqb3VybmFsLT5nZXRQcmltYXJ5TG9jYWxlKCkp
OwogCi0JCWlmICgkdGhpcy0+Z2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycpID09IG51bGwgfHwg
IWlzX2FycmF5KCR0aGlzLT5nZXREYXRhKCdzdXBwb3J0ZWRMb2NhbGVzJykpKSB7Ci0JCQkkdGhp
cy0+c2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycsIGFycmF5KCkpOworCQlmb3JlYWNoIChhcnJh
eSgnc3VwcG9ydGVkRm9ybUxvY2FsZXMnLCAnc3VwcG9ydGVkTG9jYWxlcycpIGFzICRuYW1lKSB7
CisJCQlpZiAoJHRoaXMtPmdldERhdGEoJG5hbWUpID09IG51bGwgfHwgIWlzX2FycmF5KCR0aGlz
LT5nZXREYXRhKCRuYW1lKSkpIHsKKwkJCQkkdGhpcy0+c2V0RGF0YSgkbmFtZSwgYXJyYXkoKSk7
CisJCQl9CiAJCX0KIAl9CiAKQEAgLTgxLDggKzg0LDEwIEBACiAJCSR2YXJzW10gPSAncHJpbWFy
eUxvY2FsZSc7CiAJCSR0aGlzLT5yZWFkVXNlclZhcnMoJHZhcnMpOwogCi0JCWlmICgkdGhpcy0+
Z2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycpID09IG51bGwgfHwgIWlzX2FycmF5KCR0aGlzLT5n
ZXREYXRhKCdzdXBwb3J0ZWRMb2NhbGVzJykpKSB7Ci0JCQkkdGhpcy0+c2V0RGF0YSgnc3VwcG9y
dGVkTG9jYWxlcycsIGFycmF5KCkpOworCQlmb3JlYWNoIChhcnJheSgnc3VwcG9ydGVkRm9ybUxv
Y2FsZXMnLCAnc3VwcG9ydGVkTG9jYWxlcycpIGFzICRuYW1lKSB7CisJCQlpZiAoJHRoaXMtPmdl
dERhdGEoJG5hbWUpID09IG51bGwgfHwgIWlzX2FycmF5KCR0aGlzLT5nZXREYXRhKCRuYW1lKSkp
IHsKKwkJCQkkdGhpcy0+c2V0RGF0YSgkbmFtZSwgYXJyYXkoKSk7CisJCQl9CiAJCX0KIAl9CiAK
QEAgLTk0LDE5ICs5OSwyNyBAQAogCQkkc2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0cnk6OmdldERB
TygnSm91cm5hbFNldHRpbmdzREFPJyk7CiAKIAkJLy8gVmVyaWZ5IGFkZGl0aW9uYWwgbG9jYWxl
cwotCQkkc3VwcG9ydGVkTG9jYWxlcyA9IGFycmF5KCk7Ci0JCWZvcmVhY2ggKCR0aGlzLT5nZXRE
YXRhKCdzdXBwb3J0ZWRMb2NhbGVzJykgYXMgJGxvY2FsZSkgewotCQkJaWYgKExvY2FsZTo6aXNM
b2NhbGVWYWxpZCgkbG9jYWxlKSAmJiBpbl9hcnJheSgkbG9jYWxlLCAkdGhpcy0+YXZhaWxhYmxl
TG9jYWxlcykpIHsKLQkJCQlhcnJheV9wdXNoKCRzdXBwb3J0ZWRMb2NhbGVzLCAkbG9jYWxlKTsK
KwkJZm9yZWFjaCAoYXJyYXkoJ3N1cHBvcnRlZExvY2FsZXMnLCAnc3VwcG9ydGVkRm9ybUxvY2Fs
ZXMnKSBhcyAkbmFtZSkgeworCQkJJCRuYW1lID0gYXJyYXkoKTsKKwkJCWZvcmVhY2ggKCR0aGlz
LT5nZXREYXRhKCRuYW1lKSBhcyAkbG9jYWxlKSB7CisJCQkJaWYgKExvY2FsZTo6aXNMb2NhbGVW
YWxpZCgkbG9jYWxlKSAmJiBpbl9hcnJheSgkbG9jYWxlLCAkdGhpcy0+YXZhaWxhYmxlTG9jYWxl
cykpIHsKKwkJCQkJYXJyYXlfcHVzaCgkJG5hbWUsICRsb2NhbGUpOworCQkJCX0KIAkJCX0KIAkJ
fQogCiAJCSRwcmltYXJ5TG9jYWxlID0gJHRoaXMtPmdldERhdGEoJ3ByaW1hcnlMb2NhbGUnKTsK
IAotCQlpZiAoJHByaW1hcnlMb2NhbGUgIT0gbnVsbCAmJiAhZW1wdHkoJHByaW1hcnlMb2NhbGUp
ICYmICFpbl9hcnJheSgkcHJpbWFyeUxvY2FsZSwgJHN1cHBvcnRlZExvY2FsZXMpKSB7Ci0JCQlh
cnJheV9wdXNoKCRzdXBwb3J0ZWRMb2NhbGVzLCAkcHJpbWFyeUxvY2FsZSk7CisJCS8vIE1ha2Ug
c3VyZSBhdCBsZWFzdCB0aGUgcHJpbWFyeSBsb2NhbGUgaXMgY2hvc2VuIGFzIGF2YWlsYWJsZQor
CQlpZiAoJHByaW1hcnlMb2NhbGUgIT0gbnVsbCAmJiAhZW1wdHkoJHByaW1hcnlMb2NhbGUpKSB7
CisJCQlmb3JlYWNoIChhcnJheSgnc3VwcG9ydGVkTG9jYWxlcycsICdzdXBwb3J0ZWRGb3JtTG9j
YWxlcycpIGFzICRuYW1lKSB7CisJCQkJaWYgKCFpbl9hcnJheSgkcHJpbWFyeUxvY2FsZSwgJCRu
YW1lKSkgeworCQkJCQlhcnJheV9wdXNoKCQkbmFtZSwgJHByaW1hcnlMb2NhbGUpOworCQkJCX0K
KwkJCX0KIAkJfQogCQkkdGhpcy0+c2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycsICRzdXBwb3J0
ZWRMb2NhbGVzKTsKKwkJJHRoaXMtPnNldERhdGEoJ3N1cHBvcnRlZEZvcm1Mb2NhbGVzJywgJHN1
cHBvcnRlZEZvcm1Mb2NhbGVzKTsKIAogCQlmb3JlYWNoICgkdGhpcy0+X2RhdGEgYXMgJG5hbWUg
PT4gJHZhbHVlKSB7CiAJCQlpZiAoIWluX2FycmF5KCRuYW1lLCBhcnJheV9rZXlzKCR0aGlzLT5z
ZXR0aW5ncykpKSBjb250aW51ZTsKQEAgLTEyMiw3ICsxMzUsNiBAQAogCQkkam91cm5hbC0+c2V0
UHJpbWFyeUxvY2FsZSgkdGhpcy0+Z2V0RGF0YSgncHJpbWFyeUxvY2FsZScpKTsKIAkJJGpvdXJu
YWxEYW8tPnVwZGF0ZUpvdXJuYWwoJGpvdXJuYWwpOwogCX0KLQogfQogCiA/PgpkaWZmIC11IC1y
MS4xNiBtYW5hZ2VyLnhtbAotLS0gbG9jYWxlL2VuX1VTL21hbmFnZXIueG1sCTIzIEp1biAyMDA5
IDIyOjIxOjI1IC0wMDAwCTEuMTYKKysrIGxvY2FsZS9lbl9VUy9tYW5hZ2VyLnhtbAkyIEp1bCAy
MDA5IDIzOjQ5OjA0IC0wMDAwCkBAIC0yNSw2ICsyNSw4IEBACiAJPG1lc3NhZ2Uga2V5PSJtYW5h
Z2VyLmdyb3Vwcy5lbmFibGVCb2FyZC5kZXNjcmlwdGlvbiI+PCFbQ0RBVEFbVW5kZXIgPGEgaHJl
Zj0ieyRhYm91dEVkaXRvcmlhbFRlYW1Vcmx9Ij5QZW9wbGU8L2E+IGluIEFib3V0IHRoZSBKb3Vy
bmFsOl1dPjwvbWVzc2FnZT4KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIuZ3JvdXBzLm5vbmVDcmVh
dGVkIj5ObyBlZGl0b3JpYWwgdGVhbSBwb3NpdGlvbnMgaGF2ZSBiZWVuIGNyZWF0ZWQuPC9tZXNz
YWdlPgogCTxtZXNzYWdlIGtleT0ibWFuYWdlci5qb3VybmFsTWFuYWdlbWVudCI+Sm91cm5hbCBN
YW5hZ2VtZW50PC9tZXNzYWdlPgorCTxtZXNzYWdlIGtleT0ibWFuYWdlci5sYW5ndWFnZS51aSI+
VUk8L21lc3NhZ2U+CisJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLmZvcm1zIj5Gb3Jt
czwvbWVzc2FnZT4KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIubGFuZ3VhZ2UuY29uZmlybURlZmF1
bHRTZXR0aW5nc092ZXJ3cml0ZSI+VGhpcyB3aWxsIHJlcGxhY2UgYW55IGxvY2FsZS1zcGVjaWZp
YyBqb3VybmFsIHNldHRpbmdzIHlvdSBoYWQgZm9yIHRoaXMgbG9jYWxlPC9tZXNzYWdlPgogCTxt
ZXNzYWdlIGtleT0ibWFuYWdlci5sYW5ndWFnZS5yZWxvYWRMb2NhbGl6ZWREZWZhdWx0U2V0dGlu
Z3MiPlJlbG9hZCBsb2NhbGUtc3BlY2lmaWMgZGVmYXVsdCBzZXR0aW5nczwvbWVzc2FnZT4KIAk8
bWVzc2FnZSBrZXk9Im1hbmFnZXIubGFuZ3VhZ2VzLmxhbmd1YWdlSW5zdHJ1Y3Rpb25zIj48IVtD
REFUQVtPSlMgY2FuIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHVzZXJzIGluIGFueSBvZiBzZXZlcmFs
IHN1cHBvcnRlZCBsYW5ndWFnZXMuIEFzIHdlbGwsIE9KUyBjYW4gb3BlcmF0ZSBhcyBhIG11bHRp
bGluZ3VhbCBzeXN0ZW0sIHByb3ZpZGluZyB1c2VycyB3aXRoIGFuIGFiaWxpdHkgdG8gdG9nZ2xl
IGJldHdlZW4gbGFuZ3VhZ2VzIG9uIGVhY2ggcGFnZSwgYW5kIGFsbG93aW5nIGNlcnRhaW4gZGF0
YSB0byBiZSBlbnRlcmVkIGluIHNldmVyYWwgYWRkaXRpb25hbCBsYW5ndWFnZXMuPGJyIC8+PGJy
Lz5JZiBhIGxhbmd1YWdlIHN1cHBvcnRlZCBieSBPSlMgaXMgbm90IGxpc3RlZCBiZWxvdywgYXNr
IHlvdXIgc2l0ZSBhZG1pbmlzdHJhdG9yIHRvIGluc3RhbGwgdGhlIGxhbmd1YWdlIGZyb20gdGhl
IHNpdGUgYWRtaW5pc3RyYXRpb24gaW50ZXJmYWNlLiBGb3IgaW5zdHJ1Y3Rpb25zIG9uIGFkZGlu
ZyBzdXBwb3J0IGZvciBuZXcgbGFuZ3VhZ2VzLCBwbGVhc2UgY29uc3VsdCB0aGUgT0pTIGRvY3Vt
ZW50YXRpb24uXV0+PC9tZXNzYWdlPgpkaWZmIC11IC1yMS4yNSBsYW5ndWFnZVNldHRpbmdzLnRw
bAotLS0gdGVtcGxhdGVzL21hbmFnZXIvbGFuZ3VhZ2VTZXR0aW5ncy50cGwJOCBBcHIgMjAwOSAx
OTo1NDo1MiAtMDAwMAkxLjI1CisrKyB0ZW1wbGF0ZXMvbWFuYWdlci9sYW5ndWFnZVNldHRpbmdz
LnRwbAkyIEp1bCAyMDA5IDIzOjQ5OjExIC0wMDAwCkBAIC0yMiwzMyArMjIsMzkgQEAKIAogPHRh
YmxlIGNsYXNzPSJkYXRhIiB3aWR0aD0iMTAwJSI+CiA8dHIgdmFsaWduPSJ0b3AiPgotCTx0ZCB3
aWR0aD0iMjAlIiBjbGFzcz0ibGFiZWwiPntmaWVsZExhYmVsIG5hbWU9InByaW1hcnlMb2NhbGUi
IHJlcXVpcmVkPSJ0cnVlIiBrZXk9ImxvY2FsZS5wcmltYXJ5In08L3RkPgotCTx0ZCB3aWR0aD0i
ODAlIiBjb2xzcGFuPSIyIiBjbGFzcz0idmFsdWUiPjxzZWxlY3QgaWQ9InByaW1hcnlMb2NhbGUi
IG5hbWU9InByaW1hcnlMb2NhbGUiIHNpemU9IjEiIGNsYXNzPSJzZWxlY3RNZW51Ij4KLQl7Zm9y
ZWFjaCBmcm9tPSRhdmFpbGFibGVMb2NhbGVzIGtleT1sb2NhbGVLZXkgaXRlbT1sb2NhbGVOYW1l
fQotCQk8b3B0aW9uIHZhbHVlPSJ7JGxvY2FsZUtleXxlc2NhcGV9IntpZiAkbG9jYWxlS2V5ID09
ICRwcmltYXJ5TG9jYWxlfSBzZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+eyRsb2NhbGVOYW1lfGVz
Y2FwZX08L29wdGlvbj4KLQl7L2ZvcmVhY2h9Ci0JPC9zZWxlY3Q+PC90ZD4KKwk8dGQgd2lkdGg9
IjIwJSIgcm93c3Bhbj0iMiIgY2xhc3M9ImxhYmVsIj57ZmllbGRMYWJlbCBuYW1lPSJwcmltYXJ5
TG9jYWxlIiByZXF1aXJlZD0idHJ1ZSIga2V5PSJsb2NhbGUucHJpbWFyeSJ9PC90ZD4KKwk8dGQg
d2lkdGg9IjgwJSIgY29sc3Bhbj0iMyIgY2xhc3M9InZhbHVlIj4KKwkJPHNlbGVjdCBpZD0icHJp
bWFyeUxvY2FsZSIgbmFtZT0icHJpbWFyeUxvY2FsZSIgc2l6ZT0iMSIgY2xhc3M9InNlbGVjdE1l
bnUiPgorCQkJe2h0bWxfb3B0aW9ucyBvcHRpb25zPSRhdmFpbGFibGVMb2NhbGVzIHNlbGVjdGVk
PSRwcmltYXJ5TG9jYWxlfQorCQk8L3NlbGVjdD4KKwk8L3RkPgogPC90cj4KIDx0ciB2YWxpZ249
InRvcCI+Ci0JPHRkPiZuYnNwOzwvdGQ+Ci0JPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJ2YWx1ZSI+
PHNwYW4gY2xhc3M9Imluc3RydWN0Ij57dHJhbnNsYXRlIGtleT0ibWFuYWdlci5sYW5ndWFnZXMu
cHJpbWFyeUxvY2FsZUluc3RydWN0aW9ucyJ9PC9zcGFuPjwvdGQ+CisJPHRkIGNvbHNwYW49IjMi
IGNsYXNzPSJ2YWx1ZSI+PHNwYW4gY2xhc3M9Imluc3RydWN0Ij57dHJhbnNsYXRlIGtleT0ibWFu
YWdlci5sYW5ndWFnZXMucHJpbWFyeUxvY2FsZUluc3RydWN0aW9ucyJ9PC9zcGFuPjwvdGQ+CiA8
L3RyPgogPHRyIHZhbGlnbj0idG9wIj4KLQk8dGQgY2xhc3M9ImxhYmVsIj57ZmllbGRMYWJlbCBz
dXBwcmVzc0lkPSJ0cnVlIiBuYW1lPSJzdXBwb3J0ZWRMb2NhbGVzIiBrZXk9ImxvY2FsZS5zdXBw
b3J0ZWQifTwvdGQ+Ci0JPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJ2YWx1ZSI+CisJPHRkIGNsYXNz
PSJsYWJlbCIgcm93c3Bhbj0iMiI+e2ZpZWxkTGFiZWwgc3VwcHJlc3NJZD0idHJ1ZSIgbmFtZT0i
c3VwcG9ydGVkTG9jYWxlcyIga2V5PSJsb2NhbGUuc3VwcG9ydGVkIn08L3RkPgorCTx0ZCBjb2xz
cGFuPSIzIiBjbGFzcz0idmFsdWUiPgogCQk8dGFibGUgY2xhc3M9ImRhdGEiIHdpZHRoPSIxMDAl
Ij4KKwkJPHRyIHZhbGlnbj0idG9wIj4KKwkJCTx0ZCB3aWR0aD0iMjAlIj4mbmJzcDs8L3RkPgor
CQkJPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMCUiPnt0cmFuc2xhdGUga2V5PSJtYW5hZ2Vy
Lmxhbmd1YWdlLnVpIn08L3RkPgorCQkJPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMCUiPnt0
cmFuc2xhdGUga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLmZvcm1zIn08L3RkPgorCQkJPHRkIHdpZHRo
PSI2MCUiPiZuYnNwOzwvdGQ+CisJCTwvdHI+CiAJCXtmb3JlYWNoIGZyb209JGF2YWlsYWJsZUxv
Y2FsZXMga2V5PWxvY2FsZUtleSBpdGVtPWxvY2FsZU5hbWV9CiAJCQk8dHI+Ci0JCQkJPHRkIHdp
ZHRoPSIzMCUiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ic3VwcG9ydGVkTG9jYWxlc1td
IiBpZD0ic3VwcG9ydGVkTG9jYWxlcy17JGxvY2FsZUtleXxlc2NhcGV9IiB2YWx1ZT0ieyRsb2Nh
bGVLZXl8ZXNjYXBlfSJ7aWYgaW5fYXJyYXkoJGxvY2FsZUtleSwgJHN1cHBvcnRlZExvY2FsZXMp
fSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4gPGxhYmVsIGZvcj0ic3VwcG9ydGVkTG9jYWxlcy17
JGxvY2FsZUtleXxlc2NhcGV9Ij57JGxvY2FsZU5hbWV8ZXNjYXBlfTwvbGFiZWw+PC90ZD4KLQkJ
CQk8dGQgd2lkdGg9IjcwJSI+PGEgaHJlZj0ie3VybCBvcD0icmVsb2FkTG9jYWxpemVkRGVmYXVs
dFNldHRpbmdzIiBsb2NhbGVUb0xvYWQ9JGxvY2FsZUtleX0iIG9uY2xpY2s9InJldHVybiBjb25m
aXJtKCd7dHJhbnNsYXRlfGVzY2FwZToianNwYXJhbSIga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLmNv
bmZpcm1EZWZhdWx0U2V0dGluZ3NPdmVyd3JpdGUifScpIiBjbGFzcz0iYWN0aW9uIj57dHJhbnNs
YXRlIGtleT0ibWFuYWdlci5sYW5ndWFnZS5yZWxvYWRMb2NhbGl6ZWREZWZhdWx0U2V0dGluZ3Mi
fTwvYT48L3RkPgorCQkJCTx0ZD57JGxvY2FsZU5hbWV8ZXNjYXBlfTwvdGQ+CisJCQkJPHRkIGFs
aWduPSJjZW50ZXIiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ic3VwcG9ydGVkTG9jYWxl
c1tdIiB2YWx1ZT0ieyRsb2NhbGVLZXl8ZXNjYXBlfSJ7aWYgaW5fYXJyYXkoJGxvY2FsZUtleSwg
JHN1cHBvcnRlZExvY2FsZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48L3RkPgorCQkJCTx0
ZCBhbGlnbj0iY2VudGVyIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InN1cHBvcnRlZEZv
cm1Mb2NhbGVzW10iIHZhbHVlPSJ7JGxvY2FsZUtleXxlc2NhcGV9IntpZiBpbl9hcnJheSgkbG9j
YWxlS2V5LCAkc3VwcG9ydGVkRm9ybUxvY2FsZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48
L3RkPgorCQkJCTx0ZD48YSBocmVmPSJ7dXJsIG9wPSJyZWxvYWRMb2NhbGl6ZWREZWZhdWx0U2V0
dGluZ3MiIGxvY2FsZVRvTG9hZD0kbG9jYWxlS2V5fSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0o
J3t0cmFuc2xhdGV8ZXNjYXBlOiJqc3BhcmFtIiBrZXk9Im1hbmFnZXIubGFuZ3VhZ2UuY29uZmly
bURlZmF1bHRTZXR0aW5nc092ZXJ3cml0ZSJ9JykiIGNsYXNzPSJhY3Rpb24iPnt0cmFuc2xhdGUg
a2V5PSJtYW5hZ2VyLmxhbmd1YWdlLnJlbG9hZExvY2FsaXplZERlZmF1bHRTZXR0aW5ncyJ9PC9h
PjwvdGQ+CiAJCQk8L3RyPgogCQl7L2ZvcmVhY2h9CiAJCTwvdGFibGU+CiAJPC90ZD4KIDwvdHI+
CiA8dHIgdmFsaWduPSJ0b3AiPgotCTx0ZD4mbmJzcDs8L3RkPgotCTx0ZCBjb2xzcGFuPSIyIiBj
bGFzcz0idmFsdWUiPjxzcGFuIGNsYXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0ZSBrZXk9Im1hbmFn
ZXIubGFuZ3VhZ2VzLnN1cHBvcnRlZExvY2FsZXNJbnN0cnVjdGlvbnMifTwvc3Bhbj48L3RkPgor
CTx0ZCBjb2xzcGFuPSIzIiBjbGFzcz0idmFsdWUiPjxzcGFuIGNsYXNzPSJpbnN0cnVjdCI+e3Ry
YW5zbGF0ZSBrZXk9Im1hbmFnZXIubGFuZ3VhZ2VzLnN1cHBvcnRlZExvY2FsZXNJbnN0cnVjdGlv
bnMifTwvc3Bhbj48L3RkPgogPC90cj4KIDwvdGFibGU+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2080</attachid>
            <date>2009-07-02 17:09:00 -0700</date>
            <delta_ts>2009-07-02 17:09:48 -0700</delta_ts>
            <desc>Patch against OMP pre-release</desc>
            <filename>3865.diff</filename>
            <type>text/plain</type>
            <size>10566</size>
            <attacher>alec</attacher>
            
              <data encoding="base64">ZGlmZiAtdSAtcjEuNiBMb2NhbGUuaW5jLnBocAotLS0gY2xhc3Nlcy9pMThuL0xvY2FsZS5pbmMu
cGhwCTEyIE1heSAyMDA5IDIwOjEyOjQzIC0wMDAwCTEuNgorKysgY2xhc3Nlcy9pMThuL0xvY2Fs
ZS5pbmMucGhwCTMgSnVsIDIwMDkgMDA6MDg6MTIgLTAwMDAKQEAgLTI3LDcgKzI3LDcgQEAKIAog
Y2xhc3MgTG9jYWxlIGV4dGVuZHMgUEtQTG9jYWxlIHsKIAkvKioKLQkgKiBHZXQgYWxsIHN1cHBv
cnRlZCBsb2NhbGVzIGZvciB0aGUgY3VycmVudCBjb250ZXh0LgorCSAqIEdldCBhbGwgc3VwcG9y
dGVkIFVJIGxvY2FsZXMgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuCiAJICogQHJldHVybiBhcnJh
eQogCSAqLwogCWZ1bmN0aW9uIGdldFN1cHBvcnRlZExvY2FsZXMoKSB7CkBAIC00Niw2ICs0Niwy
NSBAQAogCX0KIAogCS8qKgorCSAqIEdldCBhbGwgc3VwcG9ydGVkIGZvcm0gbG9jYWxlcyBmb3Ig
dGhlIGN1cnJlbnQgY29udGV4dC4KKwkgKiBAcmV0dXJuIGFycmF5CisJICovCisJZnVuY3Rpb24g
Z2V0U3VwcG9ydGVkRm9ybUxvY2FsZXMoKSB7CisJCXN0YXRpYyAkc3VwcG9ydGVkRm9ybUxvY2Fs
ZXM7CisJCWlmICghaXNzZXQoJHN1cHBvcnRlZEZvcm1Mb2NhbGVzKSkgeworCQkJaWYgKGRlZmlu
ZWQoJ1NFU1NJT05fRElTQUJMRV9JTklUJykgfHwgIUNvbmZpZzo6Z2V0VmFyKCdnZW5lcmFsJywg
J2luc3RhbGxlZCcpKSB7CisJCQkJJHN1cHBvcnRlZEZvcm1Mb2NhbGVzID0gTG9jYWxlOjpnZXRB
bGxMb2NhbGVzKCk7CisJCQl9IGVsc2VpZiAoKCRwcmVzcyA9JiBSZXF1ZXN0OjpnZXRQcmVzcygp
KSkgeworCQkJCSRzdXBwb3J0ZWRGb3JtTG9jYWxlcyA9ICRwcmVzcy0+Z2V0U3VwcG9ydGVkRm9y
bUxvY2FsZU5hbWVzKCk7CisJCQl9IGVsc2UgeworCQkJCSRzaXRlID0mIFJlcXVlc3Q6OmdldFNp
dGUoKTsKKwkJCQkkc3VwcG9ydGVkRm9ybUxvY2FsZXMgPSAkc2l0ZS0+Z2V0U3VwcG9ydGVkTG9j
YWxlTmFtZXMoKTsKKwkJCX0KKwkJfQorCQlyZXR1cm4gJHN1cHBvcnRlZEZvcm1Mb2NhbGVzOwor
CX0KKworCS8qKgogCSAqIFJldHVybiB0aGUga2V5IG5hbWUgb2YgdGhlIHVzZXIncyBjdXJyZW50
bHkgc2VsZWN0ZWQgbG9jYWxlIChkZWZhdWx0CiAJICogaXMgImVuX1VTIiBmb3IgVS5TLiBFbmds
aXNoKS4KIAkgKiBAcmV0dXJuIHN0cmluZyAKZGlmZiAtdSAtcjEuMyBMYW5ndWFnZVNldHRpbmdz
Rm9ybS5pbmMucGhwCi0tLSBjbGFzc2VzL21hbmFnZXIvZm9ybS9MYW5ndWFnZVNldHRpbmdzRm9y
bS5pbmMucGhwCTEyIE1heSAyMDA5IDIwOjEyOjQzIC0wMDAwCTEuMworKysgY2xhc3Nlcy9tYW5h
Z2VyL2Zvcm0vTGFuZ3VhZ2VTZXR0aW5nc0Zvcm0uaW5jLnBocAkzIEp1bCAyMDA5IDAwOjA4OjEy
IC0wMDAwCkBAIC0zMiw3ICszMiw4IEBACiAJCXBhcmVudDo6Rm9ybSgnbWFuYWdlci9sYW5ndWFn
ZVNldHRpbmdzLnRwbCcpOwogCiAJCSR0aGlzLT5zZXR0aW5ncyA9IGFycmF5KAotCQkJJ3N1cHBv
cnRlZExvY2FsZXMnID0+ICdvYmplY3QnCisJCQknc3VwcG9ydGVkTG9jYWxlcycgPT4gJ29iamVj
dCcsCisJCQknc3VwcG9ydGVkRm9ybUxvY2FsZXMnID0+ICdvYmplY3QnCiAJCSk7CiAKIAkJJHNp
dGUgPSYgUmVxdWVzdDo6Z2V0U2l0ZSgpOwpAQCAtNjgsOCArNjksMTAgQEAKIAogCQkkdGhpcy0+
c2V0RGF0YSgncHJpbWFyeUxvY2FsZScsICRwcmVzcy0+Z2V0UHJpbWFyeUxvY2FsZSgpKTsKIAot
CQlpZiAoJHRoaXMtPmdldERhdGEoJ3N1cHBvcnRlZExvY2FsZXMnKSA9PSBudWxsIHx8ICFpc19h
cnJheSgkdGhpcy0+Z2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycpKSkgewotCQkJJHRoaXMtPnNl
dERhdGEoJ3N1cHBvcnRlZExvY2FsZXMnLCBhcnJheSgpKTsKKwkJZm9yZWFjaCAoYXJyYXkoJ3N1
cHBvcnRlZEZvcm1Mb2NhbGVzJywgJ3N1cHBvcnRlZExvY2FsZXMnKSBhcyAkbmFtZSkgeworCQkJ
aWYgKCR0aGlzLT5nZXREYXRhKCRuYW1lKSA9PSBudWxsIHx8ICFpc19hcnJheSgkdGhpcy0+Z2V0
RGF0YSgkbmFtZSkpKSB7CisJCQkJJHRoaXMtPnNldERhdGEoJG5hbWUsIGFycmF5KCkpOworCQkJ
fQogCQl9CiAJfQogCkBAIC04MSw4ICs4NCwxMCBAQAogCQkkdmFyc1tdID0gJ3ByaW1hcnlMb2Nh
bGUnOwogCQkkdGhpcy0+cmVhZFVzZXJWYXJzKCR2YXJzKTsKIAotCQlpZiAoJHRoaXMtPmdldERh
dGEoJ3N1cHBvcnRlZExvY2FsZXMnKSA9PSBudWxsIHx8ICFpc19hcnJheSgkdGhpcy0+Z2V0RGF0
YSgnc3VwcG9ydGVkTG9jYWxlcycpKSkgewotCQkJJHRoaXMtPnNldERhdGEoJ3N1cHBvcnRlZExv
Y2FsZXMnLCBhcnJheSgpKTsKKwkJZm9yZWFjaCAoYXJyYXkoJ3N1cHBvcnRlZEZvcm1Mb2NhbGVz
JywgJ3N1cHBvcnRlZExvY2FsZXMnKSBhcyAkbmFtZSkgeworCQkJaWYgKCR0aGlzLT5nZXREYXRh
KCRuYW1lKSA9PSBudWxsIHx8ICFpc19hcnJheSgkdGhpcy0+Z2V0RGF0YSgkbmFtZSkpKSB7CisJ
CQkJJHRoaXMtPnNldERhdGEoJG5hbWUsIGFycmF5KCkpOworCQkJfQogCQl9CiAJfQogCkBAIC05
NCwxOSArOTksMjcgQEAKIAkJJHNldHRpbmdzRGFvID0mIERBT1JlZ2lzdHJ5OjpnZXREQU8oJ1By
ZXNzU2V0dGluZ3NEQU8nKTsKIAogCQkvLyBWZXJpZnkgYWRkaXRpb25hbCBsb2NhbGVzCi0JCSRz
dXBwb3J0ZWRMb2NhbGVzID0gYXJyYXkoKTsKLQkJZm9yZWFjaCAoJHRoaXMtPmdldERhdGEoJ3N1
cHBvcnRlZExvY2FsZXMnKSBhcyAkbG9jYWxlKSB7Ci0JCQlpZiAoTG9jYWxlOjppc0xvY2FsZVZh
bGlkKCRsb2NhbGUpICYmIGluX2FycmF5KCRsb2NhbGUsICR0aGlzLT5hdmFpbGFibGVMb2NhbGVz
KSkgewotCQkJCWFycmF5X3B1c2goJHN1cHBvcnRlZExvY2FsZXMsICRsb2NhbGUpOworCQlmb3Jl
YWNoIChhcnJheSgnc3VwcG9ydGVkTG9jYWxlcycsICdzdXBwb3J0ZWRGb3JtTG9jYWxlcycpIGFz
ICRuYW1lKSB7CisJCQkkJG5hbWUgPSBhcnJheSgpOworCQkJZm9yZWFjaCAoJHRoaXMtPmdldERh
dGEoJG5hbWUpIGFzICRsb2NhbGUpIHsKKwkJCQlpZiAoTG9jYWxlOjppc0xvY2FsZVZhbGlkKCRs
b2NhbGUpICYmIGluX2FycmF5KCRsb2NhbGUsICR0aGlzLT5hdmFpbGFibGVMb2NhbGVzKSkgewor
CQkJCQlhcnJheV9wdXNoKCQkbmFtZSwgJGxvY2FsZSk7CisJCQkJfQogCQkJfQogCQl9CiAKIAkJ
JHByaW1hcnlMb2NhbGUgPSAkdGhpcy0+Z2V0RGF0YSgncHJpbWFyeUxvY2FsZScpOwogCi0JCWlm
ICgkcHJpbWFyeUxvY2FsZSAhPSBudWxsICYmICFlbXB0eSgkcHJpbWFyeUxvY2FsZSkgJiYgIWlu
X2FycmF5KCRwcmltYXJ5TG9jYWxlLCAkc3VwcG9ydGVkTG9jYWxlcykpIHsKLQkJCWFycmF5X3B1
c2goJHN1cHBvcnRlZExvY2FsZXMsICRwcmltYXJ5TG9jYWxlKTsKKwkJLy8gTWFrZSBzdXJlIGF0
IGxlYXN0IHRoZSBwcmltYXJ5IGxvY2FsZSBpcyBjaG9zZW4gYXMgYXZhaWxhYmxlCisJCWlmICgk
cHJpbWFyeUxvY2FsZSAhPSBudWxsICYmICFlbXB0eSgkcHJpbWFyeUxvY2FsZSkpIHsKKwkJCWZv
cmVhY2ggKGFycmF5KCdzdXBwb3J0ZWRMb2NhbGVzJywgJ3N1cHBvcnRlZEZvcm1Mb2NhbGVzJykg
YXMgJG5hbWUpIHsKKwkJCQlpZiAoIWluX2FycmF5KCRwcmltYXJ5TG9jYWxlLCAkJG5hbWUpKSB7
CisJCQkJCWFycmF5X3B1c2goJCRuYW1lLCAkcHJpbWFyeUxvY2FsZSk7CisJCQkJfQorCQkJfQog
CQl9CiAJCSR0aGlzLT5zZXREYXRhKCdzdXBwb3J0ZWRMb2NhbGVzJywgJHN1cHBvcnRlZExvY2Fs
ZXMpOworCQkkdGhpcy0+c2V0RGF0YSgnc3VwcG9ydGVkRm9ybUxvY2FsZXMnLCAkc3VwcG9ydGVk
Rm9ybUxvY2FsZXMpOwogCiAJCWZvcmVhY2ggKCR0aGlzLT5fZGF0YSBhcyAkbmFtZSA9PiAkdmFs
dWUpIHsKIAkJCWlmICghaW5fYXJyYXkoJG5hbWUsIGFycmF5X2tleXMoJHRoaXMtPnNldHRpbmdz
KSkpIGNvbnRpbnVlOwpAQCAtMTIyLDcgKzEzNSw2IEBACiAJCSRwcmVzcy0+c2V0UHJpbWFyeUxv
Y2FsZSgkdGhpcy0+Z2V0RGF0YSgncHJpbWFyeUxvY2FsZScpKTsKIAkJJHByZXNzRGFvLT51cGRh
dGVQcmVzcygkcHJlc3MpOwogCX0KLQogfQogCiA/PgpkaWZmIC11IC1yMS41IFByZXNzLmluYy5w
aHAKLS0tIGNsYXNzZXMvcHJlc3MvUHJlc3MuaW5jLnBocAkyMyBKdW4gMjAwOSAwMTo0MDoyOSAt
MDAwMAkxLjUKKysrIGNsYXNzZXMvcHJlc3MvUHJlc3MuaW5jLnBocAkzIEp1bCAyMDA5IDAwOjA4
OjEzIC0wMDAwCkBAIC0xODgsNiArMTg4LDMxIEBACiAJCXJldHVybiAkcmV0dXJuZXI7CiAJfQog
CS8qKgorCSAqIFJldHVybiBhc3NvY2lhdGl2ZSBhcnJheSBvZiBhbGwgbG9jYWxlcyBzdXBwb3J0
ZWQgYnkgZm9ybXMgb24gdGhlIHNpdGUuCisJICogVGhlc2UgbG9jYWxlcyBhcmUgdXNlZCB0byBw
cm92aWRlIGEgbGFuZ3VhZ2UgdG9nZ2xlIG9uIHRoZSBtYWluIHNpdGUgcGFnZXMuCisJICogQHJl
dHVybiBhcnJheQorCSAqLworCWZ1bmN0aW9uICZnZXRTdXBwb3J0ZWRGb3JtTG9jYWxlTmFtZXMo
KSB7CisJCSRzdXBwb3J0ZWRMb2NhbGVzID0mICR0aGlzLT5nZXREYXRhKCdzdXBwb3J0ZWRGb3Jt
TG9jYWxlcycpOworCisJCWlmICghaXNzZXQoJHN1cHBvcnRlZExvY2FsZXMpKSB7CisJCQkkc3Vw
cG9ydGVkTG9jYWxlcyA9IGFycmF5KCk7CisJCQkkbG9jYWxlTmFtZXMgPSYgTG9jYWxlOjpnZXRB
bGxMb2NhbGVzKCk7CisKKwkJCSRsb2NhbGVzID0gJHRoaXMtPmdldFNldHRpbmcoJ3N1cHBvcnRl
ZEZvcm1Mb2NhbGVzJyk7CisJCQlpZiAoIWlzc2V0KCRsb2NhbGVzKSB8fCAhaXNfYXJyYXkoJGxv
Y2FsZXMpKSB7CisJCQkJJGxvY2FsZXMgPSBhcnJheSgpOworCQkJfQorCisJCQlmb3JlYWNoICgk
bG9jYWxlcyBhcyAkbG9jYWxlS2V5KSB7CisJCQkJJHN1cHBvcnRlZExvY2FsZXNbJGxvY2FsZUtl
eV0gPSAkbG9jYWxlTmFtZXNbJGxvY2FsZUtleV07CisJCQl9CisJCX0KKworCQlyZXR1cm4gJHN1
cHBvcnRlZExvY2FsZXM7CisJfQorCisJLyoqCiAJICogR2V0ICJsb2NhbGl6ZWQiIHByZXNzIHBh
Z2UgdGl0bGUgKGlmIGFwcGxpY2FibGUpLgogCSAqIHBhcmFtICRob21lIGJvb2xlYW4gZ2V0IGhv
bWVwYWdlIHRpdGxlCiAJICogQHJldHVybiBzdHJpbmcKZGlmZiAtdSAtcjEuMTIgbWFuYWdlci54
bWwKLS0tIGxvY2FsZS9lbl9VUy9tYW5hZ2VyLnhtbAkzMCBKdW4gMjAwOSAwMToxNjozMyAtMDAw
MAkxLjEyCisrKyBsb2NhbGUvZW5fVVMvbWFuYWdlci54bWwJMyBKdWwgMjAwOSAwMDowODoxNSAt
MDAwMApAQCAtNDQsNiArNDQsOCBAQAogCTxtZXNzYWdlIGtleT0ibWFuYWdlci5ncm91cHMuZW5h
YmxlQm9hcmQuZGVzY3JpcHRpb24iPjwhW0NEQVRBW1VuZGVyIDxhIGhyZWY9InskYWJvdXRFZGl0
b3JpYWxUZWFtVXJsfSI+UGVvcGxlPC9hPiBpbiBBYm91dCB0aGUgUHJlc3M6XV0+PC9tZXNzYWdl
Pg0KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIuZ3JvdXBzLm5vbmVDcmVhdGVkIj5ObyBlZGl0b3Jp
YWwgdGVhbSBwb3NpdGlvbnMgaGF2ZSBiZWVuIGNyZWF0ZWQuPC9tZXNzYWdlPg0KIAk8bWVzc2Fn
ZSBrZXk9Im1hbmFnZXIucHJlc3NNYW5hZ2VtZW50Ij5QcmVzcyBNYW5hZ2VtZW50PC9tZXNzYWdl
Pg0KKyAJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLnVpIj5VSTwvbWVzc2FnZT4NCisg
CTxtZXNzYWdlIGtleT0ibWFuYWdlci5sYW5ndWFnZS5mb3JtcyI+Rm9ybXM8L21lc3NhZ2U+DQog
CTxtZXNzYWdlIGtleT0ibWFuYWdlci5sYW5ndWFnZS5jb25maXJtRGVmYXVsdFNldHRpbmdzT3Zl
cndyaXRlIj5UaGlzIHdpbGwgcmVwbGFjZSBhbnkgbG9jYWxlLXNwZWNpZmljIHByZXNzIHNldHRp
bmdzIHlvdSBoYWQgZm9yIHRoaXMgbG9jYWxlPC9tZXNzYWdlPg0KIAk8bWVzc2FnZSBrZXk9Im1h
bmFnZXIubGFuZ3VhZ2UucmVsb2FkTG9jYWxpemVkRGVmYXVsdFNldHRpbmdzIj5SZWxvYWQgbG9j
YWxlLXNwZWNpZmljIGRlZmF1bHQgc2V0dGluZ3M8L21lc3NhZ2U+DQogCTxtZXNzYWdlIGtleT0i
bWFuYWdlci5sYW5ndWFnZXMubGFuZ3VhZ2VJbnN0cnVjdGlvbnMiPjwhW0NEQVRBW09NUCBjYW4g
YmUgbWFkZSBhdmFpbGFibGUgdG8gdXNlcnMgaW4gYW55IG9mIHNldmVyYWwgc3VwcG9ydGVkIGxh
bmd1YWdlcy4gQXMgd2VsbCwgT01QIGNhbiBvcGVyYXRlIGFzIGEgbXVsdGlsaW5ndWFsIHN5c3Rl
bSwgcHJvdmlkaW5nIHVzZXJzIHdpdGggYW4gYWJpbGl0eSB0byB0b2dnbGUgYmV0d2VlbiBsYW5n
dWFnZXMgb24gZWFjaCBwYWdlLCBhbmQgYWxsb3dpbmcgY2VydGFpbiBkYXRhIHRvIGJlIGVudGVy
ZWQgaW4gc2V2ZXJhbCBhZGRpdGlvbmFsIGxhbmd1YWdlcy48YnIgLz48YnIvPklmIGEgbGFuZ3Vh
Z2Ugc3VwcG9ydGVkIGJ5IE9NUCBpcyBub3QgbGlzdGVkIGJlbG93LCBhc2sgeW91ciBzaXRlIGFk
bWluaXN0cmF0b3IgdG8gaW5zdGFsbCB0aGUgbGFuZ3VhZ2UgZnJvbSB0aGUgc2l0ZSBhZG1pbmlz
dHJhdGlvbiBpbnRlcmZhY2UuIEZvciBpbnN0cnVjdGlvbnMgb24gYWRkaW5nIHN1cHBvcnQgZm9y
IG5ldyBsYW5ndWFnZXMsIHBsZWFzZSBjb25zdWx0IHRoZSBPTVAgZG9jdW1lbnRhdGlvbi5dXT48
L21lc3NhZ2U+DQpAQCAtNDYxLDQgKzQ2Myw0IEBACiAJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLnN0
YXRpc3RpY3Muc3RhdGlzdGljcy5yZXZpZXdzUGVyUmV2aWV3ZXIiPk5vLiBvZiByZXZpZXdzPC9t
ZXNzYWdlPg0KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIuc3RhdGlzdGljcy5zdGF0aXN0aWNzLnNl
bGVjdFNlY3Rpb25zIj5TZWxlY3QgdGhlIHNlY3Rpb25zIGZvciBjYWxjdWxhdGluZyB0aGlzIHBy
ZXNzJ3MgcGVlci1yZXZpZXdlZCBzdGF0aXN0aWNzLjwvbWVzc2FnZT4NCiAJPG1lc3NhZ2Uga2V5
PSJtYW5hZ2VyLnBlb3BsZS5zaG93Tm9Sb2xlIj5TaG93IHVzZXJzIHdpdGggbm8gcm9sZTwvbWVz
c2FnZT4NCi08L2xvY2FsZT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2xvY2FsZT4N
CmRpZmYgLXUgLXIxLjEuMS4xIGxhbmd1YWdlU2V0dGluZ3MudHBsCi0tLSB0ZW1wbGF0ZXMvbWFu
YWdlci9sYW5ndWFnZVNldHRpbmdzLnRwbAkyMCBPY3QgMjAwOCAyMToyNzowOSAtMDAwMAkxLjEu
MS4xCisrKyB0ZW1wbGF0ZXMvbWFuYWdlci9sYW5ndWFnZVNldHRpbmdzLnRwbAkzIEp1bCAyMDA5
IDAwOjA4OjE3IC0wMDAwCkBAIC0yMiwzMyArMjIsMzkgQEAKIAogPHRhYmxlIGNsYXNzPSJkYXRh
IiB3aWR0aD0iMTAwJSI+CiA8dHIgdmFsaWduPSJ0b3AiPgotCTx0ZCB3aWR0aD0iMjAlIiBjbGFz
cz0ibGFiZWwiPntmaWVsZExhYmVsIG5hbWU9InByaW1hcnlMb2NhbGUiIHJlcXVpcmVkPSJ0cnVl
IiBrZXk9ImxvY2FsZS5wcmltYXJ5In08L3RkPgotCTx0ZCB3aWR0aD0iODAlIiBjb2xzcGFuPSIy
IiBjbGFzcz0idmFsdWUiPjxzZWxlY3QgaWQ9InByaW1hcnlMb2NhbGUiIG5hbWU9InByaW1hcnlM
b2NhbGUiIHNpemU9IjEiIGNsYXNzPSJzZWxlY3RNZW51Ij4KLQl7Zm9yZWFjaCBmcm9tPSRhdmFp
bGFibGVMb2NhbGVzIGtleT1sb2NhbGVLZXkgaXRlbT1sb2NhbGVOYW1lfQotCQk8b3B0aW9uIHZh
bHVlPSJ7JGxvY2FsZUtleXxlc2NhcGV9IntpZiAkbG9jYWxlS2V5ID09ICRwcmltYXJ5TG9jYWxl
fSBzZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+eyRsb2NhbGVOYW1lfGVzY2FwZX08L29wdGlvbj4K
LQl7L2ZvcmVhY2h9Ci0JPC9zZWxlY3Q+PC90ZD4KKwk8dGQgd2lkdGg9IjIwJSIgcm93c3Bhbj0i
MiIgY2xhc3M9ImxhYmVsIj57ZmllbGRMYWJlbCBuYW1lPSJwcmltYXJ5TG9jYWxlIiByZXF1aXJl
ZD0idHJ1ZSIga2V5PSJsb2NhbGUucHJpbWFyeSJ9PC90ZD4KKwk8dGQgd2lkdGg9IjgwJSIgY29s
c3Bhbj0iMyIgY2xhc3M9InZhbHVlIj4KKwkJPHNlbGVjdCBpZD0icHJpbWFyeUxvY2FsZSIgbmFt
ZT0icHJpbWFyeUxvY2FsZSIgc2l6ZT0iMSIgY2xhc3M9InNlbGVjdE1lbnUiPgorCQkJe2h0bWxf
b3B0aW9ucyBvcHRpb25zPSRhdmFpbGFibGVMb2NhbGVzIHNlbGVjdGVkPSRwcmltYXJ5TG9jYWxl
fQorCQk8L3NlbGVjdD4KKwk8L3RkPgogPC90cj4KIDx0ciB2YWxpZ249InRvcCI+Ci0JPHRkPiZu
YnNwOzwvdGQ+Ci0JPHRkIGNvbHNwYW49IjIiIGNsYXNzPSJ2YWx1ZSI+PHNwYW4gY2xhc3M9Imlu
c3RydWN0Ij57dHJhbnNsYXRlIGtleT0ibWFuYWdlci5sYW5ndWFnZXMucHJpbWFyeUxvY2FsZUlu
c3RydWN0aW9ucyJ9PC9zcGFuPjwvdGQ+CisJPHRkIGNvbHNwYW49IjMiIGNsYXNzPSJ2YWx1ZSI+
PHNwYW4gY2xhc3M9Imluc3RydWN0Ij57dHJhbnNsYXRlIGtleT0ibWFuYWdlci5sYW5ndWFnZXMu
cHJpbWFyeUxvY2FsZUluc3RydWN0aW9ucyJ9PC9zcGFuPjwvdGQ+CiA8L3RyPgogPHRyIHZhbGln
bj0idG9wIj4KLQk8dGQgY2xhc3M9ImxhYmVsIj57ZmllbGRMYWJlbCBzdXBwcmVzc0lkPSJ0cnVl
IiBuYW1lPSJzdXBwb3J0ZWRMb2NhbGVzIiBrZXk9ImxvY2FsZS5zdXBwb3J0ZWQifTwvdGQ+Ci0J
PHRkIGNvbHNwYW49IjIiIGNsYXNzPSJ2YWx1ZSI+CisJPHRkIGNsYXNzPSJsYWJlbCIgcm93c3Bh
bj0iMiI+e2ZpZWxkTGFiZWwgc3VwcHJlc3NJZD0idHJ1ZSIgbmFtZT0ic3VwcG9ydGVkTG9jYWxl
cyIga2V5PSJsb2NhbGUuc3VwcG9ydGVkIn08L3RkPgorCTx0ZCBjb2xzcGFuPSIzIiBjbGFzcz0i
dmFsdWUiPgogCQk8dGFibGUgY2xhc3M9ImRhdGEiIHdpZHRoPSIxMDAlIj4KKwkJPHRyIHZhbGln
bj0idG9wIj4KKwkJCTx0ZCB3aWR0aD0iMjAlIj4mbmJzcDs8L3RkPgorCQkJPHRkIGFsaWduPSJj
ZW50ZXIiIHdpZHRoPSIxMCUiPnt0cmFuc2xhdGUga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLnVpIn08
L3RkPgorCQkJPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMCUiPnt0cmFuc2xhdGUga2V5PSJt
YW5hZ2VyLmxhbmd1YWdlLmZvcm1zIn08L3RkPgorCQkJPHRkIHdpZHRoPSI2MCUiPiZuYnNwOzwv
dGQ+CisJCTwvdHI+CiAJCXtmb3JlYWNoIGZyb209JGF2YWlsYWJsZUxvY2FsZXMga2V5PWxvY2Fs
ZUtleSBpdGVtPWxvY2FsZU5hbWV9CiAJCQk8dHI+Ci0JCQkJPHRkIHdpZHRoPSIzMCUiPjxpbnB1
dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ic3VwcG9ydGVkTG9jYWxlc1tdIiBpZD0ic3VwcG9ydGVk
TG9jYWxlcy17JGxvY2FsZUtleXxlc2NhcGV9IiB2YWx1ZT0ieyRsb2NhbGVLZXl8ZXNjYXBlfSJ7
aWYgaW5fYXJyYXkoJGxvY2FsZUtleSwgJHN1cHBvcnRlZExvY2FsZXMpfSBjaGVja2VkPSJjaGVj
a2VkInsvaWZ9Lz4gPGxhYmVsIGZvcj0ic3VwcG9ydGVkTG9jYWxlcy17JGxvY2FsZUtleXxlc2Nh
cGV9Ij57JGxvY2FsZU5hbWV8ZXNjYXBlfTwvbGFiZWw+PC90ZD4KLQkJCQk8dGQgd2lkdGg9Ijcw
JSI+PGEgaHJlZj0ie3VybCBvcD0icmVsb2FkTG9jYWxpemVkRGVmYXVsdFNldHRpbmdzIiBsb2Nh
bGVUb0xvYWQ9JGxvY2FsZUtleX0iIG9uY2xpY2s9InJldHVybiBjb25maXJtKCd7dHJhbnNsYXRl
fGVzY2FwZToianNwYXJhbSIga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLmNvbmZpcm1EZWZhdWx0U2V0
dGluZ3NPdmVyd3JpdGUifScpIiBjbGFzcz0iYWN0aW9uIj57dHJhbnNsYXRlIGtleT0ibWFuYWdl
ci5sYW5ndWFnZS5yZWxvYWRMb2NhbGl6ZWREZWZhdWx0U2V0dGluZ3MifTwvYT48L3RkPgorCQkJ
CTx0ZD57JGxvY2FsZU5hbWV8ZXNjYXBlfTwvdGQ+CisJCQkJPHRkIGFsaWduPSJjZW50ZXIiPjxp
bnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ic3VwcG9ydGVkTG9jYWxlc1tdIiB2YWx1ZT0ieyRs
b2NhbGVLZXl8ZXNjYXBlfSJ7aWYgaW5fYXJyYXkoJGxvY2FsZUtleSwgJHN1cHBvcnRlZExvY2Fs
ZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48L3RkPgorCQkJCTx0ZCBhbGlnbj0iY2VudGVy
Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InN1cHBvcnRlZEZvcm1Mb2NhbGVzW10iIHZh
bHVlPSJ7JGxvY2FsZUtleXxlc2NhcGV9IntpZiBpbl9hcnJheSgkbG9jYWxlS2V5LCAkc3VwcG9y
dGVkRm9ybUxvY2FsZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48L3RkPgorCQkJCTx0ZD48
YSBocmVmPSJ7dXJsIG9wPSJyZWxvYWRMb2NhbGl6ZWREZWZhdWx0U2V0dGluZ3MiIGxvY2FsZVRv
TG9hZD0kbG9jYWxlS2V5fSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3t0cmFuc2xhdGV8ZXNj
YXBlOiJqc3BhcmFtIiBrZXk9Im1hbmFnZXIubGFuZ3VhZ2UuY29uZmlybURlZmF1bHRTZXR0aW5n
c092ZXJ3cml0ZSJ9JykiIGNsYXNzPSJhY3Rpb24iPnt0cmFuc2xhdGUga2V5PSJtYW5hZ2VyLmxh
bmd1YWdlLnJlbG9hZExvY2FsaXplZERlZmF1bHRTZXR0aW5ncyJ9PC9hPjwvdGQ+CiAJCQk8L3Ry
PgogCQl7L2ZvcmVhY2h9CiAJCTwvdGFibGU+CiAJPC90ZD4KIDwvdHI+CiA8dHIgdmFsaWduPSJ0
b3AiPgotCTx0ZD4mbmJzcDs8L3RkPgotCTx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0idmFsdWUiPjxz
cGFuIGNsYXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0ZSBrZXk9Im1hbmFnZXIubGFuZ3VhZ2VzLnN1
cHBvcnRlZExvY2FsZXNJbnN0cnVjdGlvbnMifTwvc3Bhbj48L3RkPgorCTx0ZCBjb2xzcGFuPSIz
IiBjbGFzcz0idmFsdWUiPjxzcGFuIGNsYXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0ZSBrZXk9Im1h
bmFnZXIubGFuZ3VhZ2VzLnN1cHBvcnRlZExvY2FsZXNJbnN0cnVjdGlvbnMifTwvc3Bhbj48L3Rk
PgogPC90cj4KIDwvdGFibGU+CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2082</attachid>
            <date>2009-07-03 09:04:00 -0700</date>
            <delta_ts>2009-07-03 09:04:35 -0700</delta_ts>
            <desc>Patch against OCS pre-2.3 CVS</desc>
            <filename>3608.diff</filename>
            <type>text/plain</type>
            <size>9818</size>
            <attacher>alec</attacher>
            
              <data encoding="base64">ZGlmZiAtdSAtcjEuMTIgQ29uZmVyZW5jZS5pbmMucGhwCi0tLSBjbGFzc2VzL2NvbmZlcmVuY2Uv
Q29uZmVyZW5jZS5pbmMucGhwCTI3IE1heSAyMDA5IDIwOjI1OjUwIC0wMDAwCTEuMTIKKysrIGNs
YXNzZXMvY29uZmVyZW5jZS9Db25mZXJlbmNlLmluYy5waHAJMyBKdWwgMjAwOSAwMDozNTo1MSAt
MDAwMApAQCAtMjQwLDYgKzI0MCwzMSBAQAogCX0KIAogCS8qKgorCSAqIFJldHVybiBhc3NvY2lh
dGl2ZSBhcnJheSBvZiBhbGwgbG9jYWxlcyBzdXBwb3J0ZWQgYnkgZm9ybXMgb24gdGhlIHNpdGUu
CisJICogVGhlc2UgbG9jYWxlcyBhcmUgdXNlZCB0byBwcm92aWRlIGEgbGFuZ3VhZ2UgdG9nZ2xl
IG9uIHRoZSBtYWluIHNpdGUgcGFnZXMuCisJICogQHJldHVybiBhcnJheQorCSAqLworCWZ1bmN0
aW9uICZnZXRTdXBwb3J0ZWRGb3JtTG9jYWxlTmFtZXMoKSB7CisJCSRzdXBwb3J0ZWRMb2NhbGVz
ID0mICR0aGlzLT5nZXREYXRhKCdzdXBwb3J0ZWRGb3JtTG9jYWxlcycpOworCisJCWlmICghaXNz
ZXQoJHN1cHBvcnRlZExvY2FsZXMpKSB7CisJCQkkc3VwcG9ydGVkTG9jYWxlcyA9IGFycmF5KCk7
CisJCQkkbG9jYWxlTmFtZXMgPSYgTG9jYWxlOjpnZXRBbGxMb2NhbGVzKCk7CisKKwkJCSRsb2Nh
bGVzID0gJHRoaXMtPmdldFNldHRpbmcoJ3N1cHBvcnRlZEZvcm1Mb2NhbGVzJyk7CisJCQlpZiAo
IWlzc2V0KCRsb2NhbGVzKSB8fCAhaXNfYXJyYXkoJGxvY2FsZXMpKSB7CisJCQkJJGxvY2FsZXMg
PSBhcnJheSgpOworCQkJfQorCisJCQlmb3JlYWNoICgkbG9jYWxlcyBhcyAkbG9jYWxlS2V5KSB7
CisJCQkJJHN1cHBvcnRlZExvY2FsZXNbJGxvY2FsZUtleV0gPSAkbG9jYWxlTmFtZXNbJGxvY2Fs
ZUtleV07CisJCQl9CisJCX0KKworCQlyZXR1cm4gJHN1cHBvcnRlZExvY2FsZXM7CisJfQorCisJ
LyoqCiAJICogR2V0ICJsb2NhbGl6ZWQiIGNvbmZlcmVuY2UgcGFnZSB0aXRsZSAoaWYgYXBwbGlj
YWJsZSkuCiAJICogcGFyYW0gJGhvbWUgYm9vbGVhbiBnZXQgaG9tZXBhZ2UgdGl0bGUKIAkgKiBA
cmV0dXJuIHN0cmluZwpkaWZmIC11IC1yMS4yMiBMb2NhbGUuaW5jLnBocAotLS0gY2xhc3Nlcy9p
MThuL0xvY2FsZS5pbmMucGhwCTEyIE1heSAyMDA5IDE5OjM3OjUwIC0wMDAwCTEuMjIKKysrIGNs
YXNzZXMvaTE4bi9Mb2NhbGUuaW5jLnBocAkzIEp1bCAyMDA5IDAwOjM1OjUyIC0wMDAwCkBAIC0y
Nyw3ICsyNyw3IEBACiAKIGNsYXNzIExvY2FsZSBleHRlbmRzIFBLUExvY2FsZSB7CiAJLyoqCi0J
ICogR2V0IGFsbCBzdXBwb3J0ZWQgbG9jYWxlcyBmb3IgdGhlIGN1cnJlbnQgY29udGV4dC4KKwkg
KiBHZXQgYWxsIHN1cHBvcnRlZCBVSSBsb2NhbGVzIGZvciB0aGUgY3VycmVudCBjb250ZXh0Lgog
CSAqIEByZXR1cm4gYXJyYXkKIAkgKi8KIAlmdW5jdGlvbiBnZXRTdXBwb3J0ZWRMb2NhbGVzKCkg
ewpAQCAtNDYsNiArNDYsMjUgQEAKIAl9CiAKIAkvKioKKwkgKiBHZXQgYWxsIHN1cHBvcnRlZCBm
b3JtIGxvY2FsZXMgZm9yIHRoZSBjdXJyZW50IGNvbnRleHQuCisJICogQHJldHVybiBhcnJheQor
CSAqLworCWZ1bmN0aW9uIGdldFN1cHBvcnRlZEZvcm1Mb2NhbGVzKCkgeworCQlzdGF0aWMgJHN1
cHBvcnRlZEZvcm1Mb2NhbGVzOworCQlpZiAoIWlzc2V0KCRzdXBwb3J0ZWRGb3JtTG9jYWxlcykp
IHsKKwkJCWlmIChkZWZpbmVkKCdTRVNTSU9OX0RJU0FCTEVfSU5JVCcpIHx8ICFDb25maWc6Omdl
dFZhcignZ2VuZXJhbCcsICdpbnN0YWxsZWQnKSkgeworCQkJCSRzdXBwb3J0ZWRGb3JtTG9jYWxl
cyA9IExvY2FsZTo6Z2V0QWxsTG9jYWxlcygpOworCQkJfSBlbHNlaWYgKCgkY29uZmVyZW5jZSA9
JiBSZXF1ZXN0OjpnZXRDb25mZXJlbmNlKCkpKSB7CisJCQkJJHN1cHBvcnRlZEZvcm1Mb2NhbGVz
ID0gJGNvbmZlcmVuY2UtPmdldFN1cHBvcnRlZEZvcm1Mb2NhbGVOYW1lcygpOworCQkJfSBlbHNl
IHsKKwkJCQkkc2l0ZSA9JiBSZXF1ZXN0OjpnZXRTaXRlKCk7CisJCQkJJHN1cHBvcnRlZEZvcm1M
b2NhbGVzID0gJHNpdGUtPmdldFN1cHBvcnRlZExvY2FsZU5hbWVzKCk7CisJCQl9CisJCX0KKwkJ
cmV0dXJuICRzdXBwb3J0ZWRGb3JtTG9jYWxlczsKKwl9CisKKwkvKioKIAkgKiBSZXR1cm4gdGhl
IGtleSBuYW1lIG9mIHRoZSB1c2VyJ3MgY3VycmVudGx5IHNlbGVjdGVkIGxvY2FsZSAoZGVmYXVs
dAogCSAqIGlzICJlbl9VUyIgZm9yIFUuUy4gRW5nbGlzaCkuCiAJICogQHJldHVybiBzdHJpbmcg
CmRpZmYgLXUgLXIxLjEzIExhbmd1YWdlU2V0dGluZ3NGb3JtLmluYy5waHAKLS0tIGNsYXNzZXMv
bWFuYWdlci9mb3JtL0xhbmd1YWdlU2V0dGluZ3NGb3JtLmluYy5waHAJMTIgTWF5IDIwMDkgMTk6
Mzc6NTAgLTAwMDAJMS4xMworKysgY2xhc3Nlcy9tYW5hZ2VyL2Zvcm0vTGFuZ3VhZ2VTZXR0aW5n
c0Zvcm0uaW5jLnBocAkzIEp1bCAyMDA5IDAwOjM1OjUyIC0wMDAwCkBAIC0zMSw3ICszMSw4IEBA
CiAJCXBhcmVudDo6Rm9ybSgnbWFuYWdlci9sYW5ndWFnZVNldHRpbmdzLnRwbCcpOwogCiAJCSR0
aGlzLT5zZXR0aW5ncyA9IGFycmF5KAotCQkJJ3N1cHBvcnRlZExvY2FsZXMnID0+ICdvYmplY3Qn
CisJCQknc3VwcG9ydGVkTG9jYWxlcycgPT4gJ29iamVjdCcsCisJCQknc3VwcG9ydGVkRm9ybUxv
Y2FsZXMnID0+ICdvYmplY3QnCiAJCSk7CiAKIAkJJHNpdGUgPSYgUmVxdWVzdDo6Z2V0U2l0ZSgp
OwpAQCAtNjcsOCArNjgsMTAgQEAKIAogCQkkdGhpcy0+c2V0RGF0YSgncHJpbWFyeUxvY2FsZScs
ICRjb25mZXJlbmNlLT5nZXRQcmltYXJ5TG9jYWxlKCkpOwogCi0JCWlmICgkdGhpcy0+Z2V0RGF0
YSgnc3VwcG9ydGVkTG9jYWxlcycpID09IG51bGwgfHwgIWlzX2FycmF5KCR0aGlzLT5nZXREYXRh
KCdzdXBwb3J0ZWRMb2NhbGVzJykpKSB7Ci0JCQkkdGhpcy0+c2V0RGF0YSgnc3VwcG9ydGVkTG9j
YWxlcycsIGFycmF5KCkpOworCQlmb3JlYWNoIChhcnJheSgnc3VwcG9ydGVkRm9ybUxvY2FsZXMn
LCAnc3VwcG9ydGVkTG9jYWxlcycpIGFzICRuYW1lKSB7CisJCQlpZiAoJHRoaXMtPmdldERhdGEo
JG5hbWUpID09IG51bGwgfHwgIWlzX2FycmF5KCR0aGlzLT5nZXREYXRhKCRuYW1lKSkpIHsKKwkJ
CQkkdGhpcy0+c2V0RGF0YSgkbmFtZSwgYXJyYXkoKSk7CisJCQl9CiAJCX0KIAl9CiAKQEAgLTgw
LDggKzgzLDEwIEBACiAJCSR2YXJzW10gPSAncHJpbWFyeUxvY2FsZSc7CiAJCSR0aGlzLT5yZWFk
VXNlclZhcnMoJHZhcnMpOwogCi0JCWlmICgkdGhpcy0+Z2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxl
cycpID09IG51bGwgfHwgIWlzX2FycmF5KCR0aGlzLT5nZXREYXRhKCdzdXBwb3J0ZWRMb2NhbGVz
JykpKSB7Ci0JCQkkdGhpcy0+c2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycsIGFycmF5KCkpOwor
CQlmb3JlYWNoIChhcnJheSgnc3VwcG9ydGVkRm9ybUxvY2FsZXMnLCAnc3VwcG9ydGVkTG9jYWxl
cycpIGFzICRuYW1lKSB7CisJCQlpZiAoJHRoaXMtPmdldERhdGEoJG5hbWUpID09IG51bGwgfHwg
IWlzX2FycmF5KCR0aGlzLT5nZXREYXRhKCRuYW1lKSkpIHsKKwkJCQkkdGhpcy0+c2V0RGF0YSgk
bmFtZSwgYXJyYXkoKSk7CisJCQl9CiAJCX0KIAl9CiAKQEAgLTkzLDE5ICs5OCwyNyBAQAogCQkk
c2V0dGluZ3NEYW8gPSYgREFPUmVnaXN0cnk6OmdldERBTygnQ29uZmVyZW5jZVNldHRpbmdzREFP
Jyk7CiAKIAkJLy8gVmVyaWZ5IGFkZGl0aW9uYWwgbG9jYWxlcwotCQkkc3VwcG9ydGVkTG9jYWxl
cyA9IGFycmF5KCk7Ci0JCWZvcmVhY2ggKCR0aGlzLT5nZXREYXRhKCdzdXBwb3J0ZWRMb2NhbGVz
JykgYXMgJGxvY2FsZSkgewotCQkJaWYgKExvY2FsZTo6aXNMb2NhbGVWYWxpZCgkbG9jYWxlKSAm
JiBpbl9hcnJheSgkbG9jYWxlLCAkdGhpcy0+YXZhaWxhYmxlTG9jYWxlcykpIHsKLQkJCQlhcnJh
eV9wdXNoKCRzdXBwb3J0ZWRMb2NhbGVzLCAkbG9jYWxlKTsKKwkJZm9yZWFjaCAoYXJyYXkoJ3N1
cHBvcnRlZExvY2FsZXMnLCAnc3VwcG9ydGVkRm9ybUxvY2FsZXMnKSBhcyAkbmFtZSkgeworCQkJ
JCRuYW1lID0gYXJyYXkoKTsKKwkJCWZvcmVhY2ggKCR0aGlzLT5nZXREYXRhKCRuYW1lKSBhcyAk
bG9jYWxlKSB7CisJCQkJaWYgKExvY2FsZTo6aXNMb2NhbGVWYWxpZCgkbG9jYWxlKSAmJiBpbl9h
cnJheSgkbG9jYWxlLCAkdGhpcy0+YXZhaWxhYmxlTG9jYWxlcykpIHsKKwkJCQkJYXJyYXlfcHVz
aCgkJG5hbWUsICRsb2NhbGUpOworCQkJCX0KIAkJCX0KIAkJfQogCiAJCSRwcmltYXJ5TG9jYWxl
ID0gJHRoaXMtPmdldERhdGEoJ3ByaW1hcnlMb2NhbGUnKTsKIAotCQlpZiAoJHByaW1hcnlMb2Nh
bGUgIT0gbnVsbCAmJiAhZW1wdHkoJHByaW1hcnlMb2NhbGUpICYmICFpbl9hcnJheSgkcHJpbWFy
eUxvY2FsZSwgJHN1cHBvcnRlZExvY2FsZXMpKSB7Ci0JCQlhcnJheV9wdXNoKCRzdXBwb3J0ZWRM
b2NhbGVzLCAkcHJpbWFyeUxvY2FsZSk7CisJCS8vIE1ha2Ugc3VyZSBhdCBsZWFzdCB0aGUgcHJp
bWFyeSBsb2NhbGUgaXMgY2hvc2VuIGFzIGF2YWlsYWJsZQorCQlpZiAoJHByaW1hcnlMb2NhbGUg
IT0gbnVsbCAmJiAhZW1wdHkoJHByaW1hcnlMb2NhbGUpKSB7CisJCQlmb3JlYWNoIChhcnJheSgn
c3VwcG9ydGVkTG9jYWxlcycsICdzdXBwb3J0ZWRGb3JtTG9jYWxlcycpIGFzICRuYW1lKSB7CisJ
CQkJaWYgKCFpbl9hcnJheSgkcHJpbWFyeUxvY2FsZSwgJCRuYW1lKSkgeworCQkJCQlhcnJheV9w
dXNoKCQkbmFtZSwgJHByaW1hcnlMb2NhbGUpOworCQkJCX0KKwkJCX0KIAkJfQogCQkkdGhpcy0+
c2V0RGF0YSgnc3VwcG9ydGVkTG9jYWxlcycsICRzdXBwb3J0ZWRMb2NhbGVzKTsKKwkJJHRoaXMt
PnNldERhdGEoJ3N1cHBvcnRlZEZvcm1Mb2NhbGVzJywgJHN1cHBvcnRlZEZvcm1Mb2NhbGVzKTsK
IAogCQlmb3JlYWNoICgkdGhpcy0+X2RhdGEgYXMgJG5hbWUgPT4gJHZhbHVlKSB7CiAJCQlpZiAo
IWluX2FycmF5KCRuYW1lLCBhcnJheV9rZXlzKCR0aGlzLT5zZXR0aW5ncykpKSBjb250aW51ZTsK
QEAgLTEyMSw3ICsxMzQsNiBAQAogCQkkY29uZmVyZW5jZS0+c2V0UHJpbWFyeUxvY2FsZSgkdGhp
cy0+Z2V0RGF0YSgncHJpbWFyeUxvY2FsZScpKTsKIAkJJGNvbmZlcmVuY2VEYW8tPnVwZGF0ZUNv
bmZlcmVuY2UoJGNvbmZlcmVuY2UpOwogCX0KLQogfQogCiA/PgpkaWZmIC11IC1yMS4xNiBtYW5h
Z2VyLnhtbAotLS0gbG9jYWxlL2VuX1VTL21hbmFnZXIueG1sCTIzIEp1biAyMDA5IDIyOjIxOjM1
IC0wMDAwCTEuMTYKKysrIGxvY2FsZS9lbl9VUy9tYW5hZ2VyLnhtbAkzIEp1bCAyMDA5IDAwOjM1
OjU4IC0wMDAwCkBAIC0zMyw2ICszMyw4IEBACiAJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLmdyb3Vw
cy5lbmFibGVCb2FyZC5kZXNjcmlwdGlvbiI+PCFbQ0RBVEFbRm9yIHRoZSA8YSBocmVmPSJ7JGFi
b3V0T3JnYW5pemluZ1RlYW1Vcmx9Ij5Pcmdhbml6aW5nIFRlYW08L2E+IGluIEFib3V0IHRoZSBD
b25mZXJlbmNlOl1dPjwvbWVzc2FnZT4KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIuZ3JvdXBzLm5v
bmVDcmVhdGVkIj5ObyBvcmdhbml6aW5nIHRlYW0gcG9zaXRpb25zIGhhdmUgYmVlbiBjcmVhdGVk
LjwvbWVzc2FnZT4KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIuaW1wb3J0RXhwb3J0Lm5vUGx1Z2lu
cyI+VGhlcmUgYXJlIG5vIGltcG9ydC9leHBvcnQgcGx1Z2lucyBjdXJyZW50bHkgaW5zdGFsbGVk
LjwvbWVzc2FnZT4KKyAJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLnVpIj5VSTwvbWVz
c2FnZT4KKyAJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLmZvcm1zIj5Gb3JtczwvbWVz
c2FnZT4KIAk8bWVzc2FnZSBrZXk9Im1hbmFnZXIubGFuZ3VhZ2VzLmxhbmd1YWdlSW5zdHJ1Y3Rp
b25zIj48IVtDREFUQVtPQ1MgY2FuIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHVzZXJzIGluIGFueSBv
ZiBzZXZlcmFsIHN1cHBvcnRlZCBsYW5ndWFnZXMuIEFzIHdlbGwsIE9DUyBjYW4gb3BlcmF0ZSBh
cyBhIHBhcnRpYWxseSBtdWx0aWxpbmd1YWwgc3lzdGVtLCBwcm92aWRpbmcgdXNlcnMgd2l0aCBh
biBhYmlsaXR5IHRvIHRvZ2dsZSBiZXR3ZWVuIGxhbmd1YWdlcyBvbiBlYWNoIHBhZ2UsIGFuZCBh
bGxvd2luZyBjZXJ0YWluIGRhdGEgdG8gYmUgZW50ZXJlZCBpbiBzZXZlcmFsIGFkZGl0aW9uYWwg
bGFuZ3VhZ2VzLjxiciAvPjxici8+SWYgYSBsYW5ndWFnZSBzdXBwb3J0ZWQgYnkgT0NTIGlzIG5v
dCBsaXN0ZWQgYmVsb3csIGFzayB5b3VyIHNpdGUgYWRtaW5pc3RyYXRvciB0byBpbnN0YWxsIHRo
ZSBsYW5ndWFnZSBmcm9tIHRoZSBzaXRlIGFkbWluaXN0cmF0aW9uIGludGVyZmFjZS4gRm9yIGlu
c3RydWN0aW9ucyBvbiBhZGRpbmcgc3VwcG9ydCBmb3IgbmV3IGxhbmd1YWdlcywgcGxlYXNlIGNv
bnN1bHQgdGhlIE9DUyBkb2N1bWVudGF0aW9uLl1dPjwvbWVzc2FnZT4KIAk8bWVzc2FnZSBrZXk9
Im1hbmFnZXIubGFuZ3VhZ2VzLm5vbmVBdmFpbGFibGUiPlNvcnJ5LCBubyBhZGRpdGlvbmFsIGxh
bmd1YWdlcyBhcmUgYXZhaWxhYmxlLiBDb250YWN0IHlvdXIgc2l0ZSBhZG1pbmlzdHJhdG9yIGlm
IHlvdSB3aXNoIHRvIHVzZSBhZGRpdGlvbmFsIGxhbmd1YWdlcyB3aXRoIHRoaXMgY29uZmVyZW5j
ZS48L21lc3NhZ2U+CiAJPG1lc3NhZ2Uga2V5PSJtYW5hZ2VyLmxhbmd1YWdlcy5wcmltYXJ5TG9j
YWxlSW5zdHJ1Y3Rpb25zIj5UaGlzIHdpbGwgYmUgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgZm9yIHRo
ZSBjb25mZXJlbmNlIHNpdGUuPC9tZXNzYWdlPgpkaWZmIC11IC1yMS45IGxhbmd1YWdlU2V0dGlu
Z3MudHBsCi0tLSB0ZW1wbGF0ZXMvbWFuYWdlci9sYW5ndWFnZVNldHRpbmdzLnRwbAk4IEFwciAy
MDA5IDIwOjAxOjM5IC0wMDAwCTEuOQorKysgdGVtcGxhdGVzL21hbmFnZXIvbGFuZ3VhZ2VTZXR0
aW5ncy50cGwJMyBKdWwgMjAwOSAwMDozNjowMSAtMDAwMApAQCAtNiw3ICs2LDcgQEAKICAqCiAg
KiBGb3JtIHRvIGVkaXQgY29uZmVyZW5jZSBsYW5ndWFnZSBzZXR0aW5ncy4KICAqCi0gKiAkSWQ6
IGxhbmd1YWdlU2V0dGluZ3MudHBsLHYgMS45IDIwMDkvMDQvMDggMjA6MDE6MzkgYXNtZWNoZXIg
RXhwICQKKyAqICRJZDogbGFuZ3VhZ2VTZXR0aW5ncy50cGwsdiAxLjI2IDIwMDkvMDcvMDMgMDA6
MTE6MTggYXNtZWNoZXIgRXhwICQKICAqfQoge3N0cmlwfQoge2Fzc2lnbiB2YXI9InBhZ2VUaXRs
ZSIgdmFsdWU9ImNvbW1vbi5sYW5ndWFnZXMifQpAQCAtMjIsMjUgKzIyLDM2IEBACiAKIDx0YWJs
ZSBjbGFzcz0iZGF0YSIgd2lkdGg9IjEwMCUiPgogPHRyIHZhbGlnbj0idG9wIj4KLQk8dGQgd2lk
dGg9IjIwJSIgY2xhc3M9ImxhYmVsIj57ZmllbGRMYWJlbCBuYW1lPSJwcmltYXJ5TG9jYWxlIiBy
ZXF1aXJlZD0idHJ1ZSIga2V5PSJsb2NhbGUucHJpbWFyeSJ9PC90ZD4KLQk8dGQgd2lkdGg9Ijgw
JSIgY29sc3Bhbj0iMiIgY2xhc3M9InZhbHVlIj48c2VsZWN0IGlkPSJwcmltYXJ5TG9jYWxlIiBu
YW1lPSJwcmltYXJ5TG9jYWxlIiBzaXplPSIxIiBjbGFzcz0ic2VsZWN0TWVudSI+Ci0Je2ZvcmVh
Y2ggZnJvbT0kYXZhaWxhYmxlTG9jYWxlcyBrZXk9bG9jYWxlS2V5IGl0ZW09bG9jYWxlTmFtZX0K
LQkJPG9wdGlvbiB2YWx1ZT0ieyRsb2NhbGVLZXl8ZXNjYXBlfSJ7aWYgJGxvY2FsZUtleSA9PSAk
cHJpbWFyeUxvY2FsZX0gc2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PnskbG9jYWxlTmFtZXxlc2Nh
cGV9PC9vcHRpb24+Ci0Jey9mb3JlYWNofQotCTwvc2VsZWN0PjwvdGQ+CisJPHRkIHdpZHRoPSIy
MCUiIHJvd3NwYW49IjIiIGNsYXNzPSJsYWJlbCI+e2ZpZWxkTGFiZWwgbmFtZT0icHJpbWFyeUxv
Y2FsZSIgcmVxdWlyZWQ9InRydWUiIGtleT0ibG9jYWxlLnByaW1hcnkifTwvdGQ+CisJPHRkIHdp
ZHRoPSI4MCUiIGNvbHNwYW49IjIiIGNsYXNzPSJ2YWx1ZSI+CisJCTxzZWxlY3QgaWQ9InByaW1h
cnlMb2NhbGUiIG5hbWU9InByaW1hcnlMb2NhbGUiIHNpemU9IjEiIGNsYXNzPSJzZWxlY3RNZW51
Ij4KKwkJCXtodG1sX29wdGlvbnMgb3B0aW9ucz0kYXZhaWxhYmxlTG9jYWxlcyBzZWxlY3RlZD0k
cHJpbWFyeUxvY2FsZX0KKwkJPC9zZWxlY3Q+CisJPC90ZD4KIDwvdHI+CiA8dHIgdmFsaWduPSJ0
b3AiPgotCTx0ZD4mbmJzcDs8L3RkPgogCTx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0idmFsdWUiPjxz
cGFuIGNsYXNzPSJpbnN0cnVjdCI+e3RyYW5zbGF0ZSBrZXk9Im1hbmFnZXIubGFuZ3VhZ2VzLnBy
aW1hcnlMb2NhbGVJbnN0cnVjdGlvbnMifTwvc3Bhbj48L3RkPgogPC90cj4KIDx0ciB2YWxpZ249
InRvcCI+Ci0JPHRkIGNsYXNzPSJsYWJlbCI+e2ZpZWxkTGFiZWwgc3VwcHJlc3NJZD0idHJ1ZSIg
bmFtZT0ic3VwcG9ydGVkTG9jYWxlcyIga2V5PSJsb2NhbGUuc3VwcG9ydGVkIn08L3RkPgotCTx0
ZCBjb2xzcGFuPSIyIiBjbGFzcz0idmFsdWUiPntmb3JlYWNoIGZyb209JGF2YWlsYWJsZUxvY2Fs
ZXMga2V5PWxvY2FsZUtleSBpdGVtPWxvY2FsZU5hbWV9Ci0JCTxpbnB1dCB0eXBlPSJjaGVja2Jv
eCIgbmFtZT0ic3VwcG9ydGVkTG9jYWxlc1tdIiBpZD0ic3VwcG9ydGVkTG9jYWxlcy17JGxvY2Fs
ZUtleXxlc2NhcGV9IiB2YWx1ZT0ieyRsb2NhbGVLZXl8ZXNjYXBlfSJ7aWYgaW5fYXJyYXkoJGxv
Y2FsZUtleSwgJHN1cHBvcnRlZExvY2FsZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4gPGxh
YmVsIGZvcj0ic3VwcG9ydGVkTG9jYWxlcy17JGxvY2FsZUtleXxlc2NhcGV9Ij57JGxvY2FsZU5h
bWV8ZXNjYXBlfTwvbGFiZWw+PGJyIC8+Ci0Jey9mb3JlYWNofTwvdGQ+CisJPHRkIGNsYXNzPSJs
YWJlbCIgcm93c3Bhbj0iMiI+e2ZpZWxkTGFiZWwgc3VwcHJlc3NJZD0idHJ1ZSIgbmFtZT0ic3Vw
cG9ydGVkTG9jYWxlcyIga2V5PSJsb2NhbGUuc3VwcG9ydGVkIn08L3RkPgorCTx0ZCBjb2xzcGFu
PSIyIiBjbGFzcz0idmFsdWUiPgorCQk8dGFibGUgY2xhc3M9ImRhdGEiIHdpZHRoPSIxMDAlIj4K
KwkJPHRyIHZhbGlnbj0idG9wIj4KKwkJCTx0ZCB3aWR0aD0iMjAlIj4mbmJzcDs8L3RkPgorCQkJ
PHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMCUiPnt0cmFuc2xhdGUga2V5PSJtYW5hZ2VyLmxh
bmd1YWdlLnVpIn08L3RkPgorCQkJPHRkIGFsaWduPSJjZW50ZXIiIHdpZHRoPSIxMCUiPnt0cmFu
c2xhdGUga2V5PSJtYW5hZ2VyLmxhbmd1YWdlLmZvcm1zIn08L3RkPgorCQk8L3RyPgorCQl7Zm9y
ZWFjaCBmcm9tPSRhdmFpbGFibGVMb2NhbGVzIGtleT1sb2NhbGVLZXkgaXRlbT1sb2NhbGVOYW1l
fQorCQkJPHRyPgorCQkJCTx0ZD57JGxvY2FsZU5hbWV8ZXNjYXBlfTwvdGQ+CisJCQkJPHRkIGFs
aWduPSJjZW50ZXIiPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ic3VwcG9ydGVkTG9jYWxl
c1tdIiB2YWx1ZT0ieyRsb2NhbGVLZXl8ZXNjYXBlfSJ7aWYgaW5fYXJyYXkoJGxvY2FsZUtleSwg
JHN1cHBvcnRlZExvY2FsZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48L3RkPgorCQkJCTx0
ZCBhbGlnbj0iY2VudGVyIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InN1cHBvcnRlZEZv
cm1Mb2NhbGVzW10iIHZhbHVlPSJ7JGxvY2FsZUtleXxlc2NhcGV9IntpZiBpbl9hcnJheSgkbG9j
YWxlS2V5LCAkc3VwcG9ydGVkRm9ybUxvY2FsZXMpfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz48
L3RkPgorCQkJPC90cj4KKwkJey9mb3JlYWNofQorCQk8L3RhYmxlPgorCTwvdGQ+CiA8L3RyPgog
PHRyIHZhbGlnbj0idG9wIj4KLQk8dGQ+Jm5ic3A7PC90ZD4KIAk8dGQgY29sc3Bhbj0iMiIgY2xh
c3M9InZhbHVlIj48c3BhbiBjbGFzcz0iaW5zdHJ1Y3QiPnt0cmFuc2xhdGUga2V5PSJtYW5hZ2Vy
Lmxhbmd1YWdlcy5zdXBwb3J0ZWRMb2NhbGVzSW5zdHJ1Y3Rpb25zIn08L3NwYW4+PC90ZD4KIDwv
dHI+CiA8L3RhYmxlPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>