<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 2014年01月10日 00:49, Robert Li (baoli)
wrote:<br>
</div>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<span id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space;
-webkit-line-break: after-white-space; color: rgb(0, 0, 0);
font-size: 14px; font-family: Calibri, sans-serif; ">
<span id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space;
-webkit-line-break: after-white-space; color: rgb(0, 0,
0); font-size: 14px; font-family: Calibri, sans-serif; ">
<span id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word; -webkit-nbsp-mode:
space; -webkit-line-break: after-white-space; color:
rgb(0, 0, 0); font-size: 14px; font-family: Calibri,
sans-serif; ">
<span id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word;
-webkit-nbsp-mode: space; -webkit-line-break:
after-white-space; ">
<span id="OLK_SRC_BODY_SECTION" style="color:
rgb(0, 0, 0); font-family: Calibri, sans-serif;
font-size: 14px; ">
<div xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
<p class="MsoNormal"><span
style="font-family: Calibri,
sans-serif; font-size: 14px; ">Hi
Folks,</span></p>
</div>
</div>
</div>
</span></div>
</span></div>
</span></div>
</span></div>
</span></blockquote>
HI, all<br>
<br>
basiclly i flavor the pic-flavor style and against massing the
white-list. please see my inline comments. <br>
<br>
<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite"><span
id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space;
-webkit-line-break: after-white-space; color: rgb(0, 0, 0);
font-size: 14px; font-family: Calibri, sans-serif; "><span
id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space;
-webkit-line-break: after-white-space; color: rgb(0, 0,
0); font-size: 14px; font-family: Calibri, sans-serif; "><span
id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word; -webkit-nbsp-mode:
space; -webkit-line-break: after-white-space; color:
rgb(0, 0, 0); font-size: 14px; font-family: Calibri,
sans-serif; "><span id="OLK_SRC_BODY_SECTION">
<div style="word-wrap: break-word;
-webkit-nbsp-mode: space; -webkit-line-break:
after-white-space; "><span
id="OLK_SRC_BODY_SECTION" style="color: rgb(0,
0, 0); font-family: Calibri, sans-serif;
font-size: 14px; ">
<div xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
xmlns="http://www.w3.org/TR/REC-html40">
<div link="blue" vlink="purple" lang="EN-US">
<div class="WordSection1">
</div>
</div>
</div>
</span></div>
</span></div>
</span></div>
</span></div>
</span>
<div><br>
</div>
<div>With John joining the IRC, so far, we had a couple of
productive meetings in an effort to come to consensus and move
forward. Thanks John for doing that, and I appreciate everyone's
effort to make it to the daily meeting. Let's reconvene on
Monday. </div>
<div><br>
</div>
<div>But before that, and based on our today's conversation on
IRC, I'd like to say a few things. I think that first of all, we
need to get agreement on the terminologies that we are using so
far. With the current nova PCI passthrough</div>
<div><br>
</div>
<div> PCI whitelist: defines all the available PCI
passthrough devices on a compute node. <span
style="background-color: rgb(245, 245, 245); color: rgb(51,
51, 51); font-family: Monaco, Menlo, Consolas, 'Courier New',
monospace; font-size: 13px; line-height: 20px; white-space:
pre-wrap; ">pci_passthrough_whitelist=[{
"vendor_id":"xxxx","product_id":"xxxx"}] </span></div>
<div> PCI Alias: criteria defined on the controller node
with which requested PCI passthrough devices can be selected
from all the PCI passthrough devices available in a cloud. </div>
<div> Currently it has the following format: <span
style="background-color: rgb(245, 245, 245); color: rgb(51,
51, 51); font-family: Monaco, Menlo, Consolas, 'Courier New',
monospace; font-size: 13px; line-height: 20px; white-space:
pre-wrap; ">pci_alias={"vendor_id":"xxxx",
"product_id":"xxxx", "name":"str"}</span></div>
<div> </div>
<div> nova flavor extra_specs: request for PCI passthrough
devices can be specified with extra_specs in the format for
example:<span style="background-color: rgb(245, 245, 245);
color: rgb(51, 51, 51); font-family: Monaco, Menlo, Consolas,
'Courier New', monospace; font-size: 13px; line-height: 20px;
white-space: pre-wrap; ">"pci_passthrough:alias"="name:count"</span></div>
<div><br>
</div>
<div>As you can see, currently a PCI alias has a name and is
defined on the controller. The implications for it is that when
matching it against the PCI devices, it has to match the
vendor_id and product_id against all the available PCI devices
until one is found. The name is only used for reference in the
extra_specs. On the other hand, the whitelist is basically the
same as the alias without a name.</div>
<div><br>
</div>
<div>What we have discussed so far is based on something called
PCI groups (or PCI flavors as Yongli puts it). Without
introducing other complexities, and with a little change of the
above representation, we will have something like:</div>
<div> </div>
<div><span style="color: rgb(51, 51, 51); font-family: Monaco,
Menlo, Consolas, 'Courier New', monospace; font-size: 13px;
line-height: 20px; white-space: pre-wrap; background-color:
rgb(245, 245, 245); ">pci_passthrough_whitelist=[{
"vendor_id":"xxxx","product_id":"xxxx", "name":"str"}] </span></div>
<div><br>
</div>
<div>By doing so, we eliminated the PCI alias. And we call the
"name" in above as a PCI group name. You can think of it as
combining the definitions of the existing whitelist and PCI
alias. And believe it or not, a PCI group is actually a PCI
alias. However, with that change of thinking, a lot of </div>
</blockquote>
the white list configuration is mostly local to a host, so only
address in there, like John's proposal is good. mix the group into
the whitelist means we make the global thing per host style, this is
maybe wrong. <br>
<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div>benefits can be harvested:</div>
<div><br>
</div>
<div> * the implementation is significantly simplified</div>
</blockquote>
but more mass, refer my new patches already sent out.<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div> * provisioning is simplified by eliminating the PCI
alias</div>
</blockquote>
pci alias provide a good way to define a global reference-able name
for PCI, we need this, this is also true for John's pci-flavor.<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div> * a compute node only needs to report stats with
something like: PCI group name:count. A compute node processes
all the PCI passthrough devices against the whitelist, and
assign a PCI group based on the whitelist definition.</div>
</blockquote>
simplify this seems like good, but it does not, separated the local
and global is the instinct nature simplify.<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div> * on the controller, we may only need to define the
PCI group names. if we use a nova api to define PCI groups
(could be private or public, for example), one potential
benefit, among other things (validation, etc), they can be
owned by the tenant that creates them. And thus a wholesale of
PCI passthrough devices is also possible.</div>
</blockquote>
this mean you should consult the controller to deploy your host, if
we keep white-list local, we simplify the deploy.<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div> * scheduler only works with PCI group names. </div>
<div> * request for PCI passthrough device is based on
PCI-group</div>
<div> * deployers can provision the cloud based on the PCI
groups</div>
<div> * Particularly for SRIOV, deployers can design SRIOV
PCI groups based on network connectivities.</div>
<div><br>
</div>
<div>Further, to support SRIOV, we are saying that PCI group names
not only can be used in the extra specs, it can also be used in
the —nic option and the neutron commands. This allows the most
flexibilities and functionalities afforded by SRIOV.</div>
</blockquote>
i still feel use alias/pci flavor is better solution.<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div><br>
</div>
<div>Further, we are saying that we can define default PCI groups
based on the PCI device's class.</div>
</blockquote>
default grouping make our conceptual model more mass, pre-define a
global thing in API and your hard code is not good way, i post -2
for this.<br>
<blockquote cite="mid:CEF41940.362F5%25baoli@cisco.com" type="cite">
<div><br>
</div>
<div>For vnic-type (or nic-type), we are saying that it defines
the link characteristics of the nic that is attached to a VM: a
nic that's connected to a virtual switch, a nic that is
connected to a physical switch, or a nic that is connected to a
physical switch, but has a host macvtap device in between. The
actual names of the choices are not important here, and can be
debated.</div>
<div><br>
</div>
<div>I'm hoping that we can go over the above on Monday. But any
comments are welcome by email.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Robert</div>
<div><br>
</div>
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:MingLiU;
panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:"Arial Unicode MS";
panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"\@MingLiU";
panose-1:2 2 5 9 0 0 0 0 0 0;}
@font-face
{font-family:"\@Arial Unicode MS";
panose-1:2 11 6 4 2 2 2 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"PMingLiU","serif";
mso-fareast-language:ZH-TW;}
h5
{mso-style-priority:9;
mso-style-link:"Heading 5 Char";
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:10.0pt;
font-family:"PMingLiU","serif";
mso-fareast-language:ZH-TW;
font-weight:bold;}
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:"PMingLiU","serif";
mso-fareast-language:ZH-TW;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:MingLiU;
mso-fareast-language:ZH-TW;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0in;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
mso-fareast-language:ZH-TW;}
span.xc4
{mso-style-name:xc4;}
span.timestamp
{mso-style-name:timestamp;}
span.hyperlink-whois
{mso-style-name:hyperlink-whois;}
span.hyperlink-channel
{mso-style-name:hyperlink-channel;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;
mso-fareast-language:ZH-TW;}
span.Heading5Char
{mso-style-name:"Heading 5 Char";
mso-style-priority:9;
mso-style-link:"Heading 5";
font-family:"Cambria","serif";
color:#243F60;
mso-fareast-language:ZH-TW;}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";
mso-fareast-language:ZH-TW;}
span.EmailStyle27
{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:376635568;
mso-list-template-ids:577411570;}
@list l0:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1
{mso-list-id:619266783;
mso-list-template-ids:975350420;}
@list l1:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2
{mso-list-id:916208596;
mso-list-template-ids:-595457478;}
@list l2:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l2:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l2:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l2:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3
{mso-list-id:1579442428;
mso-list-template-ids:-37582402;}
@list l3:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l3:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l3:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l3:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4
{mso-list-id:1794980098;
mso-list-template-ids:1634616940;}
@list l4:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l4:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l4:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level4
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level5
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level7
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level8
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l4:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style>
</blockquote>
<br>
</body>
</html>