<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi Sreekanth,</p>
    <p>Thanks, for your reply. Sorry, I didn't understood the !
      notation, which meant I misunderstood that block of code.<br>
    </p>
    <p>I see that section 3.4.5 describes the ! notation. However, I
      couldn't see anything in 3.4.5 that states what happens if the
      object specified by the DN doesn't exist. I assume that, in
      general terms, the value of the o!attr expression will be null if
      the object corresponding to the DN 'o' doesn't exist?</p>
    <p>However, I think what you're saying is that in this specific
      ProcessLinkValue() case, there is some additional
      implementation-specific logic here to handle objects that don't
      exist locally. <br>
    </p>
    <p>I am still pretty confused by the ProcessLinkValue() pseudo-code.
      Could you clarify which of the following statements is true?<br>
    </p>
    <p>1. GET_TGT is only ever used for recycled or deleted objects. It
      is never used if a new target object does not exist locally.<br>
      2. GET_TGT can also be used if the target object doesn't exist
      locally (although this case may involve implementation-specific
      logic).<br>
      <br>
      Thanks,</p>
    <p>Tim<br>
    </p>
    <div class="moz-cite-prefix">On 30/06/17 06:26, Sreekanth Nadendla
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:DM5PR21MB0505E60923E7A040E83AF838C5D20@DM5PR21MB0505.namprd21.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New",serif;
        color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
p.Code, li.Code, div.Code
        {mso-style-name:Code;
        mso-style-priority:2;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:12.0pt;
        margin-left:18.7pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l0 level1 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.CodeCxSpFirst, li.CodeCxSpFirst, div.CodeCxSpFirst
        {mso-style-name:CodeCxSpFirst;
        mso-style-priority:2;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:18.7pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l0 level1 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.CodeCxSpMiddle, li.CodeCxSpMiddle, div.CodeCxSpMiddle
        {mso-style-name:CodeCxSpMiddle;
        mso-style-priority:2;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:18.7pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l0 level1 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.CodeCxSpLast, li.CodeCxSpLast, div.CodeCxSpLast
        {mso-style-name:CodeCxSpLast;
        mso-style-priority:2;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:12.0pt;
        margin-left:18.7pt;
        mso-add-space:auto;
        text-indent:-.7pt;
        mso-list:l0 level1 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List, li.Code-List, div.Code-List
        {mso-style-name:"Code - List";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:24.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level2 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-ListCxSpFirst, li.Code-ListCxSpFirst, div.Code-ListCxSpFirst
        {mso-style-name:"Code - ListCxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:24.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level2 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-ListCxSpMiddle, li.Code-ListCxSpMiddle, div.Code-ListCxSpMiddle
        {mso-style-name:"Code - ListCxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:24.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level2 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-ListCxSpLast, li.Code-ListCxSpLast, div.Code-ListCxSpLast
        {mso-style-name:"Code - ListCxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:24.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level2 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List2, li.Code-List2, div.Code-List2
        {mso-style-name:"Code - List 2";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:37.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level3 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List2CxSpFirst, li.Code-List2CxSpFirst, div.Code-List2CxSpFirst
        {mso-style-name:"Code - List 2CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:37.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level3 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List2CxSpMiddle, li.Code-List2CxSpMiddle, div.Code-List2CxSpMiddle
        {mso-style-name:"Code - List 2CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:37.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level3 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List2CxSpLast, li.Code-List2CxSpLast, div.Code-List2CxSpLast
        {mso-style-name:"Code - List 2CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:37.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level3 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List3, li.Code-List3, div.Code-List3
        {mso-style-name:"Code - List 3";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:51.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level4 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List3CxSpFirst, li.Code-List3CxSpFirst, div.Code-List3CxSpFirst
        {mso-style-name:"Code - List 3CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:51.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level4 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List3CxSpMiddle, li.Code-List3CxSpMiddle, div.Code-List3CxSpMiddle
        {mso-style-name:"Code - List 3CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:51.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level4 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List3CxSpLast, li.Code-List3CxSpLast, div.Code-List3CxSpLast
        {mso-style-name:"Code - List 3CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:51.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level4 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List4, li.Code-List4, div.Code-List4
        {mso-style-name:"Code - List 4";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:.9in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level5 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List4CxSpFirst, li.Code-List4CxSpFirst, div.Code-List4CxSpFirst
        {mso-style-name:"Code - List 4CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:.9in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level5 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List4CxSpMiddle, li.Code-List4CxSpMiddle, div.Code-List4CxSpMiddle
        {mso-style-name:"Code - List 4CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:.9in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level5 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List4CxSpLast, li.Code-List4CxSpLast, div.Code-List4CxSpLast
        {mso-style-name:"Code - List 4CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:.9in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level5 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List5, li.Code-List5, div.Code-List5
        {mso-style-name:"Code - List 5";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:78.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level6 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List5CxSpFirst, li.Code-List5CxSpFirst, div.Code-List5CxSpFirst
        {mso-style-name:"Code - List 5CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:78.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level6 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List5CxSpMiddle, li.Code-List5CxSpMiddle, div.Code-List5CxSpMiddle
        {mso-style-name:"Code - List 5CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:78.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level6 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List5CxSpLast, li.Code-List5CxSpLast, div.Code-List5CxSpLast
        {mso-style-name:"Code - List 5CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:78.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level6 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List6, li.Code-List6, div.Code-List6
        {mso-style-name:"Code - List 6";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:91.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level7 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List6CxSpFirst, li.Code-List6CxSpFirst, div.Code-List6CxSpFirst
        {mso-style-name:"Code - List 6CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:91.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level7 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List6CxSpMiddle, li.Code-List6CxSpMiddle, div.Code-List6CxSpMiddle
        {mso-style-name:"Code - List 6CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:91.8pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level7 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List6CxSpLast, li.Code-List6CxSpLast, div.Code-List6CxSpLast
        {mso-style-name:"Code - List 6CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:91.8pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level7 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List7, li.Code-List7, div.Code-List7
        {mso-style-name:"Code - List 7";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:105.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level8 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List7CxSpFirst, li.Code-List7CxSpFirst, div.Code-List7CxSpFirst
        {mso-style-name:"Code - List 7CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:105.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level8 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List7CxSpMiddle, li.Code-List7CxSpMiddle, div.Code-List7CxSpMiddle
        {mso-style-name:"Code - List 7CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:105.3pt;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level8 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List7CxSpLast, li.Code-List7CxSpLast, div.Code-List7CxSpLast
        {mso-style-name:"Code - List 7CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:105.3pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level8 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List8, li.Code-List8, div.Code-List8
        {mso-style-name:"Code - List 8";
        mso-style-priority:99;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:1.65in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level9 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List8CxSpFirst, li.Code-List8CxSpFirst, div.Code-List8CxSpFirst
        {mso-style-name:"Code - List 8CxSpFirst";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:1.65in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level9 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List8CxSpMiddle, li.Code-List8CxSpMiddle, div.Code-List8CxSpMiddle
        {mso-style-name:"Code - List 8CxSpMiddle";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:0in;
        margin-left:1.65in;
        margin-bottom:.0001pt;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level9 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
p.Code-List8CxSpLast, li.Code-List8CxSpLast, div.Code-List8CxSpLast
        {mso-style-name:"Code - List 8CxSpLast";
        mso-style-priority:99;
        mso-style-type:export-only;
        margin-top:0in;
        margin-right:.25in;
        margin-bottom:12.0pt;
        margin-left:1.65in;
        mso-add-space:auto;
        text-indent:0in;
        mso-list:l0 level9 lfo2;
        background:white;
        font-size:8.0pt;
        font-family:"Courier New",serif;
        color:windowtext;}
span.EmailStyle30
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle31
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:616571324;
        mso-list-template-ids:-521528704;}
@list l0:level1
        {mso-level-number-format:none;
        mso-level-style-link:Code;
        mso-level-text:"";
        mso-level-tab-stop:0in;
        mso-level-number-position:left;
        margin-left:.15in;
        text-indent:0in;}
@list l0:level2
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List";
        mso-level-text:"";
        mso-level-tab-stop:13.5pt;
        mso-level-number-position:left;
        margin-left:24.3pt;
        text-indent:0in;}
@list l0:level3
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 2";
        mso-level-text:"";
        mso-level-tab-stop:27.0pt;
        mso-level-number-position:left;
        margin-left:37.8pt;
        text-indent:0in;}
@list l0:level4
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 3";
        mso-level-text:"";
        mso-level-tab-stop:40.5pt;
        mso-level-number-position:left;
        margin-left:51.3pt;
        text-indent:0in;}
@list l0:level5
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 4";
        mso-level-text:"";
        mso-level-tab-stop:.75in;
        mso-level-number-position:left;
        margin-left:.9in;
        text-indent:0in;}
@list l0:level6
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 5";
        mso-level-text:"";
        mso-level-tab-stop:67.5pt;
        mso-level-number-position:left;
        margin-left:78.3pt;
        text-indent:0in;}
@list l0:level7
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 6";
        mso-level-text:"";
        mso-level-tab-stop:81.0pt;
        mso-level-number-position:left;
        margin-left:91.8pt;
        text-indent:0in;}
@list l0:level8
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 7";
        mso-level-text:"";
        mso-level-tab-stop:94.5pt;
        mso-level-number-position:left;
        margin-left:105.3pt;
        text-indent:0in;}
@list l0:level9
        {mso-level-number-format:none;
        mso-level-style-link:"Code - List 8";
        mso-level-text:"";
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        margin-left:1.65in;
        text-indent:0in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">Hello
            Tim,
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">GetDSNameFromAttrVal()
            only verifies that the DSNAME referenced in the attrval is
            well formed DSNAME. Getting a null from DSNameFromAttrVal
            means the replication partner sent malformed link val which
            is different from unknown object.  It just means we have
            invalidly formed data.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">Here
            the intent of the protocol is to retrieve a syntactically
            correct DN from the attribute. Protocol does NOT say to
            validate that the name actually occurs in the local DIT. As
            you mentioned, if we get INVALID_ATTRIBUTE_SYNTAX here, the
            replication halts.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">If
            you get a validly formed DSNAME that refers to an object
            that does not exist in the local directory, the
            implementation must proceed and handle that case. This means
            creating a DN valued attribute that does not refer to an
            actual object in the local DIT ( An implementation specific
            way of temporarily managing reference to actual object).<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">Hope
            this resolves your pending question.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext"><o:p> </o:p></span></p>
        <div>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">Regards,<o:p></o:p></span></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">Sreekanth
              Nadendla<o:p></o:p></span></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">Microsoft
              Windows Open Specifications<o:p></o:p></span></p>
        </div>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">
                Tim Beale [<a class="moz-txt-link-freetext" href="mailto:timbeale@catalyst.net.nz">mailto:timbeale@catalyst.net.nz</a>]
                <br>
                <b>Sent:</b> Monday, June 26, 2017 5:00 PM<br>
                <b>To:</b> Sreekanth Nadendla
                <a class="moz-txt-link-rfc2396E" href="mailto:srenaden@microsoft.com"><srenaden@microsoft.com></a><br>
                <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:cifs-protocol@lists.samba.org">cifs-protocol@lists.samba.org</a>; MSSolve Case
                Email <a class="moz-txt-link-rfc2396E" href="mailto:casemail@microsoft.com"><casemail@microsoft.com></a><br>
                <b>Subject:</b> Re: 117060815865307 Question about DRS
                client behaviour with linked attributes<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p>Hi Sreekanth,<o:p></o:p></p>
        <p>Thanks for your reply.<o:p></o:p></p>
        <p>How does this relate to where ProcessLinkValue() is called,
          in particular the setting of the DRS_GET_TGT flag? i.e. the
          block near the end of 4.1.10.6.1:<o:p></o:p></p>
        <p><span style="font-family:"Courier New",serif">if
            (ulResult = ERROR_DS_DRA_MISSING_PARENT) then<br>
                Send IDL_DRSGetNCChanges message again with the same
            input<br>
                parameters specified in msgIn but this time with
            msgIn.ulFlags<br>
                containing DRS_GET_ANC field set. It is an error for
            this<br>
                condition to occur if (DRS_GET_ANC in msgIn.ulFlags) is
            true<br>
            else if (ulResult = ERROR_DS_DRA_RECYCLED_TARGET) then<br>
                Send IDL_DRSGetNCChanges message again with the same
            input<br>
                parameters specified in the msgIn but this time with
            msgIn.ulMoreFlags<br>
                containing DRS_GET_TGT field set.</span><o:p></o:p></p>
        <p>The documentation here talks about the
          ERROR_DS_DRA_RECYCLED_TARGET error, but not
          ERROR_DS_INVALID_ATTRIBUTE_SYNTAX error. But in
          ProcessLinkValue(), we're hitting the case where the target
          object is unknown/missing. The amended documentation would
          imply that in the case where the target object is
          missing/unknown (as opposed to deleted/recycled), then we fail
          the replication (instead of retrying with DRS_GET_TGT set).<o:p></o:p></p>
        <p>In my testing with Windows I have seen cases where the
          Windows DC will send a linked attribute with an unknown target
          object (that hasn't been deleted/recycled at all). Resending
          the GetNCChanges request with the DRS_GET_TGT flag set will
          fix this problem. Am I misunderstanding how the protocol
          works? I was expecting the documentation to look more like:<o:p></o:p></p>
        <p><span style="font-family:"Courier New",serif">if
            (targetObject = null or<br>
                (IsRecycleBinEnabled() and targetObject!isRecycled) or<br>
                (not IsRecycleBinEnabled() and targetObject!isDeleted))
            then<br>
                if (DRS_GET_TGT in ulMoreFlags) then<br>
                    /* nothing to do */<br>
                    return 0<br>
                else<br>
                    return ERROR_DS_DRA_RECYCLED_TARGET<br>
            endif</span><o:p></o:p></p>
        <p>Thanks,<o:p></o:p></p>
        <p>Tim<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">On 27/06/17 07:17, Sreekanth Nadendla
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hello
              Tim, below is the corrected edit for issue #1 you’ve
              reported. MS-DRSR will be updated with this change. The
              correct error code returned would be
              ERROR_DS_INVALID_ATTRIBUTE_SYNTAX.</span><o:p></o:p></p>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
          <div style="border:solid white 3.0pt;padding:4.0pt 6.0pt 5.0pt
            6.0pt">
            <p class="CodeCxSpFirst" style="mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->  targetObject
              = GetDSNameFromAttrVal( replValinf.attrTyp,
              replValInf.pAval)<o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]--> <o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->  <span
                style="background:yellow;mso-highlight:yellow">if
                (targetObject = null)</span><o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]--><span
                style="background:yellow;mso-highlight:yellow">      return
                ERROR_DS_INVALID_ATTRIBUTE_SYNTAX</span><o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]--> <o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->  if
              ((IsRecycleBinEnabled() and targetObject!isRecycled) or<o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->      (not
              IsRecycleBinEnabled() and targetObject!isDeleted)) then<o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->     if
              (DRS_GET_TGT in ulMoreFlags) then
              <o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""> </span></span><!--[endif]-->        /*
              nothing to do */<o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->        return
              0<o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->     else<o:p></o:p></p>
            <p class="CodeCxSpMiddle"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->        return
              ERROR_DS_DRA_RECYCLED_TARGET<o:p></o:p></p>
            <p class="CodeCxSpLast"><!--[if !supportLists]--><span
                style="mso-list:Ignore"><span style="font:7.0pt
                  "Times New Roman""></span></span><!--[endif]-->   endif<o:p></o:p></p>
          </div>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
          <div>
            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Regards,</span><o:p></o:p></p>
            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Sreekanth
                Nadendla</span><o:p></o:p></p>
            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Microsoft
                Windows Open Specifications</span><o:p></o:p></p>
          </div>
          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">
                  Tim Beale [<a href="mailto:timbeale@catalyst.net.nz"
                    moz-do-not-send="true">mailto:timbeale@catalyst.net.nz</a>]
                  <br>
                  <b>Sent:</b> Wednesday, June 7, 2017 7:35 PM<br>
                  <b>To:</b> Sreekanth Nadendla <a
                    href="mailto:srenaden@microsoft.com"
                    moz-do-not-send="true"><srenaden@microsoft.com></a><br>
                  <b>Cc:</b> <a
                    href="mailto:cifs-protocol@lists.samba.org"
                    moz-do-not-send="true">cifs-protocol@lists.samba.org</a>;
                  MSSolve Case Email
                  <a href="mailto:casemail@microsoft.com"
                    moz-do-not-send="true"><casemail@microsoft.com></a><br>
                  <b>Subject:</b> Re: 117060115827644 Question about DRS
                  client behaviour with linked attributes</span><o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p>Hi Sreekanth,<o:p></o:p></p>
          <p>Thanks for the link. I'd already seen that article (or one
            very similar), but it does provide a lot of useful
            information about replication.<o:p></o:p></p>
          <p>The Docs issues I mentioned in the conference call are as
            follows:<o:p></o:p></p>
          <p>1). A fortnight ago, I raised a minor issue with MS-DRSR
            4.1.10.6.14 ProcessLinkValue(). i.e.
            <a
href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fdd207759.aspx&data=02%7C01%7Csrenaden%40microsoft.com%7C46a7a120036b469503df08d4adfdd01e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636324753009373564&sdata=paOhTFuE9pSC5yfXLlZhP9UZWBdUWzVR%2FleL0TVLWXk%3D&reserved=0"
              moz-do-not-send="true">
              https://msdn.microsoft.com/en-us/library/dd207759.aspx</a><o:p></o:p></p>
          <p>In the following block of code that checks the link target,
            it looks like it's missing a null check for targetObject.
            <o:p></o:p></p>
          <p><span style="font-size:10.0pt;font-family:"Courier
              New",serif">targetObject =
              GetDSNameFromAttrVal(replValinf.attrTyp, replValInf.pAval)<br>
              if ((IsRecycleBinEnabled() and targetObject!isRecycled) or<br>
                  (not IsRecycleBinEnabled() and
              targetObject!isDeleted)) then<br>
                  if (DRS_GET_TGT in ulMoreFlags) then<br>
                      /* nothing to do */<br>
                      return 0<br>
                  else<br>
                      return ERROR_DS_DRA_RECYCLED_TARGET<br>
              endif</span><o:p></o:p></p>
          <p>Presumably it should also return
            ERROR_DS_DRA_RECYCLED_TARGET if targetObject is null, as
            this is what triggers the use of the DRS_GET_TGT flag.<o:p></o:p></p>
          <p>2). Related to this, the error code used here isn't
            documented, i.e. it isn't listed on
            <a
href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fcc231199.aspx&data=02%7C01%7Csrenaden%40microsoft.com%7C46a7a120036b469503df08d4adfdd01e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636324753009373564&sdata=rM3m%2Bv6oVnAKrGM%2Frzu8PV8hX8eCbPfMe59TQdgB8Oc%3D&reserved=0"
              moz-do-not-send="true">
              https://msdn.microsoft.com/en-us/library/cc231199.aspx</a><o:p></o:p></p>
          <p>I think it should be something like:<o:p></o:p></p>
          <p>ERROR_DS_DRA_RECYCLED_TARGET            0x000021BF<o:p></o:p></p>
          <p>Thanks for your help.<o:p></o:p></p>
          <p>Tim<o:p></o:p></p>
          <div>
            <p class="MsoNormal">On 08/06/17 09:56, Sreekanth Nadendla
              wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <pre>Hello Tim, below is the article I mentioned and it provides some useful details about Linked value replication scenarios.<o:p></o:p></pre>
            <pre><a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftechnet.microsoft.com%2Fen-us%2Flibrary%2Fcc772726%28v%3Dws.10%29.aspx&data=02%7C01%7Csrenaden%40microsoft.com%7C46a7a120036b469503df08d4adfdd01e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636324753009373564&sdata=hxJIraSwimp3qi%2BA6Sr7cRTqCPAitKfiZ2CmucuG4VM%3D&reserved=0" moz-do-not-send="true">https://technet.microsoft.com/en-us/library/cc772726(v=ws.10).aspx</a><o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>Regards,<o:p></o:p></pre>
            <pre>Sreekanth Nadendla<o:p></o:p></pre>
            <pre>Microsoft Windows Open Specifications<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>-----Original Message-----<o:p></o:p></pre>
            <pre>From: Sreekanth Nadendla <o:p></o:p></pre>
            <pre>Sent: Thursday, June 1, 2017 5:03 PM<o:p></o:p></pre>
            <pre>To: 'Tim Beale' <a href="mailto:timbeale@catalyst.net.nz" moz-do-not-send="true"><timbeale@catalyst.net.nz></a><o:p></o:p></pre>
            <pre>Cc: <a href="mailto:cifs-protocol@lists.samba.org" moz-do-not-send="true">cifs-protocol@lists.samba.org</a>; MSSolve Case Email <a href="mailto:casemail@microsoft.com" moz-do-not-send="true"><casemail@microsoft.com></a><o:p></o:p></pre>
            <pre>Subject: 117060115827644 Question about DRS client behaviour with linked attributes<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>Hello Tim, I will be assisting you with this issue. <o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>Regards,<o:p></o:p></pre>
            <pre>Sreekanth Nadendla<o:p></o:p></pre>
            <pre>Microsoft Windows Open Specifications<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>-----Original Message-----<o:p></o:p></pre>
            <pre>From: Tim Beale [<a href="mailto:timbeale@catalyst.net.nz" moz-do-not-send="true">mailto:timbeale@catalyst.net.nz</a>] <o:p></o:p></pre>
            <pre>Sent: Wednesday, May 31, 2017 8:18 PM<o:p></o:p></pre>
            <pre>To: Interoperability Documentation Help <a href="mailto:dochelp@microsoft.com" moz-do-not-send="true"><dochelp@microsoft.com></a>; <a href="mailto:cifs-protocol@lists.samba.org" moz-do-not-send="true">cifs-protocol@lists.samba.org</a><o:p></o:p></pre>
            <pre>Subject: Question about DRS client behaviour with linked attributes<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>Hi,<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>We're trying to add DRS GET_TGT support to Samba and have a question about the behaviour of linked attributes. We noticed that you can sometimes get linked attributes that span a partition.<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>For example you can have an object in the Configuration partition with a linked attribute to an object in the Domain partition:<o:p></o:p></pre>
            <pre>dn:<o:p></o:p></pre>
            <pre>CN=RWDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=SAMDOM,DC=EXAMPLE,DC=COM<o:p></o:p></pre>
            <pre>serverReference: CN=RWDC,OU=Domain Controllers,DC=SAMDOM,DC=EXAMPLE,DC=COM<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>And you can also have an object in the Domain partition with a linked attribute to an object in the Configuration partition:<o:p></o:p></pre>
            <pre>dn: CN=RWDC,CN=Topology,CN=Domain System Volume,CN=DFSR-GlobalSettings,CN=System,DC=SAMDOM,DC=EXAMPLE,DC=COM<o:p></o:p></pre>
            <pre>serverReference: CN=NTDS<o:p></o:p></pre>
            <pre>Settings,CN=RWDC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=SAMDOM,DC=EXAMPLE,DC=COM<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>From what I could see from testing, when the DRS_GET_TGT flag is set in the ReplicateNCRequestMsg, Windows does not resolve a target object that is in another partition. <o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>This results in a cyclical dependency between the partitions being replicated, E.g. you can't commit all the linked attributes in the Domain partition until all the objects in the Configuration partition have been received, but you can't commit all the linked attributes in the Configuration partition until all the objects in the Domain partition have been received. This problem could be resolved if you manage to replicate the target object before the link is replicated.<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>My question is: how does the Windows replication behaviour resolve this problem?<o:p></o:p></pre>
            <pre>- Does this mean the client always has to replicate the partitions in parallel? i.e. it can't replicate them in series because it can't commit an entire partition until it has received portions of another partition.<o:p></o:p></pre>
            <pre>- What happens when the client encounters a linked attribute with an unknown target object? ProcessLinkValue() in the MS-DRSR seems to imply the client will ignore it (if it's already tried with GET_TGT). So how does the client ensure that it receives the linked attribute eventually?<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>Thanks for your help.<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>Tim<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
          </blockquote>
          <p class="MsoNormal"> <o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>