Files
Cloud-book/Ansible.html
2025-08-27 17:10:05 +08:00

829 lines
858 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html>
<head>
<meta charset='UTF-8'><meta name='viewport' content='width=device-width initial-scale=1'>
<link href='https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext' rel='stylesheet' type='text/css' /><style type='text/css'>html {overflow-x: initial !important;}:root { --bg-color:#ffffff; --text-color:#333333; --select-text-bg-color:#B5D6FC; --select-text-font-color:auto; --monospace:"Lucida Console",Consolas,"Courier",monospace; --title-bar-height:20px; }
.mac-os-11 { --title-bar-height:28px; }
html { font-size: 14px; background-color: var(--bg-color); color: var(--text-color); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
body { margin: 0px; padding: 0px; height: auto; inset: 0px; font-size: 1rem; line-height: 1.42857; overflow-x: hidden; background: inherit; tab-size: 4; }
iframe { margin: auto; }
a.url { word-break: break-all; }
a:active, a:hover { outline: 0px; }
.in-text-selection, ::selection { text-shadow: none; background: var(--select-text-bg-color); color: var(--select-text-font-color); }
#write { margin: 0px auto; height: auto; width: inherit; word-break: normal; overflow-wrap: break-word; position: relative; white-space: normal; overflow-x: visible; padding-top: 36px; }
#write.first-line-indent p { text-indent: 2em; }
#write.first-line-indent li p, #write.first-line-indent p * { text-indent: 0px; }
#write.first-line-indent li { margin-left: 2em; }
.for-image #write { padding-left: 8px; padding-right: 8px; }
body.typora-export { padding-left: 30px; padding-right: 30px; }
.typora-export .footnote-line, .typora-export li, .typora-export p { white-space: pre-wrap; }
.typora-export .task-list-item input { pointer-events: none; }
@media screen and (max-width: 500px) {
body.typora-export { padding-left: 0px; padding-right: 0px; }
#write { padding-left: 20px; padding-right: 20px; }
.CodeMirror-sizer { margin-left: 0px !important; }
.CodeMirror-gutters { display: none !important; }
}
#write li > figure:last-child { margin-bottom: 0.5rem; }
#write ol, #write ul { position: relative; }
img { max-width: 100%; vertical-align: middle; image-orientation: from-image; }
button, input, select, textarea { color: inherit; font: inherit; }
input[type="checkbox"], input[type="radio"] { line-height: normal; padding: 0px; }
*, ::after, ::before { box-sizing: border-box; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p, #write pre { width: inherit; }
#write h1, #write h2, #write h3, #write h4, #write h5, #write h6, #write p { position: relative; }
p { line-height: inherit; }
h1, h2, h3, h4, h5, h6 { break-after: avoid-page; break-inside: avoid; orphans: 4; }
p { orphans: 4; }
h1 { font-size: 2rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
h5 { font-size: 1.2rem; }
h6 { font-size: 1rem; }
.md-math-block, .md-rawblock, h1, h2, h3, h4, h5, h6, p { margin-top: 1rem; margin-bottom: 1rem; }
.hidden { display: none; }
.md-blockmeta { color: rgb(204, 204, 204); font-weight: 700; font-style: italic; }
a { cursor: pointer; }
sup.md-footnote { padding: 2px 4px; background-color: rgba(238, 238, 238, 0.7); color: rgb(85, 85, 85); border-radius: 4px; cursor: pointer; }
sup.md-footnote a, sup.md-footnote a:hover { color: inherit; text-transform: inherit; text-decoration: inherit; }
#write input[type="checkbox"] { cursor: pointer; width: inherit; height: inherit; }
figure { overflow-x: auto; margin: 1.2em 0px; max-width: calc(100% + 16px); padding: 0px; }
figure > table { margin: 0px; }
tr { break-inside: avoid; break-after: auto; }
thead { display: table-header-group; }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; break-inside: auto; text-align: left; }
table.md-table td { min-width: 32px; }
.CodeMirror-gutters { border-right: 0px; background-color: inherit; }
.CodeMirror-linenumber { user-select: none; }
.CodeMirror { text-align: left; }
.CodeMirror-placeholder { opacity: 0.3; }
.CodeMirror pre { padding: 0px 4px; }
.CodeMirror-lines { padding: 0px; }
div.hr:focus { cursor: none; }
#write pre { white-space: pre-wrap; }
#write.fences-no-line-wrapping pre { white-space: pre; }
#write pre.ty-contain-cm { white-space: normal; }
.CodeMirror-gutters { margin-right: 4px; }
.md-fences { font-size: 0.9rem; display: block; break-inside: avoid; text-align: left; overflow: visible; white-space: pre; background: inherit; position: relative !important; }
.md-fences-adv-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px; overflow-x: auto; }
#write .md-fences.mock-cm { white-space: pre-wrap; }
.md-fences.md-fences-with-lineno { padding-left: 0px; }
#write.fences-no-line-wrapping .md-fences.mock-cm { white-space: pre; overflow-x: auto; }
.md-fences.mock-cm.md-fences-with-lineno { padding-left: 8px; }
.CodeMirror-line, twitterwidget { break-inside: avoid; }
.footnotes { opacity: 0.8; font-size: 0.9rem; margin-top: 1em; margin-bottom: 1em; }
.footnotes + .footnotes { margin-top: 0px; }
.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; background: 0px 0px; text-decoration: none; text-shadow: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; -webkit-tap-highlight-color: transparent; line-height: normal; font-weight: 400; text-align: left; box-sizing: content-box; direction: ltr; }
li div { padding-top: 0px; }
blockquote { margin: 1rem 0px; }
li .mathjax-block, li p { margin: 0.5rem 0px; }
li blockquote { margin: 1rem 0px; }
li { margin: 0px; position: relative; }
blockquote > :last-child { margin-bottom: 0px; }
blockquote > :first-child, li > :first-child { margin-top: 0px; }
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem; white-space: normal; }
#write .footnote-line { white-space: pre-wrap; }
@media print {
body, html { border: 1px solid transparent; height: 99%; break-after: avoid; break-before: avoid; font-variant-ligatures: no-common-ligatures; }
#write { margin-top: 0px; padding-top: 0px; border-color: transparent !important; }
.typora-export * { -webkit-print-color-adjust: exact; }
.typora-export #write { break-after: avoid; }
.typora-export #write::after { height: 0px; }
.is-mac table { break-inside: avoid; }
.typora-export-show-outline .typora-export-sidebar { display: none; }
}
.footnote-line { margin-top: 0.714em; font-size: 0.7em; }
a img, img a { cursor: pointer; }
pre.md-meta-block { font-size: 0.8rem; min-height: 0.8rem; white-space: pre-wrap; background: rgb(204, 204, 204); display: block; overflow-x: hidden; }
p > .md-image:only-child:not(.md-img-error) img, p > img:only-child { display: block; margin: auto; }
#write.first-line-indent p > .md-image:only-child:not(.md-img-error) img { left: -2em; position: relative; }
p > .md-image:only-child { display: inline-block; width: 100%; }
#write .MathJax_Display { margin: 0.8em 0px 0px; }
.md-math-block { width: 100%; }
.md-math-block:not(:empty)::after { display: none; }
.MathJax_ref { fill: currentcolor; }
[contenteditable="true"]:active, [contenteditable="true"]:focus, [contenteditable="false"]:active, [contenteditable="false"]:focus { outline: 0px; box-shadow: none; }
.md-task-list-item { position: relative; list-style-type: none; }
.task-list-item.md-task-list-item { padding-left: 0px; }
.md-task-list-item > input { position: absolute; top: 0px; left: 0px; margin-left: -1.2em; margin-top: calc(1em - 10px); border: none; }
.math { font-size: 1rem; }
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem; border-radius: 10px; }
.md-toc-content { position: relative; margin-left: 0px; }
.md-toc-content::after, .md-toc::after { display: none; }
.md-toc-item { display: block; color: rgb(65, 131, 196); }
.md-toc-item a { text-decoration: none; }
.md-toc-inner:hover { text-decoration: underline; }
.md-toc-inner { display: inline-block; cursor: pointer; }
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: 700; }
.md-toc-h2 .md-toc-inner { margin-left: 2em; }
.md-toc-h3 .md-toc-inner { margin-left: 4em; }
.md-toc-h4 .md-toc-inner { margin-left: 6em; }
.md-toc-h5 .md-toc-inner { margin-left: 8em; }
.md-toc-h6 .md-toc-inner { margin-left: 10em; }
@media screen and (max-width: 48em) {
.md-toc-h3 .md-toc-inner { margin-left: 3.5em; }
.md-toc-h4 .md-toc-inner { margin-left: 5em; }
.md-toc-h5 .md-toc-inner { margin-left: 6.5em; }
.md-toc-h6 .md-toc-inner { margin-left: 8em; }
}
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit; }
.footnote-line a:not(.reversefootnote) { color: inherit; }
.md-attr { display: none; }
.md-fn-count::after { content: "."; }
code, pre, samp, tt { font-family: var(--monospace); }
kbd { margin: 0px 0.1em; padding: 0.1em 0.6em; font-size: 0.8em; color: rgb(36, 39, 41); background: rgb(255, 255, 255); border: 1px solid rgb(173, 179, 185); border-radius: 3px; box-shadow: rgba(12, 13, 14, 0.2) 0px 1px 0px, rgb(255, 255, 255) 0px 0px 0px 2px inset; white-space: nowrap; vertical-align: middle; }
.md-comment { color: rgb(162, 127, 3); opacity: 0.6; font-family: var(--monospace); }
code { text-align: left; vertical-align: initial; }
a.md-print-anchor { white-space: pre !important; border-width: initial !important; border-style: none !important; border-color: initial !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: 0px !important; background: 0px 0px !important; text-decoration: initial !important; text-shadow: initial !important; }
.os-windows.monocolor-emoji .md-emoji { font-family: "Segoe UI Symbol", sans-serif; }
.md-diagram-panel > svg { max-width: 100%; }
[lang="flow"] svg, [lang="mermaid"] svg { max-width: 100%; height: auto; }
[lang="mermaid"] .node text { font-size: 1rem; }
table tr th { border-bottom: 0px; }
video { max-width: 100%; display: block; margin: 0px auto; }
iframe { max-width: 100%; width: 100%; border: none; }
.highlight td, .highlight tr { border: 0px; }
mark { background: rgb(255, 255, 0); color: rgb(0, 0, 0); }
.md-html-inline .md-plain, .md-html-inline strong, mark .md-inline-math, mark strong { color: inherit; }
.md-expand mark .md-meta { opacity: 0.3 !important; }
mark .md-meta { color: rgb(0, 0, 0); }
@media print {
.typora-export h1, .typora-export h2, .typora-export h3, .typora-export h4, .typora-export h5, .typora-export h6 { break-inside: avoid; }
}
.md-diagram-panel .messageText { stroke: none !important; }
.md-diagram-panel .start-state { fill: var(--node-fill); }
.md-diagram-panel .edgeLabel rect { opacity: 1 !important; }
.md-fences.md-fences-math { font-size: 1em; }
.md-fences-advanced:not(.md-focus) { padding: 0px; white-space: nowrap; border: 0px; }
.md-fences-advanced:not(.md-focus) { background: inherit; }
.typora-export-show-outline .typora-export-content { max-width: 1440px; margin: auto; display: flex; flex-direction: row; }
.typora-export-sidebar { width: 300px; font-size: 0.8rem; margin-top: 80px; margin-right: 18px; }
.typora-export-show-outline #write { --webkit-flex:2; flex: 2 1 0%; }
.typora-export-sidebar .outline-content { position: fixed; top: 0px; max-height: 100%; overflow: hidden auto; padding-bottom: 30px; padding-top: 60px; width: 300px; }
@media screen and (max-width: 1024px) {
.typora-export-sidebar, .typora-export-sidebar .outline-content { width: 240px; }
}
@media screen and (max-width: 800px) {
.typora-export-sidebar { display: none; }
}
.outline-content li, .outline-content ul { margin-left: 0px; margin-right: 0px; padding-left: 0px; padding-right: 0px; list-style: none; }
.outline-content ul { margin-top: 0px; margin-bottom: 0px; }
.outline-content strong { font-weight: 400; }
.outline-expander { width: 1rem; height: 1.42857rem; position: relative; display: table-cell; vertical-align: middle; cursor: pointer; padding-left: 4px; }
.outline-expander::before { content: ""; position: relative; font-family: Ionicons; display: inline-block; font-size: 8px; vertical-align: middle; }
.outline-item { padding-top: 3px; padding-bottom: 3px; cursor: pointer; }
.outline-expander:hover::before { content: ""; }
.outline-h1 > .outline-item { padding-left: 0px; }
.outline-h2 > .outline-item { padding-left: 1em; }
.outline-h3 > .outline-item { padding-left: 2em; }
.outline-h4 > .outline-item { padding-left: 3em; }
.outline-h5 > .outline-item { padding-left: 4em; }
.outline-h6 > .outline-item { padding-left: 5em; }
.outline-label { cursor: pointer; display: table-cell; vertical-align: middle; text-decoration: none; color: inherit; }
.outline-label:hover { text-decoration: underline; }
.outline-item:hover { border-color: rgb(245, 245, 245); background-color: var(--item-hover-bg-color); }
.outline-item:hover { margin-left: -28px; margin-right: -28px; border-left: 28px solid transparent; border-right: 28px solid transparent; }
.outline-item-single .outline-expander::before, .outline-item-single .outline-expander:hover::before { display: none; }
.outline-item-open > .outline-item > .outline-expander::before { content: ""; }
.outline-children { display: none; }
.info-panel-tab-wrapper { display: none; }
.outline-item-open > .outline-children { display: block; }
.typora-export .outline-item { padding-top: 1px; padding-bottom: 1px; }
.typora-export .outline-item:hover { margin-right: -8px; border-right: 8px solid transparent; }
.typora-export .outline-expander::before { content: "+"; font-family: inherit; top: -1px; }
.typora-export .outline-expander:hover::before, .typora-export .outline-item-open > .outline-item > .outline-expander::before { content: ""; }
.typora-export-collapse-outline .outline-children { display: none; }
.typora-export-collapse-outline .outline-item-open > .outline-children, .typora-export-no-collapse-outline .outline-children { display: block; }
.typora-export-no-collapse-outline .outline-expander::before { content: "" !important; }
.typora-export-show-outline .outline-item-active > .outline-item .outline-label { font-weight: 700; }
.md-inline-math-container mjx-container { zoom: 0.95; }
.CodeMirror { height: auto; }
.CodeMirror.cm-s-inner { background: inherit; }
.CodeMirror-scroll { overflow: auto hidden; z-index: 3; }
.CodeMirror-gutter-filler, .CodeMirror-scrollbar-filler { background-color: rgb(255, 255, 255); }
.CodeMirror-gutters { border-right: 1px solid rgb(221, 221, 221); background: inherit; white-space: nowrap; }
.CodeMirror-linenumber { padding: 0px 3px 0px 5px; text-align: right; color: rgb(153, 153, 153); }
.cm-s-inner .cm-keyword { color: rgb(119, 0, 136); }
.cm-s-inner .cm-atom, .cm-s-inner.cm-atom { color: rgb(34, 17, 153); }
.cm-s-inner .cm-number { color: rgb(17, 102, 68); }
.cm-s-inner .cm-def { color: rgb(0, 0, 255); }
.cm-s-inner .cm-variable { color: rgb(0, 0, 0); }
.cm-s-inner .cm-variable-2 { color: rgb(0, 85, 170); }
.cm-s-inner .cm-variable-3 { color: rgb(0, 136, 85); }
.cm-s-inner .cm-string { color: rgb(170, 17, 17); }
.cm-s-inner .cm-property { color: rgb(0, 0, 0); }
.cm-s-inner .cm-operator { color: rgb(152, 26, 26); }
.cm-s-inner .cm-comment, .cm-s-inner.cm-comment { color: rgb(170, 85, 0); }
.cm-s-inner .cm-string-2 { color: rgb(255, 85, 0); }
.cm-s-inner .cm-meta { color: rgb(85, 85, 85); }
.cm-s-inner .cm-qualifier { color: rgb(85, 85, 85); }
.cm-s-inner .cm-builtin { color: rgb(51, 0, 170); }
.cm-s-inner .cm-bracket { color: rgb(153, 153, 119); }
.cm-s-inner .cm-tag { color: rgb(17, 119, 0); }
.cm-s-inner .cm-attribute { color: rgb(0, 0, 204); }
.cm-s-inner .cm-header, .cm-s-inner.cm-header { color: rgb(0, 0, 255); }
.cm-s-inner .cm-quote, .cm-s-inner.cm-quote { color: rgb(0, 153, 0); }
.cm-s-inner .cm-hr, .cm-s-inner.cm-hr { color: rgb(153, 153, 153); }
.cm-s-inner .cm-link, .cm-s-inner.cm-link { color: rgb(0, 0, 204); }
.cm-negative { color: rgb(221, 68, 68); }
.cm-positive { color: rgb(34, 153, 34); }
.cm-header, .cm-strong { font-weight: 700; }
.cm-del { text-decoration: line-through; }
.cm-em { font-style: italic; }
.cm-link { text-decoration: underline; }
.cm-error { color: red; }
.cm-invalidchar { color: red; }
.cm-constant { color: rgb(38, 139, 210); }
.cm-defined { color: rgb(181, 137, 0); }
div.CodeMirror span.CodeMirror-matchingbracket { color: rgb(0, 255, 0); }
div.CodeMirror span.CodeMirror-nonmatchingbracket { color: rgb(255, 34, 34); }
.cm-s-inner .CodeMirror-activeline-background { background: inherit; }
.CodeMirror { position: relative; overflow: hidden; }
.CodeMirror-scroll { height: 100%; outline: 0px; position: relative; box-sizing: content-box; background: inherit; }
.CodeMirror-sizer { position: relative; }
.CodeMirror-gutter-filler, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-vscrollbar { position: absolute; z-index: 6; display: none; outline: 0px; }
.CodeMirror-vscrollbar { right: 0px; top: 0px; overflow: hidden; }
.CodeMirror-hscrollbar { bottom: 0px; left: 0px; overflow: auto hidden; }
.CodeMirror-scrollbar-filler { right: 0px; bottom: 0px; }
.CodeMirror-gutter-filler { left: 0px; bottom: 0px; }
.CodeMirror-gutters { position: absolute; left: 0px; top: 0px; padding-bottom: 10px; z-index: 3; overflow-y: hidden; }
.CodeMirror-gutter { white-space: normal; height: 100%; box-sizing: content-box; padding-bottom: 30px; margin-bottom: -32px; display: inline-block; }
.CodeMirror-gutter-wrapper { position: absolute; z-index: 4; background: 0px 0px !important; border: none !important; }
.CodeMirror-gutter-background { position: absolute; top: 0px; bottom: 0px; z-index: 4; }
.CodeMirror-gutter-elt { position: absolute; cursor: default; z-index: 4; }
.CodeMirror-lines { cursor: text; }
.CodeMirror pre { border-radius: 0px; border-width: 0px; background: 0px 0px; font-family: inherit; font-size: inherit; margin: 0px; white-space: pre; overflow-wrap: normal; color: inherit; z-index: 2; position: relative; overflow: visible; }
.CodeMirror-wrap pre { overflow-wrap: break-word; white-space: pre-wrap; word-break: normal; }
.CodeMirror-code pre { border-right: 30px solid transparent; width: fit-content; }
.CodeMirror-wrap .CodeMirror-code pre { border-right: none; width: auto; }
.CodeMirror-linebackground { position: absolute; inset: 0px; z-index: 0; }
.CodeMirror-linewidget { position: relative; z-index: 2; overflow: auto; }
.CodeMirror-wrap .CodeMirror-scroll { overflow-x: hidden; }
.CodeMirror-measure { position: absolute; width: 100%; height: 0px; overflow: hidden; visibility: hidden; }
.CodeMirror-measure pre { position: static; }
.CodeMirror div.CodeMirror-cursor { position: absolute; visibility: hidden; border-right: none; width: 0px; }
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
.CodeMirror-focused div.CodeMirror-cursor { visibility: inherit; }
.cm-searching { background: rgba(255, 255, 0, 0.4); }
span.cm-underlined { text-decoration: underline; }
span.cm-strikethrough { text-decoration: line-through; }
.cm-tw-syntaxerror { color: rgb(255, 255, 255); background-color: rgb(153, 0, 0); }
.cm-tw-deleted { text-decoration: line-through; }
.cm-tw-header5 { font-weight: 700; }
.cm-tw-listitem:first-child { padding-left: 10px; }
.cm-tw-box { border-style: solid; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-color: inherit; border-top-width: 0px !important; }
.cm-tw-underline { text-decoration: underline; }
@media print {
.CodeMirror div.CodeMirror-cursor { visibility: hidden; }
}
:root {
--side-bar-bg-color: #fafafa;
--control-text-color: #777;
}
@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);
/* open-sans-regular - latin-ext_latin */
/* open-sans-italic - latin-ext_latin */
/* open-sans-700 - latin-ext_latin */
/* open-sans-700italic - latin-ext_latin */
html {
font-size: 16px;
-webkit-font-smoothing: antialiased;
}
body {
font-family: "Open Sans","Clear Sans", "Helvetica Neue", Helvetica, Arial, 'Segoe UI Emoji', sans-serif;
color: rgb(51, 51, 51);
line-height: 1.6;
}
#write {
max-width: 860px;
margin: 0 auto;
padding: 30px;
padding-bottom: 100px;
}
@media only screen and (min-width: 1400px) {
#write {
max-width: 1024px;
}
}
@media only screen and (min-width: 1800px) {
#write {
max-width: 1200px;
}
}
#write > ul:first-child,
#write > ol:first-child{
margin-top: 30px;
}
a {
color: #4183C4;
}
h1,
h2,
h3,
h4,
h5,
h6 {
position: relative;
margin-top: 1rem;
margin-bottom: 1rem;
font-weight: bold;
line-height: 1.4;
cursor: text;
}
h1:hover a.anchor,
h2:hover a.anchor,
h3:hover a.anchor,
h4:hover a.anchor,
h5:hover a.anchor,
h6:hover a.anchor {
text-decoration: none;
}
h1 tt,
h1 code {
font-size: inherit;
}
h2 tt,
h2 code {
font-size: inherit;
}
h3 tt,
h3 code {
font-size: inherit;
}
h4 tt,
h4 code {
font-size: inherit;
}
h5 tt,
h5 code {
font-size: inherit;
}
h6 tt,
h6 code {
font-size: inherit;
}
h1 {
font-size: 2.25em;
line-height: 1.2;
border-bottom: 1px solid #eee;
}
h2 {
font-size: 1.75em;
line-height: 1.225;
border-bottom: 1px solid #eee;
}
/*@media print {
.typora-export h1,
.typora-export h2 {
border-bottom: none;
padding-bottom: initial;
}
.typora-export h1::after,
.typora-export h2::after {
content: "";
display: block;
height: 100px;
margin-top: -96px;
border-top: 1px solid #eee;
}
}*/
h3 {
font-size: 1.5em;
line-height: 1.43;
}
h4 {
font-size: 1.25em;
}
h5 {
font-size: 1em;
}
h6 {
font-size: 1em;
color: #777;
}
p,
blockquote,
ul,
ol,
dl,
table{
margin: 0.8em 0;
}
li>ol,
li>ul {
margin: 0 0;
}
hr {
height: 2px;
padding: 0;
margin: 16px 0;
background-color: #e7e7e7;
border: 0 none;
overflow: hidden;
box-sizing: content-box;
}
li p.first {
display: inline-block;
}
ul,
ol {
padding-left: 30px;
}
ul:first-child,
ol:first-child {
margin-top: 0;
}
ul:last-child,
ol:last-child {
margin-bottom: 0;
}
blockquote {
border-left: 4px solid #dfe2e5;
padding: 0 15px;
color: #777777;
}
blockquote blockquote {
padding-right: 0;
}
table {
padding: 0;
word-break: initial;
}
table tr {
border: 1px solid #dfe2e5;
margin: 0;
padding: 0;
}
table tr:nth-child(2n),
thead {
background-color: #f8f8f8;
}
table th {
font-weight: bold;
border: 1px solid #dfe2e5;
border-bottom: 0;
margin: 0;
padding: 6px 13px;
}
table td {
border: 1px solid #dfe2e5;
margin: 0;
padding: 6px 13px;
}
table th:first-child,
table td:first-child {
margin-top: 0;
}
table th:last-child,
table td:last-child {
margin-bottom: 0;
}
.CodeMirror-lines {
padding-left: 4px;
}
.code-tooltip {
box-shadow: 0 1px 1px 0 rgba(0,28,36,.3);
border-top: 1px solid #eef2f2;
}
.md-fences,
code,
tt {
border: 1px solid #e7eaed;
background-color: #f8f8f8;
border-radius: 3px;
padding: 0;
padding: 2px 4px 0px 4px;
font-size: 0.9em;
}
code {
background-color: #f3f4f4;
padding: 0 2px 0 2px;
}
.md-fences {
margin-bottom: 15px;
margin-top: 15px;
padding-top: 8px;
padding-bottom: 6px;
}
.md-task-list-item > input {
margin-left: -1.3em;
}
@media print {
html {
font-size: 13px;
}
table,
pre {
page-break-inside: avoid;
}
pre {
word-wrap: break-word;
}
}
.md-fences {
background-color: #f8f8f8;
}
#write pre.md-meta-block {
padding: 1rem;
font-size: 85%;
line-height: 1.45;
background-color: #f7f7f7;
border: 0;
border-radius: 3px;
color: #777777;
margin-top: 0 !important;
}
.mathjax-block>.code-tooltip {
bottom: .375rem;
}
.md-mathjax-midline {
background: #fafafa;
}
#write>h3.md-focus:before{
left: -1.5625rem;
top: .375rem;
}
#write>h4.md-focus:before{
left: -1.5625rem;
top: .285714286rem;
}
#write>h5.md-focus:before{
left: -1.5625rem;
top: .285714286rem;
}
#write>h6.md-focus:before{
left: -1.5625rem;
top: .285714286rem;
}
.md-image>.md-meta {
/*border: 1px solid #ddd;*/
border-radius: 3px;
padding: 2px 0px 0px 4px;
font-size: 0.9em;
color: inherit;
}
.md-tag {
color: #a7a7a7;
opacity: 1;
}
.md-toc {
margin-top:20px;
padding-bottom:20px;
}
.sidebar-tabs {
border-bottom: none;
}
#typora-quick-open {
border: 1px solid #ddd;
background-color: #f8f8f8;
}
#typora-quick-open-item {
background-color: #FAFAFA;
border-color: #FEFEFE #e5e5e5 #e5e5e5 #eee;
border-style: solid;
border-width: 1px;
}
/** focus mode */
.on-focus-mode blockquote {
border-left-color: rgba(85, 85, 85, 0.12);
}
header, .context-menu, .megamenu-content, footer{
font-family: "Segoe UI", "Arial", sans-serif;
}
.file-node-content:hover .file-node-icon,
.file-node-content:hover .file-node-open-state{
visibility: visible;
}
.mac-seamless-mode #typora-sidebar {
background-color: #fafafa;
background-color: var(--side-bar-bg-color);
}
.md-lang {
color: #b4654d;
}
/*.html-for-mac {
--item-hover-bg-color: #E6F0FE;
}*/
#md-notification .btn {
border: 0;
}
.dropdown-menu .divider {
border-color: #e5e5e5;
opacity: 0.4;
}
.ty-preferences .window-content {
background-color: #fafafa;
}
.ty-preferences .nav-group-item.active {
color: white;
background: #999;
}
.menu-item-container a.menu-style-btn {
background-color: #f5f8fa;
background-image: linear-gradient( 180deg , hsla(0, 0%, 100%, 0.8), hsla(0, 0%, 100%, 0));
}
</style><title>Ansible</title>
</head>
<body class='typora-export os-windows typora-export-show-outline typora-export-no-collapse-outline'><div class='typora-export-content'>
<div class="typora-export-sidebar"><div class="outline-content"><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ansible自动化运维">ansible自动化运维</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ansible介绍">ansible介绍</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#核心组件">核心组件</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#任务执行方式">任务执行方式</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#特点">特点</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#执行过程">执行过程</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ansible部署">ansible部署</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#参数说明">参数说明</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#快速开始-1">快速开始</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#常用工具">常用工具</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#主要配置文件">主要配置文件</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#配置主机清单">配置主机清单</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#执行状态">执行状态</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#常用模块">常用模块</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#ping模块">ping模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#group模块">Group模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#user模块">User模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#command模块">Command模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#shell模块">Shell模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#script模块">Script模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#copy模块">Copy模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#file模块">File模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#yum模块">Yum模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#service模块">Service模块</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#selinux模块">Selinux模块</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#playbook剧本">Playbook(剧本)</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#介绍">介绍</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#快速开始-2">快速开始</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例服务安装">案例:服务安装</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#高级配置">高级配置</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#fact事实变量">fact(事实变量)</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#循环迭代">循环迭代</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-1">RHCE真题讲解(2023-10)</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例循环创建用户">案例:循环创建用户</a></div><ul class="outline-children"></ul></li></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#条件判断">条件判断</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h4"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-">RHCE真题讲解(2023-10-)</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#jinjia2模板">Jinjia2模板</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-2">RHCE真题讲解(2023-10)</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h3"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例生成nginx配置文件">案例生成nginx配置文件</a></div><ul class="outline-children"></ul></li></ul></li></ul></li><li class="outline-item-wrapper outline-h1"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#role角色">Role(角色)</a></div><ul class="outline-children"><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#目录结构">目录结构</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#初始化自定义role">初始化自定义Role</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#案例使用role安装httpd">案例使用Role安装httpd</a></div><ul class="outline-children"></ul></li><li class="outline-item-wrapper outline-h2"><div class="outline-item"><span class="outline-expander"></span><a class="outline-label" href="#rhce真题讲解2023-10-3">RHCE真题讲解(2023-10)</a></div><ul class="outline-children"></ul></li></ul></li></div></div><div id='write' class=''><h1 id='ansible自动化运维'><span>ansible自动化运维</span></h1><h2 id='ansible介绍'><span>ansible介绍</span></h2><p><span>ansible 是一个开源的自动化运维工具,主要用于系统配置管理、应用部署、任务编排等场景。它使用 YAML 语法编写配置文件,语法简单易懂,学习曲线平缓。ansible 的任务是幂等的,意味着多次执行结果是一致的,不会产生意外结果,非常适合于持续部署和集成。</span></p><p><span>ansible 支持众多常见操作系统和中间件,具有良好的扩展性。同时它还支持自定义模块,可以满足各种复杂的自动化需求。另一个特点是 ansible 不需要在远程主机上安装任何代理,只需要有 SSH 访问权限即可,并且不需要中央控制节点,使用 SSH 协议直接连接远程主机,部署和维护相对简单。ansible 使用 SSH 进行远程连接和命令执行,保证了数据传输的安全性。</span></p><p><span>ansible由python开发集合了众多自动化运维工具的优点实现了批量系统部署、批量程序部署批量运行命令等功能。ansible是基于模块工作的本身没有批量部署的能力真正具有批量部署能力的是ansible运行的模块ansible只是提供一个框架。</span></p><h2 id='核心组件'><span>核心组件</span></h2><p><img src="data:image/png;base64,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QBbGspTV9Xg8vn37dq/XsywLI0J37969detWvV5HDZPNZjc2Nt57771isXj+/HkhRLfb/eSTT37/+9+fPHkSdQsAYF1Qv9+/fv365cuXfd+fm5trNBrD4dAwjPn5+ZWVFc755cuXr127VqlUWq3Wn/70pw8++KDb7dq2rWnap59+OhwOZ2dnz50753ne9evXv/jii/Pnz2OoR0qZzWY1Tdvc3Lx+/frdu3dd161UKqVSqVarvf/++6urq+g//uKLL2IE6cqVK6PRaH5+/uLFi/1+P4qiI0eODIfDv/zlL7/5zW+q1erMzEw+n9/Z2Xn//fctyyoWi/V6/ebNm1EUHTt2TNf1RqNRq9VGo1E2mzMM48rqlfX19StXrwz6g0w2EwTBn//85+FwaJjGq6++yjXe6/c451LIZrN589ZN3/fffOPNt95+a25uzjCNSIh33nnnuedO27aVy+WGw+H62ro7dufm5oQQH3/80eXLX3z55ZeMcQD48ssvr127tr62XiwUGjs7lz69VKvXUk6KcT4ej+/cvfvpxYvHjh6tVirNZvPDDz7Y2ty0HUcI8ZcLF65dvZpOpxlAFIaTDleYk/l4H1cZW8OrBsfj8dh1XbRSpAkDQRwO0ktPDxY3v8OnU5FxdX8RBRL+xPq+j00AkzcjZcLJVLWqeNoHQxAE8R0Av3jH4zGGkjC+hDYJeIcLZ/CpVArDUN1ut9frzc/P67ruui7Og5XfN9tbebJrC7G3p5BaARJqbWtrq9VqdTqdzz//fHt7W0pZq9XW19cXFxdffvnlpaWlL7744vbt29VqdXl52bKs9fX169ev67peqVRc10W99NOf/vRXv/qVaZr/+7//+7vf/W51dbXX66HYKBaLp06deu6551ZXV69du9bv9z3Pu3379n//93/fvHnzF7/4xWuvvRZF0YULF9BIoNVq7ezs3L17N4qi8+fPD4fDTqfT6/Xq9fpvf/tbIcTa2tr29nY6nX7ppZdWVlb+8Ic/3Llzx/O8EydOnDlz5vvf//7MzMx777139+7dXC53/Pjx69ev37hxo9VqjUaj9fX13//+9/1+/+233z5+/HihUOh0OtlsdmFhYWVlJZ1Or62tXb16tV6vnzhx4tixY1euXBkOh6+88r2f/Pgn165de++991zPffV7r77z43eazea///u/r66uVqvVpaWlcrmc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mWfWr19vWVa9Xoel3avlGOYK7ydBEHcibXFLJgjiJhAJXatXJt0EODAyDCMUCmH4yHEc13UxmlSr1SYmJk6fPn3u3LlisViv13VdtyzLNM3+/v6NGzf29PSI/EbbtlFN4airWq2+884758+ft227VCoVCgVN0wYGBnp6ejZt2tTf3++6ruM4OPk9Pj7+6aef1uv1jRs31uv1ixcvXrhwYWpqKhwO7969e//+/ZFIxHGcTz755MiRIwsLC7Zt43gxmUwmk8m+vr577rknm82irsDtxB3E6nMWdO9tQz73ZBPmeLdne4hVAc4O4O/U87yFhYXDhw//9re/vXz58tatW//8z/98cHAwGo3ipINlWaqqGobR29v7wx/+8NixY4cOHcLcvK1bt2J4Fi999XqdTBoIgrjVkF4iiHZHxI6anpQftOY+3dlgZZEIYmAkZ2Fh4cSJE6+99tqzzz77ySefNL0lkUh873vfe/rpp++5555kMiniToyxSqUyPj7+2muv/cu//MvZs2eb3rhhw4ZvfvObf/Znf7Z371606lpcXDxx4sT/+3//79ixY48++milUjly5Mj4+Dguf+DAgX/6p3+KxWIfffTRc88999xzz7Vu/0MPPfS9731v//79g4ODkUgEk/QwvVDUMn3lB+3maE0R5BIghZjkd1FwiWjCNE0M22IR4JkzZ376058ePHhwcHCwp6fnxIkT7777rqIopmnG4/FNmzYBwHvvvTc7O6tpmuM4tVrtX//1Xy9evPjjH/94eHg4lUpBUNKJGqxN6jMJgrgjIb1EEO0OXwosHZvKwql9Btm3Gsxtw9Q4LHzyPO/06dPPP//8q6+++tlnn/X29nZ2dmIdlOu6MzMzly5d+o//+I9PPvnkr/7qr9asWdPZ2blt2zbf9xcWFo4fP/7rX//6ueeem5yczGaznZ2doVAIK50uXrw4Njb2X//1X0eOHPmHf/iHr33ta1gvkUgkotHo+Pj4z372M8MwDMPo6uqKx+NTU1O5XG5mZuadd955+eWXDx48mEgkenp64vE4Y8xxnHK5PDk5+fbbb4+MjHz729/+wQ9+cN9990UikVqtZtu2YRg4B7/SB/iLseyJR+NXQsZxHADAfLxqtVqv14eGhmzbXlxcfO+9944cOQIAiqJMTEyoqvq3f/u39Xr9Jz/5ydDQEAaENU0bHh52XffSpUubNm0yDKNSqdi2HYvFMM6Mn0KnHEEQtwLSSwTR1sgq6FqSqXXJOx5d1zG9TZhu1ev1s2fPnjp1anZ2dt26dT/84Q//8i//MpFIeJ43Nzd3+vTpf/zHfzx16tSVK1c++OCDycnJbdu2bd26tVarHT58+De/+c0rr7wyOTm5YcOGJ5544pFHHtm2bVsul5uamvr1r3/9/PPPnz179vz58//8z/8cjUYffvhhXdcdx7FtW1VVVVWz2ex99923d+/e7u7uCxcubNq0KRKJHD9+/MyZM6lU6qmnnvq7v/u7vr4+TdPq9frp06f/53/+54UXXpifn//ss8+mp6dxxl1UdICUabmSh/i6XKtYblklTxAAYNu2MEQJhUL33Xff5s2bAQAt79DfRdf1Z5999tlnn8Xle3t7f/KTn6xduxZT71ALhcNhLAK0LAtDT/jbuX43W4IgiC8D6SWCaCOudb+/jhZqSsy7SxBudVjtAwCaplUqlcXFRUVROjs7+/v7u7q6YrEYAHR3d2cymbNnz7quG4vFcIbbtm1M8rl48eLZs2dnZ2fz+fxf//Vff//73+/s7MQBWTqd/pu/+Zvu7u5f/OIXb7311ttvv3348OG9e/eijR5a8zHGHn/88e9+97u7du2KRqPlcjkUCp08ebJUKtm2nU6n161b19/f39nZiVuezWYXFhYuX7585coV3OZqtRoOhzGhCIL6Jc45pi2t3DFu8Ll+D9c6OSm+RMiYpokntrAziUajmKTHOY9EIih7EokEYwwLCFVV7e3t7erqAgDHcXRdLxaLEBTIKYqCVv5oHAqBb8rK7iZBEHckpJcIYrXSpJS41OtmRbfry3J9kyt8SXiCQzB4Qq9wx3FKpdKpU6deeOEFz/MwTBSJRFKp1I9+9KPHH39cVdVIJKKqaiKR0HV9enr6+PHjp0+fBoDt27fv2rWru7sbDffEx23evHl4ePjIkSOlUml6erpcLhuGgYKqVqv19fU98cQT+/btS6fTvu+Hw2FFUcLhMFrwjY2N/eIXv7As6/777+/p6YlGo5FI5Gtf+9rQ0BA69WUymXA4zDnHjjQ4CsRhX9t+j+J8u6skOvElwfgSeusL4VSr1dDaBB+IkkL09+ecl8tlLFb0PA/tLjEYW61WNU3DX5mQSW37kyEIYrVDeokg2ghh3iCeYUEvWmE41mr8IGyphaOu6OTTnsNulHYQtJbCrq+ibicUClmWhTZZGGzBpq44i4yLYZE3BMcH7cXXr1+/bdu2ycnJycnJ119//fz58x0dHbFYrLu7e9euXZs3b96yZUs8HudBa1rO+fz8/NzcXKVS8X3/7NmzP/3pT59//nk03MNOrCjMLl68WCqVAGBhYWFubi6Tyfi+jwmB4XC4o6MjHA6LlrWmaSaTyXvuuefChQunT58+derUv/3bv7388suJRCKRSGzcuHHv3r0bNmxYt24dKjd8l2zDzaTOniuOnCiIMKk/smjdK15d1phE7NF14lHEqmbZ64yQMaiOMH8VAGSRg+eS6OOMTwqHffS+QwUFgbMLXvHwedncn1hZ5N+1mLxDuYsZAfJ14DrracN71ipFHMnWiVRxF8bn8UqO0VosCBQ91gmEjgVBtDut1mTyRXD1Dj1xFIWyxDAMcWmenJwcHR1dv369GIhjR1d8VQQ3UNXgFR//3b59+/e//33Lst56662RkZGTJ08ahsE5D4VCBw8eXL9+fS6X27Zt2wMPPJDP5yORCJrd4W3Dtu2xsTH0uEONJG+nMIibnp6emppKpVL4FWialslkYrEYzprjqjzPy+fzTz31VCQSeeWVV95///3z58+fP38eAAzDyOfzb7zxRj6f7+npeeihh3bv3p1Op0WnJi71w20TS+7P3YamM1Ac0lu5UcQqgwUdqPFP8XMW1iaYJSu/BU8h8S6htUCS39DeZX53IfKXKGbxIOh7Ia6lN3JlW723tvZBzgUQk6ci8VvcZTzPs21bRHeFgmqdwL2bIb1EEKsD2enhRoawMvhkG171MHxkmiaKJZxjXlhYmJycXLduXbVa5ZzjiEoMwXHMVC6Xp6enceYSLfIAIJPJPProo7lcbvfu3adOnZqZmfE8b2xs7OLFix999NGpU6cURRkaGnr33XdTqdR99933gx/8IJvNRqNRdN/au3fvmjVr0JsYZQ8+j7cT/OgtW7Zks1lUR/hqNpvFHDx5yjwcDm/bti2RSAwODn788cejo6NjY2Po7jA3N/eHP/zB9/2urq6zZ89OTk5++9vfTqfTmKEkMvFW6VhBnKJNzwCNfu562vD6Q9wK8Jcu4kg4AWTbNgSq6UZWQmfLV8i1Yr8Y95PVlBC34i30RQhILxFEWyMPN2XJdJ3F4Bpxp/YZhcsXaDG/BQCmaaqqWiqVZmdnAQBFC1aH4wJ46y0Wi5cvXwYA7GiJ6XkAUKlUyuVyX1/fwMDAk08+OTk5ubCwMD4+fvHixdHR0VOnTp0/f35kZGRyctL3/Uql8hd/8ReYfsAYi8Vi+/bte/rppzs6OnjQAQnnthljwrlY07REIiHyFhRFwba5GOlCN3Df92u1Gro47Nmz56GHHioWi5cuXRodHR0fH5+amjp37tzp06cXFhYOHToUj8cfeeSRZDIpy1rZDaydWfaE5C0AiSWCuGsQFy7MoMZLKE4/3WAn6/ZMI1+liBgR3lOa8lPwJiv6GYqLtpw+Td8FQnqJINod4f4ES69f8nhUvtKtorEpzm8BgOd5sVisr69vcnJybGzsww8/3L9/f3d3N5Ytcc5ROOm6Xq/X33///T/+8Y8YWUokEtlsljFWLpcPHTr0wQcfGIZx77333nffff39/fPz8zt27PA8b3Fx8dChQ//93//9/vvvFwoFzvnCwsL8/Lxt27quh0IhALh06RIWQeFsKOccTR0mJyfHx8dHRkYAYHBwMBaLYfYCFlbJpWJ4m3Ec55NPPjl27NjU1FR3d/eBAwcGBgb6+/vvvffeYrHouu65c+d+/vOfv/zyy4VCYW5urlQqofcXlxLK2/kWhdspn5PyS3LKB1zbEJ8giDsYHpiXGoaBNWYiz/lGhuB0lfhKaL0ai5eack/kvAZxheecUwmTgA4EQdxptPmdRpZ84q5pGMbAwMD27ds/+eSTy5cv//GPf8zn8/v27evv708kEqZpouYpFAqXLl168cUX33nnnUql0tvbu2bNmrVr14bD4bGxsYMHD/7qV7+q1+sPPPAAADz44IPpdBrX39HRceHChUgkIry5AEBV1XQ6vXXr1jNnzvzpT3968803h4eHE4lEPp9PpVIo5GZmZv7whz+88sorR48erVQqP/7xj7dt2yaP+0WVBUalUD5dunTppZde+vDDD/v6+nzff/zxx3t6epLJZDKZBIBarRaNRoWBOH6QSBZvN76ocmtVRE0hpvbcTYIgvhJwtC1G6hhZEpGNGynOpEvEV4VsEyXfc8URFsZLcoGZ6NWxchvejpBeIojVwY1PzC+bENU+4LVY2BvgvTMUCg0ODt53333YUvbIkSMLCwsnT57cunXrwMDAmjVrSqXShQsXUNh89NFHU1NT4XB4796927dvTyQSAKDruq7rtVrt0qVLWLq6uLi4Zs0ay7Lq9frU1NRLL7300Ucf6bre2dmp63pXV1c0GjUMY//+/Z999tnY2NiVK1deeumlWq22ZcuWjRs35nK5Uql06NCh3/72t++999709HQ+n0+n09hkSbh+Yx8nHB+gL4VhGCiHZmdnZ2Zm4vF4rVbbvn07Fil5nvfWW28dPXq0Xq+n0+l8Ph+LxQzDqNfrXCrWgtWQOH4tCdQaUGq3k5AgiFsKY0wuBMWrpWEYK71ddyOttxLhmILfjpizwyXRhAnvcbd/a9sW0ksE0UYsO0RuGnTKQfPWBcRL8vK3bwduGLwcC4twxlg2m92xY8eTTz5ZrVZPnDhx9uzZ+fn59957LxwOp1Ip13Xn5uampqYmJycBIJfL7dy58+mnn96xYweGjJLJ5O7du0dHRw8fPjw+Pv6b3/zmxIkTuVxOVVXbthcXF8+ePVsoFLZt24Zxp6GhIUzwGxoaevzxxyuVyu9+9ztsXNvV1ZVKpWKxmOM4Z8+enZiY8H1/eHj4wIEDe/bswaImnDfFxrX1et11XdEMStO0vr6+nTt3zs7Onjlz5uDBg59++mk+nw+HwzhjNzo6ev78+Uwms3///gMHDiSTSbSOwLuU+AbbPCsPuREhRKqJIO4qhGkhFpcyxirV6sSVK7FYTFVVz/VUTVWV643FKbjxlcAYAwbAlzwjMiMaQSQGClN87juOE41GsR+g67qirzSB0LEgiHaBL5fVveyT8quyQGp68gt93PU/6CsEZZJotwJBzoaqqv39/U8//XQ+n3/ttddOnz49PT09Pj5eq9Vw29AHL5PJDAwMPPjggw899NDOnTvT6TTqClVVd+zYYRjG2rVr33zzzQ8//PDMmTNnzpwR+6UoysMPP/zUU0/t3bs3lUqhTwMAxOPxnTt3plKpgYGBX/3qV+j9Lbs5dXd3b926dd++fQ888MDAwAA+r+t6JBJJp9OdnZ2hUEhsA7aN6uzs/PrXv57JZA4dOvTOO++Mj4+Pjo6KjrSMsXXr1j3xxBMHDhzYvn17KBQSolF8d7fNJflWfO8io0Osn5QSQdwl4PXEcV1wXdM0FUWxbfvKZ5f/93//r1ar8qBzsaKqDIAHY3n5GoRPLXvRYI0FWNNbiOVhjOGRZNB0u/c9X/ZbchwnEU/s3bv3nnvuicfiTGNt0tCifSC9RBC3FYwhyNM2PMjqFo1BuZTejaNwrHWRp9xQdYgIEtbkoCmC+JNL/S7ER+MzruuikbecZS7cF24porQUAvEgtjAcDg8ODmaz2aGhoY8++mhsbGxhYQGz3RRFMQzDMIxIJLJu3brdu3f39/eLw4i35Fwut3///rVr127evPnMmTOFQgFvzLqua5pmGMauXbvuvffeVCqF9cfY8kXTtFwul0qlent7+/r6zpw5Y9s29qJljIVCod7e3uHh4Y0bN3Z2duKmmqY5MDDwrW99a3h4eNu2bfl8Hg87BOYc0Wh0x44dPT09Gzdu3LVr19TUFMagcGt1Xd+wYcP999/f19cntBZf2pzk9ugl3Fphgy7OGQhyM+TNEMmTctxSTFKK1sPiFitUk2EYxWIRTzD5I4Rm5kvdbAmCWI0Ev1/u+xw4B85911NUBuAXFxfePfzHs+c/McMmqMzxXZf7oAJnDdnDODDOmc85Bw6MX+MCyKT/L3uxEE9SfAoAgLNAjwYiFACAA+c+5wyYpmqmZriuuzCz0J3vyXZkhzcOa0rjdgY+cMZ97ouLsxCxd+G1mvQSQdxW0LsTlhZiygs0ZWRBoHNQ0jiOY9s2xqAN46sAACAASURBVDfweQgGphA0hUQxIHoFcs4dx5HXj2JJXO8w2iM24zaM1GVhxoJmlOLVRCKxa9euzZs3V6vVWq2GVt0YXMIMOtM0LcuSjx7KHpRA69at6+/vxxQ7x3E456qqmqZpGIZlWa1KFddjGEZvb+/TTz/9jW98w3VdFGn4ofhxIvOec67r+sDAQG9vLwpUwzCEuJX7b3Z1dWWz2Z07d9ZqNVwh7rumaeFwGLs2gfSNi5Xc4sO/BLFV8mNZRQtHYDmRA3cc6xOEV56IjzUFyoQdPOolbDQMAEKic85rtZpo2suCjreiG9XtPCAEQdw0jDEOjDGu6wb4Hvc8UDRdVVTFLxXnK7WFzrWDnX1dzFAd5vkqgNr4hSscFJ8rHgef+4rCNR1YcCfiAEvVEZNvmnzpS/gcI70EAAy4AqAAACicQ0PFAvdRMjFgmqLroM3PzB9779h8cc7jnmVZTGHc5sCZzzyucmBXRwXiUt/4gLvp4kx6iSBuE03DYjl9TvRdBclLWoxNUTNAEEdCC2w02hYFmgCAdTVoG4CNgMRHi2scKi6ssTEMA6tuRJDhtuWAtSL2QkRXUFHgwUHN07R5TTpTjOZRtOi6HovF5CAbLiZidMsOxEOhEHqLi1hK0wLiS8Sg37V2RLxd3hKhGZqCNl/kOH3FYPQSJHc+UQQsugPjOYbSRY5nitgg7peo6haRUnwj57xaraLQVQLkbD18IFaIJ6fQSyt3bAiCuClQ3jAGigp+Q81w7ttOPRy2tmy9Z+e+PZFMwte4p3BQGlFsFUD1QeHAfPAVhas6l67Pwe1BSCPOfel5WU0FF1R/xe5m7QMDrjYCeAr3gXPm40UXo3+qouiKVi/VPzxxeuSTEbtY9zzPBw8YAAPOOfc50DU4gPQSQdwmWNCzD4eDYujZFGmRl8d/Q6EQDiVRU6mqioWYojERSEl99XqdMWZZFgYBVFUVGgC7rGJDDNM0Xdet1WqmaWLIRdZyKwuX2hDJyWliC6+vMZp2RMQ65ECKHC3hUgEPD5AXWPZ7+dxd4IGpbtNU3MoKJBncSJHqiWeL8C0UMklIJvFFoAcgRkpFbBP/FeeSWLnv+9VqNRQK4WmPdV8YkTMMQ5glxuNxEXcSkaUb7G5JEEQ7wbnPG8EhxoABA8YZczzP9txYItHT1xtKxmzmeioH4Hg9VgE0DipnjIPPmAPgS8l3wXRX8IBd1U7NkqmRcAac9BJnwBXgDb3EUS+xhl7iPtdVzdKtWrgWj8cUlXHwPc9xXQc4ZypjDDhnHNrlhrXikF4iiNsElypDMGZSqVTm5uZ4YGYge3qKcfbly5flrkH4vC8hj2Ixf8yyLNu2L1++XKvVcDw6MjISiUSwe6DI7jMMI5fLYQkT1v8AgEgnawfk4yAUZpMIWZamvDK2tKm5/HahXsSSEKSNyUllrW+8EZpWLip/2oQmIYd6fn5+fmFhAXUL1owxxiqVCopwlDGTk5OqqqL25pKdgzgzhdxChY8peYVCYXR0NBwOF4vF6enpkZERXFLIqkKhEI1Ge3t7hY7yPK+tTkiCID4fBsAYZ4xj4q4KigKKqim6Vq3XqrWq7Tqq69jccRXfB86BN/LxOGg+UwB8Bi5jPltSpLQ0gsQUIaZ4ywKoFG71brY9HBgL9BJj3GccwOcQNPrzua9pKmPAuK6rqspUTfU8t1QuMl8BH5jPFE21opaqU4wJgPQSQdxOVFUV1Ti2bV+6dOnVV189f/48AIi6IzQbwDCUoijVanVmZsa27Xq9DgD4pO/7OBkvLCLwGZzyL5fLZ86cqVQqtm27rqvrOnYowlBSpVJZXFyMRCKPPvrot771LREQwOl/zAxc8Rl9EQVqfelGtk1IHS4ZCSwbx5N1VNOrInPvJiJvTR8h665rha1WChHKUxSlXC4fO3bs0KFDExMTnudh0RcAFAoFAIhGo6FQyHGcCxcuzM3NYQzT931d1zGxkzEmKuWwwAkXMAyjWq2eOnXq008/VRSlXq8nk8nXX38dY6Eover1eigUeuihhzKZTDQaRb8NPNtX8OAQBHEzMOAAHLjLPXB9VVWYophWiDPm+J7LfZd7Dvdc7vnAOeeMNyQT56iXmKeoGBdh0AgZKSBZ6XHwhVOebAERwBuq6jbtbrvCFFAVUADAZxyYHxwYDuCDAo5nlyoe8xhn3PO9cqU0On7xgz99oDOD+RA2Qrl8R/+6tSE9vNI70haQXiKI2wQLqthFQCkUCpmmOTo6Ojo6ilVJmDjnS83RTdNMJpMdHR1oD4D2A8KtgQWNgFAs+b4fi8Wy2azruiMjIyixcCBbKBRQFGHa1datW1OpFJY5YdDJMAzeNi29l9USN172I0el4KZ6GTUJnht/o0D2cpDTL29iVbcUUW6EZ1c4HPY8b2xs7NKlS5VKxTTNSCQiKq9UVUVjhkQigfKJB1VeovBJGKMDAPptdHR0zM/PFwqF6elpAFBVdX5+/pNPPllcXIQgrpVOp/ft25dKpVDA4/dF3T8IYtXBffCwyFNRNE0H8HzOgTFVUxVVBVXlCvO453quC9xnHFsEKQw4B+4DZxje8PBW1Ox3xzE9L7gq8+UCUEIv3d0Ex0kB9G3nPgDnQT6eEKIqKC53y9VSuVJaWJyfnZsxmKn4rGqYVsSUO3/c5dDdiCBuH7Zti4oRdHL7zne+Ew6H33zzzQsXLjiOk0ql+vv716xZk0wmOefYzCcejxcKhf7+fsMwsEEqSN3T5aynzs7Ohx9+eMeOHbqu45K4zNzc3IcffnjlyhVFUXK53NatW7/2ta/t378fQwRCWrCgrH+lj9PyzQpvWvDItMZ5rrPAjX/cdTZDKCWh2drhCCNNSjIcDu/evTsej/f29h46dOjs2bOO43R3dw8ODnZ0dOi6jmYhiUQCRXt3dzfm4DXtJgQ7rihKPp9//PHHRfqoruuGYSwuLp47d+7y5culUgkAUqnUww8//MQTTwwMDJimiXEnDHi2z7EiCOJG4ACu76NA0nQduMLB84E7nmu7juO5ru8qvudwzwfgDIPbjXf6wAG4x8ADflUvyal3GHRiGD1iGMhiQc3SVcgfD/MiOTSqvhgH4I1kvOB4KcCYqiqKwhTu+Z4ZMhOJeCaTMrWw4jKFMcMwGaMIfwPSSwRxm5CL4DGnTlGUrq6uxx57LBaLHTp06PTp06VSKRwO79mzZ8OGDSLWhBZ5KGaq1apt25qmmaYpVosvaZqWz+eTyaSqqpZlYdFIrVYbHR09fPiw4zjYSmjr1q3333//9u3bI5EI1ixh1ZMIMqzkMbouNx7nkTPxWtdwnfW0RthknXPTWyskRFuN/sVRwm8fy+rC4fDGjRvRnzAWi506dapYLCaTyd27d69btw5PFV3X6/U6psxhiimezwAgSo/wGcMwuru7Dxw4EIvFsHMlzgL86U9/Gh0dBYBQKNTV1XXvvfc+8cQTg4ODmqZhtBPN9Fb6CBEE8YVhDBRF8YE7PleBK4rCwfe473ie4/scfJ8xYMAV5ivAVOCATX4aKXyM+x4HT8EIyNI1i0cci6RYI0jClr5K9UsAAMA4cNZocNXwboCGNR5jAD74PvdtjysGAFc1Zli6pqtcAc49z2fAVF+Iq6XcnTNZpJcI4jaBFfNYd4SlHRj/Wb9+fSaTyWaz4XD4jTfeePfdd3ECHqNMOMSMxWIAUK1WRXBJDMd938ewFQBomoa+DvV63fM827ZHRkaOHj36zjvvzMzMDA8P7969e8uWLblcbnZ2dmJiQtM0y7IikQhaSsg5bCt7NVx2rCyrnetvXqtWAckxQl6mdT3iIIhbws1FnJpUWbuJJQhqlsSeYmYmdjHetGlTV1dXb2+v7/tvv/3222+/Xa/XS6XSmjVr0ul0rVar1+uWZWGUSTSihaCNsog4OY6D5yQAlMvler1eLpfHx8cPHjx48uRJ3/cHBwd37dq1fft2y7LGxsY457hay7IwWxVW+lQkCOILwRjTVOb43Pe5ogAHH6NGTGG6rqm6rioKUxTwAdunMoa5Yhx8zn0ffO5x3+VXJ66WccCTOzKhIFgaTiK9BJiEwlWlUQfW0EsNP3EA5oMGiqJqwABdenzf83yfAzBF4YzbjoNDC/kKfDdfjUkvEcRtRdd1DGKIJDoAiEQie/fuzefznZ2dzz///P/+7/9OT08/+OCDw8PDiURCURQsoxdlJFiqJHezweG4bFEwNzd39uzZ995778yZM/V6fevWrdu2bUulUjMzM3Nzc67rYoV9Z2dnb29vPp+Px+NyY5zWuMot1VE3stobT2a7Vmekz33vl1Q1N3FfWfEMPdkGA2vYOOeGYWQymf3798diMcMwjh49+uabb46NjT344IN79uzByjch1FnQggkAMGIJAML1znEcNI2oVqvT09Ojo6OHDh06ceKEaZr33HPPhg0bUqnUxMTEZ599hqZ84XA4nU739vb29PSgXvrcWrVbd3AIgviicBQvjKkqUxgowBlwxhRFURRN8Xzf8RzV133uOb4HDBSl4RvLfU/xfQWYz8Bny8SXuGT/0MzShUkvAQAA90WlEsOxARclXwow3/dtz3Y8x/ZtwzLcmuv4rue7oPrY15YpTGGNelTZPGkl92nlIL1EELcPccUR8/oimy4cDvf19X3zm98EgN/+9rdnz54tl8uzs7N79+7NZDIokDjnmKSHgSYhYHjQhQlxXXdmZuaDDz44fPjw+Pi4oijDw8P3339/NpvFmn5siaOqaiqV6ujoSKfT4XAY5dbdGWcnmkAFHolEduzYUS6XM5nMiRMnRkdHZ2ZmSqXSgQMH0uk0WoxgIqgb4HleNBo1TRMVPirwcrlcrVavXLny4Ycfvv/+++fPn0+n03v37t2wYUM6nUZHe8dxbNtWVTWZTHZ1dXV2doZCIYxcUWIeQaw+lruNcJGXDvI/jRfxb5RJwrCB4QMuPZZXt/RJunXJ4AGVDlmzCwYPnuPiEF9bkBKklwjiNsGlpjQsaMSEtR9IIpGIxWIoqA4fPnz27NmJiYlCofDII4+EQiHsELq4uCg6LIlYkOM4juNYlmUYRqVSGRkZee+9944dOzY9PZ1Op9evX3/PPfesX78e3clx4j8Wi0Uikc7Oznw+H4vF5Ja117LIkyeZbuNhI1YG/K5N03zggQey2WxHR8cf/vCH48ePYyndvn370LOxXC7Pzc1lMhlVVfEk1HW9Wq1Wq1X01mOMLS4unjx58uOPP/7oo48uXLiQyWQeeOCBnTt34tmOyh9TQ+PxeC6X6+zsRAd8YUZCEMRqoeEM3ujDBAwYb/iLY9od4nPwfUzV44wx4Nzn3APwGTAfmA98yTg/WDMsHdFfozsTcE79atH0gjWa/bIlYokBcK5wAIUBY+Az8ID5nPkcfGCcKRzrxxgjDSogvUQQt4mmWDY+FvVIoufs0NBQNBrN5XKvvfba6dOnf//738/MzDzzzDMbNmxgjOFIFADQGRxVk67r0WgUAAqFwsjIyOHDhw8fPlypVIaGhnbs2LF+/Xq0hHZd13Gcer0eDoez2WxnZ2c2mw2FQiiWmvrkIpS7fNeCQUuUTJs3bw6Hw8lk0jTNo0eP/vKXvywWi/fff39/f7+u68lkcmZmJhKJJJNJ13ULhQLa06OCKpfLH3/88RtvvDE2NsYY27Jly86dO7ds2YKFdthtzHXdUCiEqiyVSoXDYbkRM0EQq4lrhCcacSUpyMS5z33uM8YUjvl4PgcG4Pvgw9V8PCatmAVKTP4oxptDTJxBe7TGWFFQegIAToYyDnDVRrxhKt7QRhhjCnwGpcAdxZoEpJcI4vbRNP4TsSYskYdARPX19T355JPd3d2vvvrq66+/fuTIEc/zHnnkka1bt3Z2dpZKpWKxGI1GMTyF/s6GYZw7d+7dd989fvz45cuXNU2799579+7du27dung87rru3Nwcih8cmPb39+dyOSymwmS/1vaguHw72D8QK4uqqoODg2h2H41G33rrrd/97ncTExMPP/zwrl27DMNIJpOO4xQKBWw+i03DKpXK+fPnjx8/fuzYsZGRkWQyuXXr1p07d/b09KC3hOhKHIlEOjo6ent7U6kUdr+tVquyCSRBEKsIxkHBQFMQomDAGW/8F5i0oWLyfQYK58B9zj3OgQPjXOEc/GCorgQ3H97oabvkGQieBMl8nMPVt9/VyHG3QBFdVVBcYZwBZz5nHMR/CgcFi9A4RZckSC8RxG2iyWYN/8R+R6I7jTBijkQie/bsSSaTyWTy//7v/955552pqampqalHH300n89jbp6iKJFIBA2dT5w4cejQoePHj1+5ciWXy917771btmzp6+vDDD0A8DzP87xEIpHP57u6ujKZjKZpWGQCAJgQiOroWoZyJJnuKkSkUdgSJpPJffv2aZoWDocPHz588ODBiYmJcrn8yCOP6Lou6t8ikUgsFiuXy8eOHUMBPzMzMzAwsGXLlk2bNqHnXq1WE83EQqFQR0fH2rVr4/E4tiZjjKGfOCV/EsQqhQX/QSP7C1AdcS795/u+4isAfkMv+ayhlxru14isfHwA4M1aCJ9E8JZFfg+I1JjqaqxI3OBRmAaRvoalu+jbxEEBoAj/VUgvEcTtA4NI6N4myyd5aIiJdtguafPmzfF4PJFIvPjii+Pj46+++urCwsLXv/71oaGhSqVi2zZ65Z08efKFF14YHR01TXN4eHj9+vUbNmzo6OgAgFqt5nkeWkpYliVm8TFXCu2e5bDS9b3IiLsHnPnFHkoAgFlzkUhk9+7dmqYlk8nDhw+PjIw8//zznPONGzeiIT6ewxMTE0eOHDl48OClS5c8z9u4ceMDDzzQ399vWRZalUSjUV3XK5WKYRipVKqzszOZTGJ6Kho/6roO1y6lIwiifWFBsQxr5M7xRlgJgiqmIL4EjVE65wDc576v+ACK0vCBCNZ3NQEvSMa7mn239H4lv4XuZIAH+6oLO8jxJRZMiKJlXkMpcVHnJAteAoD0EkHcZuT5cmHYAABy+yNFUUKhEBqODwwMfOc73wmFQr/73e/Onj37+9//vlKpPPXUU93d3Z7nzc/Pj4yMvPHGG6dPn47H48PDw5s2beru7g6Hw9jiCVdr23YkEunp6UHfcDR6xiJ79DTHrDyxDQKa4L+bQRVdq9UwCoo+eLqub9u2zbKs7u7u11577dixYz//+c+ffPLJ7du3d3V1RaPR+fn5N9988/XXX5+ZmYnFYvfcc8/WrVvXrFljmiYW0ZmmiS3CUqlULpfLZrOJREKc/FeTdO5i41qCWNUozf2QgDVCPg1/a9ZwgICrY3W5hEYeqXPpXybG+iBebbpGXOuScUvl07Ifeh3XvqaNYdd+9ctcAX0An7VsRqA+A5mE/4EvPQ5QSDLJkF4iiNuHXB2Ew0EcHYpCDuHoLToIaZrW0dFx4MAB0zTffPPN99577+DBg6qq7tixAwBGR0dPnDhx/vz5jo4ONMHr6emJxWJYmFSr1RRFMQwDU576+vqw761IBRQ5eKLHKG6JXLNEY9a7DfG9CzdwwzBEghw6QGzatAk1ueM4H3/88euvvz47Ozs0NBQOh0dGRv74xz9+9tln3d3dQ0NDw8PDa9aswYQ9jGRyzl3XjUaja9euRZM9/Fz8IcjCiSQTQaw6glBFEOVRgAFjoAFoTNE5U12fK9x1wfWY4zHPbwSigIHPgXkcfO57PrT2q221xYOW4TwLFryqpLgIqshKpEVAtaiWZb3hmt/Wst6rr3BQOOMM3EbYpkGjPCh4NwdwFXkNTPVB5cBR7XyZ6590FDjjPgCwhnM4A8Y5MN/1OTBfZdxXOVcBNACtsVVBBRMRQHqJIG4TTSM/FEVCKUEwXpT/FAvncrlHHnmko6MjHo8fO3bs2LFj586dUxSlXC6XSqVMJrN79+5NmzYlEgksuGdB71pVVSORCDqPiYEpLDXrY41WgleDS60PiDuS1u+36RlFUaLRaJMLCEYme3p6HnvssXg8/tJLL507d+7w4cOnT5/WdX1ubq5Sqaxfv354eHhwcDCXywkRLir0stlsd3d3JpOxLKupRu5zN4kgiHaHN/QS9wA0YExlzODMZKrFmVr3Pd+za6zmKLbPPGj4QzCFMeCa4nOXc1fxl5UKreP35WM7nAGo0h9BdAvkx0vWKqs8AFA5U/xmhz5f+jPIZLu6VU0brPnMcBVfhaoOrsKF95zpccu/GsfxGFRV5uFVjjMAFuagOQAMPBUc5eYVi8pB95jKwQdwVe4pDb923AMVFM4BPE9xNea7BnDGuMXAYFxlnIMHzAPmkWQSkF4iiJXkWm7dIjEJAFRVxf5LaETW09PzyiuvfPLJJ6FQKJPJbNq0aXBwcP369fF4HGUPDkxRKcXj8Xg8jh7NImZ1/c0gCMG1IjzoYt/d3f3II4+Ew+G33nrr5MmTExMTtm1ns9k9e/Zs2rQJJbqQ4ijjQ6FQMplE33DDMD73xKMzkyDuFAIjgca9rZF7iy8FlU2NyqUlfVavy7KLyT4HQbSkIZOu1uzI29X4RCGclqSmyaU/V5fANbY8XqqaGrvj4zawIOlQKhLChWRpdnUDFQB+83JliUl4I2QfbDseiUahWWMhsb/sanCOxNJVSC8RRLvQlIMk5uMx/qNpWjqdjkQiiqLUarX333/ftu1MJrNu3bqNGzdmMplareY4DlbnA4BlWalUKpVKxeNxbLIkzMEJ4kuCJ5KiKOl0et++fZZlRSKRDz/8cGZmpqura2hoaO3ataFQCC3vhYC3LCuRSKBYIq9wgrhDaancYRDUK/H/z96bNklyXVeC5973fImIXCtrAQr7VlgIiKQosMVFlEi1NG0jtcxm+sP0zIdpm/6kfySzme6fIJlNy8Yk2YyGw0WtFkRQJAWIAAkQIFAACpW1Z2aEL+/eOx+eu4fnUpmFigKQVeXHsrIiY3MPD/f33rnLOdr1KKL5Qc9MteMjBuhCi/WeRdOc4hhgZHPtvfa/aKjb7kVHFTqp2B4F2pWWsnaP2wf6bArGZtrJW7TcyUznlW7WEi3r7Ur3uC56ENC9m8IU0JaeskENjTxePEg97YehbelADHxpwIBjhGhKE7lNx5qibSgAIsqy7Ny5c6PR6MUXX7x06ZKqjkaj8XgclcGjHLNzLhrgrK+vr66uxsxS1xw1eIAOWByRe0eNkNXV1ZdeeilKO2xubhLR2tpalLmPJ3O0r11aWlpbW1tdXY0FfoOiw4AB9y5sF1ma3xs1xVVNG3G8JiljagRlVotMSW85v3TzHYj/z1NJBiOb54r6z2j2rVeP12SD9irw7d0rsz0fsHdbtTWSmsv9RTHA3k5BgVYikGAwmCrUyKh54W0jbpqMtNUi7Darhkjm5nUsB3y4Absw8KUBA44R+ivISGw6etPvR3rqqadOnz49m82m0+nW1talS5e2trZGo1Ge56qa5/mJEyc2NjbG43Ge594Pl/mATwXxXFXV5eXl55577rHHHiuKYjqdXrt2LXYxJUmSZVmSJCsrKxsbG6urq5PJxHvflzkZMGDAvQVqExWdnh0AGHTuu2QqUFGNsg4EkJFFyQcjAcQW95uV9p2bIrd5Md38rW2e4WlVGSJ70KbVp23lbZ5+UANV785++EcVqqaxVKTNWxmi0dT8aQaYkmK+awoTIzMImyzGl9gAI4WJQdrMFppqw5j/Im0YbFR27zdmDVmmXRgWUgMGHBdEBYi+2EOnytD/M6418zxfXl5W1e3tbWauqio+p+sPiYY2fQva7p2HoP6ABbHnhASQJEmSJGtra2Z2+fLlKIIXE1ArKysnT55cW1sbj8dRKK97+VAgOmDAPQdr0i49sjTvTooJJmvYhNqcL0Ehqk0J2aJ8qXl1x5eaOrOe/njX3hTJUuOES/MXmlGXfeL2M+yX49td29fbgyaDRqrWNSsZmjLE+dOocaHq3qazjtV9zryf9BiogQwKiJka+nxJDaqkDUuad421u9r/GQAMfGnAgGOFGHGPhXN7KFNUa+geinemabq6uhqfdv36defcysrKiRMnlpaWYlopGoB2Sg8DUxpwR9DJ0EeVcLRnGoA0TU+cOBFCSNN0e3s7mtuur6/neR7L8DpZyAEDBtyTiIv8VkaukxbvW9U2N3RXIqMRTbC2nWYBKEgAanuMojI39WjUrhvt7u1rT+oZSVmbSuq/uPuke+r25q4IBuuTsOZT9rbSEqRWCd3UoBSPAy1yFNRiiswUULK2kQkAGKT9r6PfQtV8ZzE5SAcQwfsVA18aMODYoR93j2vQji/FAdg5FzNRsagp2n1G4jQejyeTSWxk6sL/Q6/IgE8JXX9d38srSZKTJ0+Ox+PZbBatlkajUXfGxrMRA3sfMOA+g8UiNZjAFKrAvB4PsfpNyUgJCl2IMLWiCUREBjJmEMDMzjtHIAkmKnGfyFHivRFqlWBBzQhE1LP0IEiUg6CWQGj3SPvRbP4gETHFBNVc/Q8gNoockcDeOSZWkVoDogUVdRwSamYEBS2SXyJADTDTmMKiplcKAIwIFM2Dm/q7TiZvoEk3wcCXBgw4dojsKA7W0UkWbQVUN4J35qHx9srKymQyiUp6Xc1efGioehpwxxGpTide33H4+KiZRYvblZWVru+u34l3vxH4wy/A++c4DLg/0Ct5a2/GSjaiKHggYrFLRztWxAYzI1MyklYA4lZhvYQWIj1RQABTAyl5EBFLHba3tq5tXgsS1k+eWF1ZI2Yw7WxPL1y8qKarG+sraytpktV1LaIJMzOrmooSrNX4M4AioYIZNyJ6ZGYSgvfOOy8is2LmGXniRITSlB1L0Kqq8jQfZVl1beeDjzeLYnZifX319EkiNRONzUqMtl6PejoRt/k9KAhQNUQfJYn3Rh0IhRhESZRVmrBs7K7qK2Tc/tbvOQx8acCAY4q4iopR+T0iENhnjOOc6+s69Ndne7qYBgxYBF1qVI6blQAAIABJREFUaE9f3H7+c7Oiu8iyhhTTgAH3KubXNSnIoc0jsWMQRAWKQCIaBNLyjUhHiJvckN703ffB5mLe7d8UQEJMZgYBMzG4LIr33v71K997dafa+dq3vvalL37Jp15rvfDrC3/1V3+tCb769X/14hd/Y5Sn5awiUJ7lIQQyS9g5x2VZSh2Y2TuXxNgQmWNnoqqmQbRW59KdqzuXLl6aVbOTp1azjZVGZCGW5THVdX2jKM6/+c6rr7x6+crll1/+zd/5198hUlERExCccwoNpkQsIFkg1tkIXWBeidfKmEdGaSIIQiyoRUDUtQOoKsCRbw39Sx0GvjRgwHFHf915i+vL/U8bFqYDFkf/LNrP4Q982oFvMpyNfQyxjAH3FJp1euRBQKe4RgYiAwSGqI9nKqZEIJCBCNrqf5se7jy0R7RhTybEEFRAtSNHRAYLIgBXZXX92vV33353u9z+wm+86DnJfV6U5Y3NG++89rZfz3a+8GJd1HVamyiDrm9evXz5svd+bX1teXmpmlVQS7PEk5cqXLt8dbYzS7PUe5fl2SgfebhqWv78xz9/42dv5KvpuS8+Oc5dvro8C1VRm2c/yke/eOOX77/2y/M/f/dXb74zLYoHz5yqq0pgRgYCMYFhpkEDQMJOFxgYCJCYoqIo+dDTewDIIEZiqtGot+khoxhunY/SQ4apxcCXBgwYMGDAgAEDBny6mIs9mEaz2lZKr/nhphTtqDo023Wr+9fKKpCqChRgRwSCBGVSM2J4D4+Kyu1y59rUJlSFYMHG2XiyvDpOxlba9PpOFarNDz566/U3Ny9tJkly+szphx44S8xnHjgzPpGXs9n5Dz74+Y9fv/zhpXxlNFkeP3D2gSefemJlZeWjDz96/Sf/8vqP/yVfS0vbSjN7Yulc5DxRzPb111578x9fKz/arq7XziPUoa5qYYIHOYIjgwnELEBJCUaLSOM0chq2K78U+7D68htztjmQo0Mw8KUBAwYMGDDgc8OQXBpwD6KVe8M8vxSdiFShBG61HxTWqLGRsZpS7NsxvaVCMGu5Evpl6BTTNUYmphLEq0t95l3iKaGKwqX6vV+8/2ryY+ecS/zmxxc1aILEW2KVXr9+/e133/75P/7s0q8vIEcQefe1Xy2ny+OV8Re+/IVHH3+kKMqf/Ognb/zsjTxNJtvLH8zqD9/+cPva1pe+/KUrm1e3rm3VZb1zcefXv6IHH1lfPXMy31gf5eNQh48vfFQWxSNnH6ZJOP/2+zdm19MkZWbAVFVEYYADVBIYERnZJ6pL3PcNGG7OlxRQI4Mq+CaNUr2vcMDAlwbcMxgkDQYMGPC54EjCMzCiAfcRWlVwEPXW3JEDqZqqKikZq7X+S1FBgQ0S+VLTdHMr29rFl7rbBiMmA6mYiJIyMTt2TEyBsI3333r/+pXroajz0UhVZ5tTWQ8cCKXduHTtxz985cIv3v/CuecefvqRaTF975fvvfPzd9VJUUyvXb6SJfk7//xOtVM8/xvnViarVy9cq+qqmlWkdOrEyZMnNzZXNymlxx55+MT6CTUNIbCpT/x4ND73zDMbzy8Vm9fLcqv8cGc0GiU+IarUJIiYGRlYxZOxIxD0Fo/DQWjENaJwVFQdtKgAEf2XKNoHN5rnZmwNswIGlnQABr404B7BoAI3YMCAAQMGfN7oVt39WrKeX20UwTMVM2n8aokQLYeU5iIFtzShNyzJdrUwCURVmcAgA5mS1BZqlVphQIrxaLw+OZGMXDrOtqc7m7yZIU3gKCDs1NOPtzZW1r7xjX/19DPnqqr6p6V/unrp8s7Ozub5j1dGK48/9ug4He/Y1vTqDDuUpemZB08//thjy/nymY0z7z96/sMPP1xbX/vKl7/01IsPF4zrVVGojLLx+tpayumKph/P1DlGNHRSU1JtlMbNTFmDUyMjI1tEVZ0aLXGDkVjTv2QtXwoGNrI2tWStW0kkWe0bDIGeOQa+NOBY4EiqcysB2iGIO2DAgAEDBny+sF0utO19USTOtKnKM1MTNUWbhyIzMqNYLPbJ+VJvuyQqwcQTCJ6YjRCCVGVdh6DO/Gr60m/8xm+//Nt5lgP2i1++9eGHH7JjBFSzcrY9C1U4deLExvpG5tJslJ5cP7G+usqE6VaRwJ8+efqZ56v6jeLqx1evFFemMs0m2fUb106ePDXOx3UdRCxNs/F4kia+0GCqVVFosFE6HuWjLDhThErrMlRVFapaUjE28sQEgYmKqLGw2ALZpdgPZt1hhymMqDEItug6oo1xcPzV8qYFtnkvY+BLAwYMGDBgwIABA+4szDAXWYu6ArsRtdjic2EwRidAcKsL97nQQy/sakAsNhMYg5gZrR4fYFmWnT515vGHH/NJUlf1hfMfh0qKGzPUNvaj5WySUrZ9ZWfz/YuZpWp6/eNr9fWqvF6uLC2tTpZTTk+ubzz75LnlpeVQhZ++/rNfv/deXZbf+O1vFJOynJVay2xrdmXz0vIDDuPRZDJODWUZZtPpOJ2YUihDXahUqqIqqsE0abUZTEVFDY0exgLkxaIFLsyocaRSa/XxDGyt3kN7o/mOiCJnjVKmQ4apw8CXBnxmsF1e2Ibon03ERw4JcRQZ0kcDBgw4zugPZEePVo3jTJRept7du8a6QW18wN0F2z3Zo9WpbtfecXWuMbmkMDLTtn/JGlWI2HVz+MJg7lHb1uLNdR+IiJ03g5jC2AjkmBKOAnS11NN6dqPY8sETMefsR36n3JmFwufJiVMnNs5svPmT177/gx8+9+y5oizefee9ixevGtmzjz2yvLb0q3fefve995npy186k4/y8XsjcoCjYJKNs6XlpUqqt3/1ll+p6qWnTzx0dunkBvnUeUdESerCVAot1KvLWR1KrYxAZDBVNVXhyHCoYX2HH+1DhwYTgNC8ERholDaaJZiBm14zbYx3Gcw9jhv3YUDEwJcGfDaw1l2azExUmRrbbJ+kIQQzi8asaMZWatL5MXVssc53uHIHDBhw7NB5pOxau/SGq/2EpwnpqpkBRMQQ1diEqarM7JwzMxFh5oEvDbibQDBiI2IQNMrfmYNlhJTNkZqFYKi5LqkWkjjZszln5oQbWQiSQyTFo4RBs7Hu6mj1HgzmyDshEfXe+zSd7sxqUhkJnXT+wVS3p5eWrn2QfjyeTMxsc/mqPUpidGNt5/rqDq0kT3zn3Ka/9PaH713+2TVh1dTOfOXs+sba4+eeWlpeunzpkpX88YWL//Wn/y1x6ZXyyukXHnjuhefTs/l1fwMbGD88ufL2lV9efM99nH/h9HpiIWNvLHUIDKgLN8Yz26AsmRRr4YPyo+Wl9TRLFFbVlYVAgBCZikCPrMc7ZHAwkMEbiE3TEBwJQ41MCQKq2cMB4s1Ygo0sZeORJLkkIyQlW+XqQPKJvvl7GwNfGvDZwAAVCUSRFGkTO2K0KwdTVeo5WVo/wgpgaDwcMGDAsYTtuWF7+txNVdEz6m0HuS4+FP8gVd2TbI8MakgxDbi7YFEe3OazNgMJIUq+KYICYiEgCBQEMnIGUpgYzJRMWA/lS911YtzWjsU0VSwwY4M3b6YmVEk9q4o6SZI8WX30xDO/+8Izjh95+rFqTZKJwJA/svT8t15S2Mrja9VSSJLkqd9+bvXhlUu/+HD7yrbP/NqZtTMPnhmN88l4Kc9HD8kjDz7/8Afvnb/28bW6rE8vPXDywZOPPf7Y5IGlsqo2Hj/5W/nLT7zwZMnVxhMb4/U1MNVS11LPyllAneXZiSdOPW8v1aE+ffaUW/UuNyKxEKyuSI2ZBRYkKBGO8l8i3PQJBgjIiJ0hFTDUWAwCgjALA+xY1amIWGrewSXqE3MJuCQJLEqL9E/daxj40oDPBtT4osGY2bETNSJyzhPYOYORUY8uUTtIxLww9YNIAwYMGHCMsHfBsnsJE4nQbqaEtjFgPqwxUV3Xquq9j8TJe++ci7cHvjTgbgYBbaMMEEtRY2dNzym1EYgjMyPtOmoOe8cG1haYmWknXC7G3iVclWVRFs6xc8TAytrKF7/65fX19TRJr1+/PtueOuaNtfWvvvwyAO89DMV05tk9/eRTzzzyxHQ2ZeYsydi7YjZjdvCUpPnGg6dPnDmZpImampiqmdlWseOd33jwzOrpjRBCoNoSgVlRFACcc0mSqqqpndzYWFlZhiFJEjUtiyqEoGYEOOeJydrQidGRZTU3pTQGAsQAgyqM2lVYo4HXyjy072Ic76ROHW8Yc3Zh4EsDPjNQrDAxM4CZTERUkCTsnDvilZ/NDg4YMGDAJ8cREWCA+cinQKL7CjUrSxGJtyPXupV3GDDgWMCo18Q0X3XHSrnov2RK6jQq5cXHrOcF1IlBHL2teUdU71WGSipl9T5RBGKMRiM1LcqpmaVpKhJmoRatp7MZAaPRaLI0cc4XRTGbzYqi8EniCA5sqQtmtZRShbqqieBqZvbEBMAHzbMMCYWqmu5MQ6izLM2yETtGShIkVKWZhTowMzl2nqu63pnteHYxdVyURQgBgHPOe++8J0BUmv6txVxSDNDmuKqaUkuHmu/CNPKohiNR92gjOT6svPZg4EsDPiMQEeBUazVh8iGEDz746O233x6PJ9HQrankZ2LiJtFEBOK2Ps9MFyylHS7+AQMG3HkoN2uaPbFgAsjma0aDESiSIlWNRXrWBsdDCE8//fTZs2cBOOdidKn/hCHFNOCuQXch7D5n9yjjdX61ZBR/1ITUlEXtsHq8pgQPjYJ4jy9pQ5gUIhokmJn3znmWqq6lFhEx2ZluEVGe55Olsffee2/Q7Z0bRVGpiE9clqfGVoVgDAkhxjKySUbMkdURc1VXs9ms0orZmRkl8D4hzwFiEoIE08p79j4hrkIIs2IWr2sCBVM2igscl3jvnE+8Y6dmZVEGCczsvTcc7Vd7SBbIoi0toKZmamhMmIwgRgJC5FLNcWtlCSNRpYEw7cXAlwZ8FjAzMyHiOLKYYjotfvSjH/3Zn/3ZtevXq7qqJcSaOyJiYpBDV57XBJBUsRhfMrqFQPCAAQMGfCIYdVX+tneFQTFZFISIOCo70F79hiRJsixzzv3pn/7pH/zBH2RZlmVZmqYA+kI4AwbcHeinl3qUx9okUvuj2kzrsdsJBAgYMMFRfKnNgDTv3FvpN/1LTDApqxJEWZbuFDdMzaecsPPsxJyKKAlgRVXWO7WoqiqBnHfErii3jZ1LMmIEC7VWBjNmMMRUTRwc5wxzhdaEQI44YSIugohWAIjJU5S+MJc4JRUTI2NHZlAVJfLeE5FUVS1BTYlJ1aq6MrPEJeQIZnpUmPhwvqQgIwZUEQAxE4NGvQcBw1ShSqpQhaqxRZI1MKWDMPClAZ8FRDSEOkkS5zyg5Hg8HpvZBx98MJ3NHnn0kSzPq6pSUyIGMTVLiqZrqY14LOikNoRLBgwY8GmgVcjra+LtelyxS8lr7hpjqkHkxo0bdV0DWF5e7uqTY+cSMw/JpQF3FRq2RP3+vMZVNqaUVBVK8ZYBRkZsMKWGS8GUD63H61WpUXsxWS/ZRMwGEw3OOYMVZZk4n6SJcx6mTJQkGYHqui7LoiyrNMuWlibEzEQAFcWsUmEogdkxmwshlHUZkzDMznk2tbIsTZXZ+TQhYpF6OpuFEJxzaZoy0XQ2U7N8lHvvvfPx09ahjhmkWJtYFEUMi/jEe+edd/EAlVVltEc75gAcMi609XgGM1Vr/IChqlCwkXYlkL0CSLuVd74/MfClAZ8FnHPO5ZGxiJhIFULw3q+trz386CP/23/8j7/5la8kaRoL8lqnhv4KxGy4dgcMGHAsQfvSSuitNmJaiTqPGAO0MVoh5rqu/unVV//T//G/X7hwgZmjeniU1BORyJ0GsjTgboKBrHNbatAJPhhMoQqYiZoINEZGA8wIjgKIlVVxeH4JqoaOj803FtkSzIJqUBdcQsZBUcNzsKosZ/HikyDMnCQJpZQnaZomtZTFtACQjfIkTzRYEXZaKyIz0mDWlL041FoaQN4Aco6SlH3iVCmF5wBmThLOk1QKbO9sK4kY1SEUsyJN08T7LM288wBCCLnLDdZe+6ymVkkVKlPjxDufHH6wj8gvERkUMKEACkZipEIIZEIEFoEIs5AKmZsrQEQjF9Ag+tDDwJcGfBaIyaKyLIkoSRJmjh4jZrZ56dLa2tozzzzjiIMaeK+FyYJJpQEDBgz4VLFLDW/fbQM02kG2f3dlSo5R1fLRBx9679M0iRwpSRK0lXgAYpvT4MI04K7GXHO/rZnTeV4IZJ18XttMc5Teg1ls/wPtuzAIFKQSqZ1jZg4SxISYVDVIcN55OFUFobkzBHYMQrSUZUdlNQtm5FyoQ5SsTNIkVsZGLZad6U6apqPRqKqqWkKYBS4ZsUeRYLA61KQiZSWqzI6Iqqra2dlmt5xmiYgUVaFBmdknnkCqWodaRQGwc2mWETUJoEWOuSHmlQzN8W75JMwMarjZgR6qcfbj8+dLnfpHXwak0wUSEe99Jw0U7+lmjlir8Jnv8idDdy3vad4FEDt6I22Inyt+nEgn4nNuZZpcREHlM4IBZo5d/Djd1wcDM5dVvb0zdc4HFYDRZPFbUwWidihdfCcGDBgw4A6De+nvfsVdy4/MVOfjWiMsjmioUNd1UZZFUeZ5nud5V4wXJ4UkSeLIdw/MAofsYVwee+8B1HUdZ0AASZLskQ1ccB86k6u48O2yeXVdx1587J6j9798YK23gnigrJVbi8tycuS8A5mYmMWlvCoUTUbKYCZGBlZVgRofype6Cd12JUEa/kVGDsYIVsdNV1IZVNtrlRICrLbaoMpaSsHswAaiKlSitRkx4EmNQSYQqAlFjTmVhMEWpCogyiZmiH1GcwNJoAIMyglXoQIAtnySw6EKlaoGDbG7ydSok6zo68M0flRHnPNH5JdMo19trTWoNlIlE6AGB8CZ85J4ZYEaWVTaaoetVlr8uI8rnx0+f76Emw9PfeGgbmjrft/iLPK5Y14ail3GhWj5UvdBotUGgKqqOu50K/PE8T8IAAxwzF2VXRc6zfM8dj0SM7RTugSaP8gQ47d3wWccMGDAfYh9U9eev4nZNYXF6EYyMjUiUzVi9t59/PG1V1991bkmqDQajR544IGHHnooSkFELnEI7opZ4EDs785S1aqqiqJQ1X5Qv5sWb3tDXRQy3o7crK+o0Z+s+6+9ew/vZ48DjpU193OMfqqosRnUGr5EoGhRH/+M8gON1PgtYN8CyYxAREYN3yBG0AAAhNBXUDABQExqphJ6nyHqTkjTGRAf7b3OOwezUNdAGwhpOges40tR75dAtYS4D0mWAlZLoOgxQAT0MkjckJ/ezhxY6nv4Z+89BEjML8HEAqAGUagYgnEggoqYqElD2mhvFeWAPo4FX7oZYigokopYvsXMIlLXdUecIsE4zujbFO7zd0fXy9s3d+9iMwBCCEfGtI5/ZJFAMKuqih0naQogTlF1VRuzqoGijS3Quq8ZNOo8NNGnxd3ThmFgwIABnwK6NQ31GVF/VI7rqbiialaBBjOQiKrjZHllxc6fv3z58vnz5+OMsLa2trS0hH6o/uazQLfKP844kuoURZGmaZqmnWBg5Ejx0a6t67Z3IL48tuM3Qbp2Oo7LDJH5iribgluh1mH++ETYpfMQ/zfACE3lXVOXp9ZM+BTtVAUKkES+tNAOmOGgWrYD3/TgpxF31q0Hvfuu5+75s72haDJSAGKlns2fQtjz7rb3DwIvssCNQ4wRWcNLJSb0FFBCK4tnzc8uM4RGJ+9os9z7CceaL3WDY0yUd+NmF/65K4aw/kx2sxxaRwXjnbEGo8M9wZcQQy1EXWmliEgISmJVVddVzS5BHFKacYPjazjGaayfgL9tHPcDNWDAgLsQu3Tv9iwVadcT2sfjtGAkhjrUs+nUOXfy5MlHH32UmaMczmg0yvM8CovfA/V4HdXpf5Z+/UX/CUmSxD6u7p6u/mJBxHk2SZIu6hpXGntWFHfLAuM44uYJj8bqp2FKomj9l0AAE0yhBFizsr99ULOJBaBEutAJYITF3gCxP+v2X9yU5AGIuu3xgJsg8lQVanQ1om7esEA6HMeaL8VBs8svdZmWLMuO/9zQYU89Xryzq8eLw7RzLk6NkRN2CbROHOku+rwHIsZUnHPkXFwvhKAhCIij1wgxiYSgakQAWV+IdM6gFo43DRgwYMCdhu0OL3d/zPNMbcSs4U6xPdOImZk4qM5ms1hMkSSJ9z6WipVlGeeOWF7x2X2eTxn7p7M4IY5Go66bqJ/qQSutviCBiVOqqnYpu9gRHd+/K/xbZBMDGlj3m3bd2TkvKTX+Sx1fatxVlcw0MqsFZvyob/B5YyG1BgALyi7EBJc2e6JNPR6hca6FElrnJTQ+vwadL1MX2/V7D8edL3XKB42GSdR/7JWuHf9ZpL+H+wujYz1e9Hrv+k2rqooTJ3bTrZuhaxE+tjBVxFmfiMlZ0/ActfDIe++cg5GqaSRHRCAzELiVhSBiWzzcN8yFAwYMuMPQbmS6efXOPMtEUaSXYtMmOe+cT9NsaWmSpmmkBHHWiCv7+A57+MMexLnyznyYzxx7WBAze+9Vta7rbqLvpshFKFO/WxiAiIQQOtH2bmcGyrQgrC00iyyoQUOIYoKp51fb8qX47TgjMpY273T7+7BwfNRgOlc/uI2XAz3ucbtYqJ/IAGkrANUCIEoqpAIInBDDJEClLcmbN4+3cvADZerjWPOlWE8cNYL2ZOePP0M4EPvH+ujjHkK4du3adDqNT5hMJt0TjmzzvTvA3S8AICBL0zRNvfez2WxnOhPRNEs9NSuPNjHcG2wWr8cbLv0BAwZ8GrBd/89r7zqJPLOmhykuf6zXFkMkEuLg3+mjxlqDmA9ZUOTgrkOMFVZVVdd1lmXxzjs4D/bfs3tbEelSWEMZ3p3BroshWqU20KaBaXcs2NAKiTcy14ttfFGmorcitnDYDqBt1/rcYO1xaLNGZqamZtw72PEJPaffVqtiwF4c67U4M9d1ffHiRTMbj8dpmnZ+5+iE446T3sOeMgzMo4jUHxq6gcB7f+3atUiZYgfq1tbWjRs3upRap3Jx+Ah+ZFX35zL87+p2BrERO66qWlWTLJ1Op9Od6dLycm3qnCdwq57DbRMT0ESnol8JwWix7sNhCBgwYMAdhvUGrL0PdCAgZsx7KshmUIKKAZymKUy3trY++OCDWHMeyyg++uijyWTS6Wsfgk80yB84FC44TRw5vO7ROmpetdtHJIRw+fLlmPNZWVlZXl7e3NxcWloiosZKZOHd65SiovCDcy6WPi4tLY1Goz4x218PMlCpW0G34t5/sJp6L1MzqMa1e5zjjYxgpKZkrHcgv7TofN+KHdz+2zCMF60KXISyxXq8ePqqQhETerF5yVRgbHPhDUSD4JZAUav3MJzxHY41X1LVa9euffe7333rrbfquvbeRxoRy7tjQOiuSL/09R76ESzn3Gw2e+21186dOxd50d/93d9lWXb16tW+F8SBY/TdNXCLCIIur67WZb21vT0aj9i5999///LlyyfPnHHeiymFUFujltOo6FBXw0J3QqqFBso0YMCAO4sDFoW9+w27tD3jArz5ZRqAoEJEPvGXLm399Kc/feutt4qiiHwpTdOHHnoIgJpxrI+5yQB292ZF+pNjVVV5nr/xxhubm5t5npvZO++885/+839eXV2lOzHldUV9XRl8nGTLsjx16tQ3v/nNF198cWVlZb8Q30CZ7hysS2rE1XyjJ94GQ61ZtS8qYHIn+NIdUGtYcC+61u3b3jyoZURmRk1XmAFqpGQaM07Qxs52T5D7ACvg+xqfP9novo/9YadIIX7605/+/d//fV3Xo9FIzeoQYh1XURVVWcWC709vFXz0ydI08zYl6e2+x19mZkzxJDXvfQghhBClHUSkLAoQnT9//oknnoiD+FtvveWc29raiuG0zkRv/1H6ROfxwpd9+0HjDdr1Zx/U/m5c19onxUrx5eUVUd3e3vZZOh5Ntna2r9y4fuqRs5x4OFaOJbRNgXkMcczrWUiP+DKOOiI3lwYdMGDAgNvEXCl8N/aVG7S6D4RmEDUCQx2pgxJubG2/9+H5NEl2dqYSpCiLJE0eevBsVdVBgnOu9XghWGw2iG9O0QT3ZoPbAaOiYX953+KVQ0dOww0DaZpX4440a+dYGRSCrK+vX758KYSQj0ei8vHmxR//5J9ieq3VVr3N3YytMxJCbJcty7Ku68lk4py7fPny2bNnH3vssRdeeIGaqQfW7nBXD7lHvOCmG7q9/buHoICQKhkDLi6BIMYiCEhIvJZUK1PBUrBWJADY4I0TYQSFsbIIVG92Su1Rvt6Fjn6TYdGujQWTK3on8kuLnlDaOAEXZEoQplbSHV7FS0k1LIhSEXxRpijyUGVaeQs1mRDsrux8+ZTw+fMlHLTQ7ZIweZ7v7OxUVXXmzJmXXnpp/cSJsq7SJPFJUktdlbXz/sBW2z115Le/b0dOA51Ze/T6Ql+iwUwtcY6JAZiaWiPqEANdSZJsb2//5V/+ZRzBQwjPP//8n/zJn2xubsZ7Ys1AdIrYt9m+7MwRU4gsrpNAu/iS9X7Pd6nN3jLAkS/p/CUKeO9UrQ41O29mb7/z7tZsqjCBGoOY54Pd/Kf5bLzXH2AvjqTNn3Mp8YABA+5RHByK2TMxtcGfbm4iBjwBRI59mi6tLj/00MOnT58molCHaTk7sb5+7plnpKcN27yTmraem8QcsyVykKoV7bsR94D2ha6NPwO+FNVP52UDhn4Xi/kkzfLsn37847feekthtYT1jRPf+r3fXV9fb7pagH3r413Y89iuQ9GY0VgMTVZVVVVVmqaXL1/+3ve+d+PGjdgpDUBUQc18QUxgmvO7I5cDRxyD+wIEU1JFbIUxA8XFgULIkznUCIG4Yi1ZK9LIbMyMDSYKhTkLJIp2AUFdcV9MQu2pWtRWAAAgAElEQVRf6+2/h++E/8hC3+fnr9FncMakULLgTAiCJmDBZqmaDzXVYmKwMriqSrhO6zq12kEqM+3O/AHAMeFLh6OuawAPPfTQH/3RHz373HNlqAikqmCiZgxscHDMYbGv+8jyza4ie86X5jOAwZB6T0TT6fTtt97+1Tu/mk1nqlqWpXMuy/PLly/XIQSROgQ1q4NMZ0UtIR/leZYT0dr6+pe//KUTGydi157NJ995afWR3cB6h2KHcfRQtHxpd6KpSys1fMnA85pxMkIQEVXvfJIkO9PZd7///X9+7bXrN25Mp1MVMe9jg9f+HzQR3CO/y+HaHjBgwF0GNQuhHk9GTz755HPPPjeejImpDvLAmTMvvfSic07VmDu+1MiKxaGRmYnYcChfsgOI056p7Q7MEUc+wxD50u4tzWdwnyRmlnj/0YcfXr169dq1axsbG3/8x//2ySefgKEO9ZEFQrvWt/s+NRlg1rddCiG88sorr7zySlVVUZcvPl/jITaDkhrIEd+aVNowAwExgdkEBMi09VZyZEwgGJkR5lVibRGeQc2E2qaavfV4e3iR3eT++T266Bm9520/j9cvBgLM1EDWahJaE7exuCYjJRKQRD5LABvY4GDto8a0GGm8l3Dc+VK8ZIqiCCFsnDz5wJkzlQQmnpWF9z5Jkqqu5xSi/8L438Jf9C3Wj1rjrtrtNmJyiYhGaQazixcvXrl29f/8L//lwoULTz/11Gg8TpM0TdPZzs7jTzz+5NNPLa+ufvGLX3z3vfde+5fXR3n24UcffXD+/KWLl772ja//5su/derMA2ZQ63TjWv7QU0c9BAvW4xHgOs2F3XxpbzyvrfQ4gC8BtQRVS3ySpelOWayvranqdDpVVeoKGG/2WY6+aIeresCAAXcXCICoFEUhqpPJZP3E+ngyJqKqqpaXl1dX17IsBdBVZccVj6nC1GKwjBh3A1/izkmvtyWKBYVRFtXU++TEiQ0iKoqymBXeuTNnzpw5c0ZF61Az8+Gk5Qi+BIrTtASJ7WEhhMlkUpZlU3FnBsAzq6EWZWKK96pG4Va6GyxMPn8QsbKLIVQlEBEbmyNlKDe/haI3UJNnbC1s1SAEaWxE+sFYwzxm2qVtOrLUZZ+sd9YPBSXoWsXaxqUo/Edm0ZspfiOO1JM6Vsfq428o2JiVB8WHDsedL0XLWgBVVZVFMSvLsiqzNKuqSkREpa5D/6rYs6iOPTAL7cAtnCyt1UBvxphf6gQVMiKiExsniHD16tUkTV544YVTp0+pyGQ8Iccb6xvLK8srK0sfXbgwmSyZyk9+8pOfXbny8ebHINQSprMpetd/WwHecIsjlWQWDBCQkdeGL83J0kEVbl2ZR5Nl6tXjgciIzFCURS2hrGoRMcB7n3jPzhHz4Y7ehyeYbiX9NGDAgAHHDbHYTIKAQUwhBBjKsiqKoq4r7x2ApiSvyZEYNC4vm55spd2rw25Kwq4buyjEfr602ADKR820zGQgqAGIsX9uFdUjZ6qkHo+ZiNi5LM/TLANIRKbTmZkxU5Bw+Br44Ho86/gSGOTYFWUhItEetxPdvXHjxvvvvx/VCGOaa3l5JUkbF8Sul+l2Ds39B249FtsqlKh8Cyg1SmwKNCp4ygAUYsQwAQOQxhSoxfzmHqbUFUj2Vw5dAF33nRH3F8hioS0JQc1UTaMaoYGNtPkuCMpoqSzHHzAANqOFe8DuJRx3vhQbmWIzT9ROACAqTcW2yFHXg33qF8y8wpN23QkQsZmVVemIJ5PRiy++8B/+w//6gx/8QERGo+zxxx978MEzWZ5v3dhmojTLxpPRC194oSxmP/rRq1VVPv74o1//+m//d//m35zcOKEQassZgG4camfFT13IwADuttaFehrWtOtg7HqN7qKQjYhTEK1DLRK6LjWJyunxzdswXleMN8+q39dD34ABA+49GGLeg51K7PiAiMaasei/lPhETUMI8QVxfDTqnFLuGpjFwTwa8QAxmslNZYYSzCw2a4mId+y9R+PGoWZgdia2SNLATIPMVQCIKNp4ACiK4vz58z/5yU9iX3E+Gp05ffrJJ59cSVbi2sMGa6ZbBmlLcLozNBr7GEPJFFAzjRrXZqTaEtoAqsCOTKHSZzsxKbmr2ueQGwCi3oPe5+03sX8iSgsrVAym0YlW1QgKi2TJCEpsTEqkTBYzTtEzawgQzHHc+VIsMu7GtSxNq1BXVYXGfClONu0lue/SIFp4RjnqciNrWIz1kzxNR1OMpqmIkHPj8ejb3/69U6dP/eAH33/99dc2Nzd/51vffPihh1RCrRKkJvClzc1//Md/+IdXXkmS9OWXf+sbX//Gs88+m42y+NY9PQRFxwVtT27rdj7FEZ+xSxx1iBuNSSdu7ti/HeuKJ4hAVFUVERETMzvHTNTZZzWrhnZC2s/BmrqIQ3fySOo8YMCAAccNxMwuSsARERmMiZ1jAkQ0hBBrajoFVkLbUxDZQ2RO/XhdL0y1qzzvkFFy4YXlkRn+rueqnyyg7lMTqWio6xCCipp2DoTknIvO9UdKTB+4A92nJmKwKTQW43nvYyNTlG+dTqdbW1uqmiR+NpuN8tzafevWIZ/0mNy3iCv0ZsnSHjaNAuKmqtGTNsqJi84jpFQTK8wav6D+W96kf0n3JJrmD+9Ost6P6MpQzWLKrr3bEC8vE4aClMjItF3oGVGjJhyLmO7rY9jHcedL/eFMVQ3W2Mx517rWdtcjIcarYo1CvM/uADs+/GSZeyPv7p+KK//YJNpo+zDG+ejLL31xaTz+/ve+9/prr//t3/zf3/n97zxw5gHnfF1VdQjf//++98Mf/vDMmTPf/OY3Xv6tlx86ezZJEjJi6kaLWIu6a4PERxSqLYhGHLz5KADAREatj4hF8Zp+qUdXTNzcG30GQ10zczbKmVg5Ot7TKM8bAUCb2z5a76dXmnxo5TowXNgDBgy460BMzrEB3nnvvaoyEZijIEEIoZE5oHmrKnOXebc2d9+2fzaz4PzpXVCvV6KwNwR2ZMzt6E9x5DP6lKPnJtV095M55+IY7rx33hORiqpElyQSCXTUXh5c7NB+aib2nkMI5Chmjeq6FpHYC728vHzq1KksTZl5urPjnfPeM3E39d7ahxywG/NFuAlrIBGoQhQwE5hABa3CNYCaSImp9WXaBdtDmbrbB6WYCJ16/X2L+OE5KrybNX3sRiBWiMF1nLXhqAaBKqk6FQdxJqRDG1iH486XYmGxmcWwk6iqWpqmbR8mWk+GBpGldNceAc4WWkXvzasc8Iy2uGDesYS2IpsAKDF59j4pqrKqyyxNX3j2+RMrqyfX1v/f7373e3/73a9+9aunT5/e3t7+5Vtv/ei/vbKxuvYn//0ff/k3v3Tq5EkRFRFPRI2vObVs/2b16Z8KiKg5zkRzf/WmPLIhTkYEgvXmY+vzl6geyJQkSeoTUQ0iIQQzc96raqhr533DwHaRpXkx8uG59SP1xAcMGDDgGIJiCEwVbTDYDLCYiifnHCiW3/FcUtyMYsSKiCkaN1jXXTPP68ffvZGzH9Tqj5h09FR31Kc48gnd7tM8ohaDiTHqNhqPRLXNIzXRMxGJBSat5sLt7E83KalqJEjRwCNuK8uymNwDwMSOWIKEqm4UzOOspLGahY5oYbqv1+e70Z1RDBCUEMiU1EgNYiCokAo71VioSRCAmGOpzm5qPP8imj+pd393o3dCW7cP9zciR1JAqVsUR3FCjmTJup/m22luKEHIjA9rKb/fcNz5EgBmlySp94ljZ4boX2RmQUSji2k0mDMVUe+dT3wdREIAEcO0rvMsI2YV7TfUELGawI4SlztqDR6dl2zP1dt05jIxHEeSQdW0ykdZ6tO6qh85+8i//v0/9D753ne/9+qPXh3lo81Lm+/86p3HHnvsf/x3/+7LX/pikqYw5GnOjqtQN2P1PDxIvV9kesReLkgkrJ3YYuUIQEFCNP5LEl+HIGLkmcHWzCr9WFwrhN4a/8VacBUREQAxhioi2pZrzPe2P2QuPp8PGDBgwOeFA/pcAaC1N0fUHhBRGKTRswaTI+YmCghSURDi9BdLK0yN2KuJmKZp2qoXEAGmJmYMAlNbBNHf7q6/1BaXBTp6gG4Caq0OaiscjS7kGPuX6qqUIGZwnhPvzUxE0VT0Hfr+e2YP7AotqqrWgYAkSaKEQ9QQjwetKIqdnR0CJUlShaBmxNyQUqARvOU2XXLAR2trJtE4inSq5V3vU1dyefTRvAsx9ziJFTGmosqOmZxAA0KwGg6AqgYIBatBIc+SMtQmCuIkSWAsQWHqdvH8fTml/Za1Znv4VVNQdn+joURoKnDmVYwKFdHAphy1CYOImBibOVMSIQukSmH/MeyXxd6rJ/OBOO58iUChDqbwPrVYWAkWUVUlZsdQaVr6RKyuA7NzPlWrqyr4xJFqqEI2WWZ2NWqLfnkgmJFzKmx2VPrp1uv5DnybKJcZTFRWlpa9cxbMs/dJ+uCZs7/ztd+Z3Zj99d/89c9//nNTO3fu3L/9oz/+3d/7DmLcS42NIXDwzN21f9BmjjpjF5wIDaTMGtU12DERgpjCOe/YV1JLkDxNnXOiIqrW2hACaJQrASZLfBJLIFzi2bmokGtm3nuXJERkjaNhexXS/NbiJgD30WU9YMCAzxC3PbZ0oSg1MPu6DiKaJIma1RKYnPcJwKaNMltV11EKwhTE7Jyr6+Ccl6AiEkfUqqoAcswGqAg5R00y6TCysfjweIsLp7ZeYHdsEQSgrgM59oknIjVVCSrCzBIkiHjvG0+km77zPs8e7FppE8g5N8pz5/1sNgshjEYj731RFKPRKE3TNE194mOHLbnonqpxH2MdRCd9brudPMyafqvIkWIWKxrjdvp7Mc6Le3eJGSloc5TYBalVxXsvpDWksKK0yjyUVUScklQlISytjrQMWisxjbK0Mq3rABXuR0j3s6PDqvJiBepQRgYgXhUAmixfVx+pahJYalJhcmbQoFUwZy6ol+BC8CYighBLmrRn9dnJRd7D5P9AHHe+hI7LGkGpqVwwmBFZVIOAisaB0jlXlKWoZlmWZVninIVgPgFx01sIYuImDmQA2EjBn+r3Tc45U0VlZhBRMyNmA8i5lZXVB84+lI/GWT5aWlp66umnT51+gJ1TUXZEDgBVdRkN9rDA9b84XwIRHIuImTKYnMu8y/K8KMoYQ3IxdwQACGoqaqagqA3LsdwkXnUGc83btnmopssZQFvU3pSb9AopFp/Rh+FzwIABxxs2j413t01Eg4hjF1Mcjp1LHTMBpmIgxOV4KxhrEtS4WaOLiog4ds65fmZkfzpo0fzSQq8GYsEeYrsRee+9T1S1rKoQgqgA5pxjumkI05pG4ZsO9MTkXRJdcWMlXpf86a//rEuRtNV3TdBu3yw8n5WIOioV/+qigdTa43ZsatHDdIwRDyAzAaomIANT0FBbUCg5VjNTc3AZ+xxJUdeYSSoeaqrQqaIyF5wjxwaak+rb5kv38tE+EtQa0MYVrzZd5gQQKzlhp+zMQQliZCCDqpkqyMiBPNgNdrVz3AV8qUt/2645BGrmwHHsMxgzq8qlDz66sXVjeXmZ2QHQEDSEK9e3JEgIwbkm+V6HwOwi2T7aUWHBWUQBU1NLkiSGA0OomV2SJCphsrL6zAsvLK2ur6wuP/P0M7Mq/Ortd40AM+ecczwrCmtH6tvGgme8mFZQ9p7JEYzUVMQxe+dn0+nqyvLa6mpZVapGxEDUC21KkGMNPszMpJGq6PQbWhfviHinmTX0bL733f/DhTtgwIBjh4W9XtHFfRsjcKBzBLdoZQNKEh/Lzus6tGFEDRJERCFBgpnmeZ6mqYoysXMOsLqum6FzT/Jl9y4fh3h86pPI8YjZe+/ThL133uWjXILUoTpcH8+6ZFUP1KvKiF20UWqPiOKM3BWE13UdF/shhMhy2iYqa8rRY+V9XIz0thn/MyYCx+JCArhVIe+q8kII3OLOH7vPFd33EokiYKoBEDArTBimznM6yscJvKsorXkcUtNxUmt63eU+r0XqIArnhcaceMdQ2X2c+zd2k6W938j83vscPb6EwKZR+g6AkTNKhJPgUvVOmErKKE05ITERURWADSp2v3tY9XFX8CWg7V+1dsUde2nieNQMf8zT6fSHf/d3P/jBD6JO6Gw2q6tqlI+yLCtmhUhIkiRJEhGpqsr5aJc+l7Q+EIuXwDpiEg0hELN30fxOnXdJkhLT1o0bl69crqt6NMovXrr89//4I1UhkIg479MkKavS0JhU3DYWzS8RgiN2HmYSgomYqCNKnJ9MJr/3rW994+tfX19bZ9fkhdig0Eh9TDWoUucW1SSPDgoCNmE96p4VtTQaOdhd8hEDBgwYcGxw2w54Ta/1AT0CbRcM2miSOeeSJBGp2hU/p2mylGexidZgQUOSJDBUWoUQggQiYqI8y+J63Ww+FezpwtndXn87WHx0jqN9TMHERiZTZeY0SQOFIKFTUbrZDhw403XL6ShJVFWVqjrnOr9aANHeip3ziRdTn3ifJLGvAyBVMdWYbnKxsIn2boJAYBIVjfZZ7ddGvaRT/897A/Oepf5HMzBTmqbGVMfarbgCCAaBVlptV94TOXh1JpKOUyjH85osdd6xI2rV57tN9X7vvkF77tl17/0MAhgNXzKKHS1NmxcZkTIq0qB1qK2ySTYZY5ynmSfn2BFDaB4hGIC7hC+1sSE09qhxiolhn1icoGoEquvw5ptv/vVf/02eZxsbJ4qi2ikKl2c+SWbFTCQkSZokidRSh9rHdDkQVQduhgX5EgGJT0itqipRdcyOHVHjQQSiUNdEiF2n2cWL09msKkvnXF3XAJidSCC3aERKFzzho9Gcagg1AaMkG+cjE7l+5erJExtPPfW0grNRJsEk1KJNpSOYDRCVaI0Wvd1tHpDrZ5f2hTCslX9qvDNoT0r+djCMoAMGDPgUcPuV0vPETrRo6Pphuh9rhH5hURMnUjPnnPfpaJQ5tmvXb7Bz+Tgzsel01moMqIhIECZyxGgpwc3q8fQY1OOhrkUVRFmep0nK7KqyurR5aePERpqmsalpv8p0h9hEdPCOxYPGnLioHiGqOpvNqqqazWZra2vx9tb2FiWuDkFMjVBUZV5XzvlOyFpVhPqbaBo42jCukjYWJtrGYeu6jkc+qnFEqrb4oTo+2J/0MzOpxbEj8lZXqU+MyGmCgm2Ldj7YeX/7vWAzn5KSzIrpZGmpFitqEWXwiNgRNBoD7d/aYSRqV6KJ9BN0n9+bIMBp07kYnAmbkXVmnk7ZB/LCOdJ6u6ouVivLy5hCd5QcUvIETuFpSDC1uCv4UoN5ZqkhTKSqJhaN0JMkGY3zxCd5lj/37LNf+/rXJpOlUk1Sn2RZWZUh1M75JElUJIg49sR9abubbnWxc8XIDAbH0cyB6hDqqgohGJClaZZlVV2FEABKvBc1ZnjvQwgiSkwmSo7hFssvLXi+R6tnFVVLnRtleZ6kv37nnb/5v/4qcS7J0jRLAQqhrqugIkpGIOd9dKhnjma+dTe47fNRaBV0e3n9/mM9daeB8gwYMOB4gW57hO2ms313zAP3ZkxE7EQ0hJhZis6EqMrqwoUP/+EfXnnvw/eruiCioigBTMbjPM9FdTbdCVVIvI9F0TiELy1cU7h4f2kV6vFk8tpr/3zl8pXIK65eu/bnf/7nS8tLALxPgMMmM2vrwHftT6+LhQDHTGj0GOLjH3300fb2dgjhzTffvHbjhs/TsqpUZXVl9cSJjSRNTFW0EXT13nnvwRRtUombvqU4eamqZ/bEGqQsS24EOerRaHTu3Llvf/vbk8nkHssvAeg0b63114r9MjCyAAj7NA0mFjBOlrhyVz64eu2CqJWrK5M6VBcufryyuizKdTBQSn4S1Exrx3pQjPTmWSbs50v3FC+9DbR8yTq+pNS4MBHMKXmlxNzE54n6NPixG3NNYVYFX3HCpCAdbFrmuJv40hwGGNSUyUV9z3mewixJ/cMPP/zNb/7O2Yceqh0X3o9XliSEqqqYqKkqVnPeU3RjOGqqW+h0MYMazJzz3JjONvOgmjGx994QTQmFYM554rb8LOogGcKhPay3tBeLvBggMoY6JgYRiGGs9g//9e//9v/529QnWZ4750QBkPfevIszRwzjoTFNtE7K4ah9NRw8o9hAlgYMGHDP4pDhjYiZomk7MxGRc+wcq+rFzcvf//4Pvvv97166cvHUqVNbW1vXr18f5aPJZGKmVVk5dm2z07HmS2Y2LWbLy8tVWSZJ8v7594uiuHr16l/8xV8UZVHXtXPeHeF9tHcXaN8Njg4i0Y9ENTrVxhajN954419+8UYwLasKsCRJEI2YQjBTAyQIR+k8jn1KnclFuwJRZQOJmqiara2tZVl28eLF5eXlP/zDP/zKV76ysrISZ8Z7hjX1iwytlU2DkfcpgVTh4UiMYWc3Tv3P/8P/8nvf+F3nlUlg1cryaPPix6+//trJU6ecy8ScUeKS5SqoSOmd9k6pQwrzAFjLrHpxB7DB3edrBjI4sz5fipQJAGBOzQk5Qc5ZSk6LME4nTz957vTKaeZUhaQOGnBIRvd+w/HnS20XbA9NRtZATDHmFEJQs7oKRVlubW1vbW2ZCFSmdXFB6jUPGKqyNI1XILWuCyIicqilgy08i/hmUKU61CEE732e5+xYRaLyT5amzE5UTS3PctEwnU7TJE2SJFIpXZgqLFiPxzCHOgGgpqLOMMlHRaguX7+6lI8/vrT59ju/ytM8S9PV5ZXRKE+T1DknokGCmTExYEytGW3jztivRQHQBg4P6F+C4k6Y0Q5xkgEDBhxHHDDNoR0Rm9yFqMT1vffRuJ2ZxqN8ZWUFQJIkjz/+5Hd+/9ujPL9y5Yojl2VpCMFEl5aXJdSdR9/N+JJ87vV4ZmLKzEVZOnYvfOGFsij+/b//n1ZWVrMsc/MKi0+2Her9ZubE+aosDf8/e2/aLMd1XQuuvU9m1nBnDAQxkAAIDuAAmZJF+j2r9fz81M+2HA4p7Hb4wwt/6Yj+4F/mcIfjhaNlm+2RakuiRPnREgdxAgmAgDgAIDHcqYbMc/buD/tkVlbdkahLAhfMhRsXdatyqhzO2WsPayNJkljJzDw3P89E/X6/74eFqkBbrVaapsNhHnxgR61Wq9XKVNQXpq4RE11KF2BMgBQRJ5RYQoRicWlpbW31hz/84Y3PbvTW1y0OY91ypzxV9yCqTlMiQmCnDh4sYOd8DsCdOPzw//U//lwJbFEfnwN66Ve/+nHn3x56+GS3uwBuCRK4GS8kMmT2tfjStnyJdKNRr2BF0vClii8ViQYOgTXEsyoE5QDnkbFzinytXwz8/MKBdtbpD/Jh7hEK9q5U+2+wD/gSYr/T+g8pSImgEvK+J2ZA2TkoXJJylgXmgnhInKsT8fnQMygElRCDtuxUIRIEYLdtqptOOYsoJARHnKRpmrXzPBcJeR5UCxERVecy75UoEDGRY5coiDljl4KdBhEhSpIp3VFTOrMIysoAQvAq3hEnSbuVdRmut7Z+8f0L/7Gw1EkzZjp96tTp06dnZmaSNFWrNWZ2zNadQsvsRlOudOVPFImv0SeNxEpRufBKDfgGDRo0uKcwYaxtMtzG4W3D22VeRDm1bVy1mviIGMwEQMR774nQypJOp51l2YGlpUcePfPn/+PPn376aRFx7ByQSwgirSQdhgLRb7UlX5reM7jzJLPjDohETeZB2+3WsMj/jz/7s9mZmU67y8DQF9hWL6HK3tjq2MzuG/b77Fy323XA0HvvfbvVYqIgMgxFLqKEVpYReDAcBF+AqNVqpS7RStcBpJDSixlnJ9EQgrSTVgvwwPr6OkTeeuvtj69ee/3115M0y1ot00mvdMa17Jlb7+OE/WyfxoY8qrkUHNg5RgLxKLwQa5JwPixAlLUcOwei9eCvr67QZ9db7Z4IF4V0uouqlPsBOGzwk2/xJ+lm91YTX4p8yfQeLLgUSGt2lDpFSi4hztg5pZXVtduDXuLSPC+KEFzWmk9mG7urwj3Pl1QZwghKQdl+hOKb5CCAQAByqhy8FIKQZL0k/UwkYyedVjt0C2/balXprKIQD8ABCH7b/U8dnCFhrzr0li3Now64BBCCwoQf7JZc6wcAlHQKQZEDcGDnZdr6o2mhqkIpOdKM4Em115dez3das92Z5MDc4sLMbCdNL1688MDBpaWFWWb2GkRBzEIQtUa3BCgpnBIrEkEakHp1pE6UFaoq0FBO25W0SxJAgBACT3samue+QYMGe49RS7mxd+0/k7mp8ZFRXhwrzIyBzWUkzGpC1vaCyBSAlVgZZD1AFdpqpcxU+CDih3l/fW2tv9ZzlDIoD5oH74NXgBwPfFEK8AlqsjmRQpSsaZPS+r3G9mrgIxDDoZd7EHdm5wOwNhzGT2jK4nNVVWSZACvlNhE7/ALRPcoABrm3I+G0BaAIWoSKrVmmhJRHZOcvtmotJF8jFhXOWjNpkszNhyQVduoSqrVyMr5kAa5WqxU3wiyqvG819EyVyjnnQ+jLgDrUSVskwTlKW0Qg9aHlHJgA8golosWlxTOPFMRFkMFgbbDeO95x8KHf7yFLpivb3iRg+1UDKViIa6KY4ydFlalgGUieZen8wvz6+m1fDJykgjCQwYGZgzOHO+yYQFWnWluzUiC7n5JLd8Q9z5c+Hwgoq5us59E+sZB3aCtxT9yNFBUJqz9LeTv7jGg0GTRo0KBBgy8TJqYnZeKEiFh0ftPAEdfGctIvybTcLV8arWBfYLTW9PPLDlPtTrNtxXaq5HGKJmjkS4oAkhACE4U0MSUq5xLv/Y0bt1tpmufeTM1Op5MkiWnlWVETW2fbKb/hPQB2ru3aXoNHcKIhzx04STOyRMTSf0Cg48dO/Pf//b/PzMxmnJCIL4p2klGQoKqpMasGdw6KWl3bL4EQFIBLeL3fI+fSNHV6Ue8AACAASURBVAVhUPSZebYzm1q1XoP9z5cI1XhVjvixn4UqRJVVt71bdrWP6dbfce0do0f3QHSeQGpqtxy16tT6K4mKaKSmm05mjRhlgwYN7m9UIfGt/iQqKzfrb+7tQYy8hTQqDY2pfuOZfnU/4qYVIl8M7mQPE5Pj1Af5hX7LSKIAZmaiBEickxCWV5bfv3Dhn//1X1JiQBYW5hcXF8+cOXPy5Mmok27J6jAVqMmWu/sOBDCcDwWJtNK2yxyUiBiiqiIqyqTMxDrT6bQ77QQ8ljlXKV43+OJRF9hK0gREzjkC2u1MVBJ2TTpehf3OlwwjwlTGxsvqS5GyHcKdY+oksB02sC+4u+nbspZCQOXgLqq6WcuLBg0aNGjwpaKc/uwvLf+YnGJqfGmUNLAPZiF80Qkjm9bBbLJYWY1m7X9NlshOo1Xs+uBDCIVARJxLZrozCwsLszMznTRbW18dDoeDwaBqxGTBJSWwqf1+gd/vy0PFHMuURWPzSkTkkqiaSwTAgYJq0MCiDGaNinuQ6XzVet+cy6mx4TRUicLm9Wa2/Dq1psy5hBDEOSqFSZrTGHF/8KUYFrdCzNi1TkTUfqZTStgLvrTTFnaML919T4sVFykpx0ll1CNENi9kjtXLlYRQ89A1aNDg/kQZ27H/ykyH8RDTeK6XERWl3dro2yOKIKmVOkUBHS1FcjbOQJX8hFZ6BVMfw/2BXfEloD6fqUbWqQATJY4Bl4eQBz8cDIbDoaqmSZIkyfziwsxsl5na7Xan0zHFPNPgJtB9Uwpi5zB1mSLkPjgQEwGqIXCa+KIogndJokwAJWkKAikxW/5YABiEaQNM98WZ3ANsEN0cvUdgMtovIhqtaGYNIRRFQhmDgg9g15xMw33Cl6IjgiK9kbK0ZquG359ju5h2NtOpJyO+BwI4AoUSqSLGlCYSuBs0aNCgwT2AmIcX/Vqj+FJF42pzGumI5n3R+KKrj76cY6gfSSX2UL2fF4X3XomZOXOctrI0y6zFU57ntlZRFKpaFFFAImrKEaLw8/4vA1ZVL6JE7ByCxG8oqkxgZucSKDErk+WCMYiYnZ3GoBAPdlZsMc1R7NG32fcYDxnUGjoTqUieF3kxZOKZmRkTb2QiFXHOMbHyfcLh9wT7ny9VOXhUvYpKBGU+3lTPDe1F/dKO8aOdNnGXn3wFBKUAqipDRUnMkUlxyJ9YpYqFT84nTT1TgwYN7i/UhzTaTF+hoiVjNU5UOnv3wCAhEClb5QtZzCPm2VV6wFq5lcc50pc3IE/Nl6Y9gJ2rxna3i43X03pkEAFgZrJ2gyRBQlGYf9F7z8QuzUwcwriR9z5475LEJQmArcqA9x2s3ZdjIscQ1aBQZkfB+yRLknSj5Vk+Bmn2JR/qfY/x+8nV/2DmdjtptVMqpZtVgw8+SVMGSRFMFa+JLxn2P18CULohxnQSYwmTSiy2udMtA1OqWO/YN33H8VGhd7fFshACVJWcyWhYAkI86l0FzRuW1KBBgwZfJGj8dWxfZ95DS/hCvWDJoF/m4Dw9X5rySHc+gB3Vl0xRvOa0jzkoZmcws3OOiCSEIFLkeeF9EFHAew/mNOEQCsvBA2BOXY4aVSIqYHZ09zPwp4RjF1RFNOWo3GjFWS/95Mc3bt5sz84qKRwpI2iwiAZ8oCCZSxgQqICnrqVorHwVVAbwJt4RYmYiiIYgKpolqS/80tLBJx4/uzi3qBJAruFKFfYlX5qI2GhZTbMxWK+AqMQCwippeyzHbod7gTc2jv6c2Ly8pwbaMXx0t9PxrBpVICSqIkyQ6D8yPX/CNln4DU9q0KDBVxIbwxmywcO0q/ol3ezVhinPctEl5uChln2x84F9FbAn33rynJu+WPmeqIYQrGcrMydJkqZWu5RkWUaEfDgcDodcajQnScLMsdpeRVRJ9Yu7NtXBV17aEIKqGsfbq70QkSNItBIo1r8wEPD//sM/vvSzlzh1w1CoI0pIIOyIVLXwUvi2c6Tw0FBKP2yxj52P4it5j09AoaHeoBbjo41jTpNEg4ZhENG5zmy33f3mbz5/aOng0vwSiJndhJNi1EWGyFKOsP8zSHeJ/cGXtAoY1QEolVnaGIWSqGwhZxwqqCqYo01fcivLg5jMFdscU+bj7ciXdsbdphxqYuJWkKrKiFOyMSUTulEqlZhKAT0rJBxtQavE+dr3iTWGFHlX/bkbMwywadVygwYNGtxt0MgimYjdVC+Iqk+1VkK0yby2NaIFWNYlRV21aowtfYaRL8WB2WSQpFblvbkV+WUMrlPbVFMzCZqymaFCxgrAqsttAbzRZGZ7i3w1hCAinU6HVAsfnHNZlpn4GBElSWIXl5iTvch82tSE1Tgha30B65krIlX70Y0r3gFsfaaqfxKV5EVvLd/+5NrV+aX5uQPzabcdKAhZXr+yKEJIiFjhCQWzbMeXdrxhG75kUeZQ6tyrhZtGavUKJiSckBAJhSJc++hayMOJEw957ylhHUjwAWzleGz3iYiFTsWq8jZGKe5j7A++ZKhYUvkzCmpolVVQuxlsDbEOTFQa3FR3y+2ciaC78v5tu4XJervNltgWU+pqTo+KqwiUVcXOrJ1zmjjhtXUmNrHxJIy9M9F5+is/1DVo0GB/QCet5xLVBFMfzcbsbYycS9vtwGL8tc48k2ZKOcGNss8JKH2HkzSj7ijc9BC/GOzBJDa9YsSOe9h+9fH1J677SLyhDPFFpitiMZxyMevPRCjJCRFp/HJfoKO+Iktm8hpVc87ZgVmgyfIJp99XrGuu3WsEgJQZYBx96Oh/+c5/PX7qoWEYSjSRzBWrToQB7yhnlq3PRXR6b3c5G74EAhyUKzcNjxWnkIKJHDkKYHVry2v/8//+n1c/vJokLk1SEEQlFIGzxNU94bZu2bh5zEFwv2M/8aUNqIgTgDL1oBadqAIdwJjAXDWn7CY6L1MPYNMn001/DFNCo3+ympFJ7DTS6BpsOnA1ZUsNGjS471FRlPqIV2WAU22BiY+jqbhnh2GONSp3MPFOPFQdzwms3HnNWL2LCYt020X2RavZSsc8hGAJgZX+xF5m5dVLH+ItqUoa4Nuz7Yceeejxp872fF9IQEpQqLKKU2XA89R8adIB+1UEKZKozq6Iyi9aH40cOUdOC80o7a32f/A3PxBVlyTsGECSpSyTUT6qwUzsivzf99jXfAmo0rviKEV1P5taHyb7U0aOjool78aaH6t1urMjnJo0TH8M04IgAESrvnxaJd9tTZYaNGjQ4CuFTXxwhLGClE2ngz0wNkbWoY69Wb2zwz6aMRy7cKHqzovsLsv/rsIiS1U+p4h474nIqph0L9pAUe2npiWoSqIsAgkaCviCvJACAhKCMqz7EjyhoG3z8bCbp2bfy2ZMCeNHHG9HqVGm+KkJd/ngyVHWzoKKkIpKr98PgyL4oNBCQ5qlWZZZ0ubE7dHk4+0XUBntGLtgI7okKqRi4SViu08UY3xpl/uZCntyO91t9i6ARcxR5uOVQu2jbJJNG2o3IaYGDRp8dTAx3BFs6JzMitPy954Oj9Z+ksCmYYqRYx9jY7HlLEykeU9Z23M/YBcX4z6YzibiA4aKLFmZSr2i6XNvf+S6RimGoQApBaEgJIFCgSJHPtRcYAkrAaQEcSYMofDKuvUdSaAd2JCi4UsAgoJj7WNQMmO45EuCAAlww2LoQ0g08RSG+fDGrZuXPvigGPhiULRn2q2Z9oGDBxYWFqpbop6Vt7dKIfc49jVfAkqHENV+WfBDogAEiQLKZSO42JipfI6rbWwNmlZmYA+iQ1Mfw7QgiIIVxpfU2jHVmFI17zdZeQ0aNGhQYdOIU/xgj1FGkza1Xir2VAs21VncHqYF7l/QTnPV/XGKjBTZa2ue22q1Kqt3+oqUKpw0vhVVEiVRCspBOAT7IQEJSJSUTCEQUJBsW7S9s/IHoeFLAJQQ4gsTfSkFyBTEUCBoEKfk2A8DmHKfLy8vX7t+vej7tZW1+cX5gw8cbLVbs7Oz9cK2KhPvrnypu4V9z5dGoNHzWQWRSlGhKPoZqx2r+2UXUJ3W60ZTa/rc/YS3Mi6HSo6w1BjEBGGq4avic2jQoEGDDdjIlPQLcx5tMUdszNBrMCXuB++fqoYQAIjI9evX19fXjx49OjMzY4Uo05ej0PiLWreRMvuHVCDxh4KSKgkgIBUSBqLe7taHsbs0sK+WNb8ZSLQaBIwha9XNk0GFevKUujRrt4bFgBPn0sSlSZImrVYrz3JVeO9RCt/HTamaOoiINHoP+wqbPTUx0qFlVaCqlpI1QGX6727zW3vddrmJKdvdAghT6z1MHd+yc2nnUKXMSI5N9naz+6/KA9WgQYOvFipjcKtBTsusvKqSI2JPR8XNp6oqGWqLne172//Lxm4ms3v6pJqGOABmXl5efv311y9cuPDss8+eO3dubm5ur9KrarHOSiKKATXJB4F6BK/ew3sEhVrnMAuHMOBArEyyJeHZRediuvudK7EX98J01FXASqywuhVVSLTnrL+OKCkcO2Ud+jxoSLI0a7dc4jrdLpSJgdJ2rnI1gTF9vKm/4b7Bvc6X6lMRW6ymlEURUkJ8oBiWLQbSyE8CwUfleSJUFTZVrGf315iqvkG0cb2dCml14v87xNaR6dEH2/GWKUV7bCYWhTVaUpj2AxhEk+VjY4dWeTaIUF63krSSjg951lBrcvWx4254V4MGDe49bDIsRYsEdRZDlbpaORF9Lg2vsQFzlE5e1hLUZ5vyj1qnys1GTx39boqXpkdZTj3WVqNuA5TJJnf5ZJuZ65zr9/vvvPPOiy+++Omnnzrnnn766aWlpWoZ1Mzi6nV9C1tuP5L0ia/JZsTBqqRURUNACAiqAtXIl8gqpAGVbVNEd3MK72niultM8SXEjGLLxEMsPK9bbASAKGgoiiLPh8F7iy7mw9wXnolEg/c+hGAC9N57E6CvYk0NX7qHEBgFA0AiSANSgRd4Rs6AAxPDgQSpCItw0FSQgMEYphgm8IAGhiBQ3XbnGmva4WY03ZZyKao3SibE7nebJT3U3CsUZFo/B282wG7eCmLjYgBIpoqwCyCORdWBHAheQJoEbsOlAS4IqxAsng5hgCECGx9ZSBUqARRiDi2Z40cAAav9KIuyiIh5oiDKduxKpipqJ+Ae8Bc1aNCgwQgEOAFqQ7BgU+UbApRhw2RcmgEn4F2OawIpW2PYpBTKMhQG2LYjgAgUEKk4mckeoTbtVYe7B+W19xF2bN1Rp6wMu5iItEigUDgqG5bQKOVMBAIWMJgB1UgdNu4dEB7vabjnsLITIzxJkgyHwytXrgwGA++99/7ZZ59dWFiopCAs20pE6iIQu4kqCEShBHJwIPuuBMkgKZAQ2KIeLELwZQBUAbAmrAQgTFfJcHdbVkaQ6pTHsamI1ueBVPUn0c8t5vnmeC8TgyEhhIKgTMSEqjidSp5sXbmY2Zos25tfKWU8w73Ol4QgDCWwwpU/XiEOgcmx0VtyEq8um3gikWcUUSaBdJxOa406xf+3hgIBgBLHMEl9gqExoj4255UzEyOYLMmUZ2FDoAWYdB5uOPDRShQ3codQJgEXVXxHRANIkYK5quGEEkHJ5nNSGjk3KLbctRxlJeWY0ExR4NJ+iGKmZPwute5Ods6VpixJ1u2vdYMGDRp8XijAkY/E3Lcy+y5WexK0ri5URZZKpxt4J8uwUjMrs8staaJsH1lV6kNJQWX2DACTydMYXIppeRMOPiqjTE2ICdvnaUwsSWXmCYxIxWR1AEog609Y7/YIY0IEmxYnT7eWJq2qijn+7YMqyLOH5fV2j2RZZjrRt2/ffvnll/v9/qeffvrcc8+dOHHCOVdpQhiGw6H1t6333t1uF9DyyAEwAYADnHEAsmQVBEIok8NAIA5MICUNNNV8fW/Il0wk0dwBpuRLBJB5aTQqPajdaQJA4SwnT6AITGAmAogQuxh7BeDYOeeSJDHiZDL0DV/aZ7CZxuLfm6dDRLXx0Rvlq5FawY63opRFh1quWa9l1Hp8adPNaZSS29132gIqEw6nMa2FakSa2HGVgqFW9HfnsRmRsmpQRzVL9Vbyu/qGm51qrVplKcqMvY0XRi17r8nHa9Cgwb2MKjdu4+A8Uhoq8aUNZpsPzjtnVzT4/Jj6lKqISORLFU/eKi/uDlCJhpvhmyRJlmX20SuvvPLJJ5/cvHnzd3/3d0+ePJllWaUMkSSJ974oChGpggx3/h0tM0xUyoaOAgCsKoAwWEksYLe/UXVdufMtTMuQLbZMZoqSlPl4WoaRWFQZMUNyvBx9v5/9vcc+5kvjoA2OM60Z9DE+gfLjEV/ayQafnOLG+9XpWBRn8/VlajFw2rCBDQ/hFnypWnq6Q7DRTUuPZvmiclbEUzBxrrbwDlFZhhbZ5lZOpKq1VuWbbcJDDRo0uAdRCyGMXFlac7BFS3e01DhZ2RPmRNDyp3ZgNQpXP9ZREKxxQu05tpjQ6l7ObbEpI9qrQhHjSFVFSpZlxqCefvrpq1evXr169R//8R9XVlb+4A/+4OzZsyYOYaGtTqczHA4B7CigN2aNbXUUpTUhI0dCgJKqqsXY7ofZfvpvMTXhKu0/LWMI1a2oQEBgcCgNujqmO+z7E/cBX6qN9yOzunwQaw2Cxu+BmLJQT5TYfOtUBt21PuOAasF4LQuZNh0LlXRaxqQ0+dCUmXg1VlQeJSZiM5ss9vn3X/Klcpirjf6f63muWQnxOa4eUlTh98rsKK+fji7tNCdyuvh+gwYNGmyHMqVN6zFyG8KoHIU1+pcaknKfYmRaaFkHUsUWN8YYN4KZaw5ZrfSaK4qyG1t2ez5jCXWWYTUcDnu93pEjR77zne/cunXr5Zdffu+99/7u7/5uMBh8//vfP3ny5OzsLADvvaqmabontE0tjKbxZ2S/g6AxeX/Kqu974/nag9yiafPxlAhR70FLEUIbkGBGlygJiRHXepSh3ECDCvuaL40CHvZgxenJkoYDRFVq/rWx26AMMRFRWYy4JSIXGs+Hncg93hgCqpErK+G5czidDMpWe6sqeuIEPUodnDycaXLTjdMI4hOlqlIxJ4bSeBtuKs/V2B7J2naXW2QTsSj5UlnGVD7CqD22asngpFtL8e32azRo0KDBnmMUX9K6rvdozpFY+F2NQTE1YcM4OeVhjF7UKVv9I9BYBnszKH4RmLgQipHzb0cQEyNKOFe6C6NP94KuVMl4cTYXSZLk9OnTv/EbvzE/P99ut1955ZUXXnih1+t973vfe+qpp+bn54koz3MrdqprP2z1JbbyCVTWmKiKikACZExP0NJPRJVlmkfjntB7mD48BEw1QChF+wlQBIWWfAkAosS7AkpBg6gESICUKVENVZrEvuZLmyFmZYoiaBRbk3rqQUT5gGrt9XbbxA6xdK0qFscW326Vz4H60VbvTRzVqM/G+H7LsqOp9h+LUKtIbfUTa8HqpX8TDjQdDZxan77LLdViwGU98+i4RwuTCpR1uorkJr7UoEGDvUfUVijHZKJYTj2qntVRoJ/KkYigsfj/C7buNm584yDbYG8wnutfEqZyutzNBFRuYSIzqooy7dghNE6nWy9jkneWaOecs5Q87/3hw4eff/752dlZEXn11Vdffvnl5eXl7373u9/61rfm5uba7batOGWLUkU17YuKBT0qG4cgQiAwZMrYjN79brXmB55uG1M+o1oWK0HYVNEElcamAkJQpnglqmw927EySO4V4nlPYP/zpZKi1HLyKmUCFaiUqgcmfFAuQnXLfYc9jJGQESWq3qb4u7zPyoyLSGZGqm53WmArE1RofH8xhFU/yFqUqZYTcscQxGBdfQCvj/5VjGt0SBRdrba6EsRiX2QdnKpKs9qcUtU1RR8o1NYtv05Ddxo0aHAPQuszAgGg2Bey/BwYDcJSzQR7GlmqD8Jx4xvKmeICBOvWEBdrRtW9RVUgPfItYveey2qKnQgr7YYpVQtv+mYlGpHnuWlDq+pwOPTeZ1kWQuj3+91u97nnnpudnZ2dnX3llVfeeuutlZWVa9eufe973zt06JAd0o71SwqlMVX0iQoBBelIbN340mhZMglBoWnz8e5695ENyW13gGlTd7l024jFl2r9l4hUycTbKcRrYb2vzCozS60ZHUbYB3xp88s1MtlrC9ST0VQ19qKoWsSVk1SMT9rSqrLjY1Xa62MlszVWUlIxssasqmxGf8xWth5tcfSs5+mVW48afFojQQqqPJEiUquyip5BrR2BlitXS4xOS5xFp+NLRFWpcq2EKR7+aHoe7XrD/uubG9efKB1vVeI/lb5aqrbV+EEbNGhw72Js2LbxnlQrRRtgu9D4doNzLapf80btpg5mk71UM045i3y+LTTYClteilFe2ue4YKPMvUrR29rLYhfu3bG911iNJeDZFpxzJnZnkg95nt+4cSNJkna7nee5qn7jG9+YnZ1tt9svv/zyO++8s7y83O/3v//97x89etSqnnZ/DJt/w1rt8qh+yY5Zo7VTlllMsZcdPtUvtM9VtZfp1p/W/NHKZaKqEKUo2UfRsjJvNpXVK7Wbr8EG3PN8SeszxnhKmBIIo0YUBAIxMZHV2UQWU2bjWWSp7vHb5cgz8ugQaT3x2whYURRQzdK0KIpO1sqSNB8OUnZZmhb5cDAYkEvSdjtN0+FwWBQ+SVLnnGjwPlTeGlWRIOzYsY2JIlAmcsxB1BFYVVV8kDRLQfA+JGkWRIrCuySRIMH4YByZibiK4dAoU3CKi0BEVrVkzbl9CIX3ChCX27d+CmPzO1XMysTuYGSIYAsTEZEDOSImsjZ95eRiWX7m5NDR9Zpy7GlcqQ0aNNhzlB7Z0ruj1rK2mmK0nC8qf1KcsthyjKvhsL5NG0XLktSx2c8aXcRVywmOSp9+5XqKm0G5Ha2OdSL0Ve7iiztD9y1KRaJIkqlWyqxVXIiZuG5ITF7tijzE1yH4EEIIr7/++gsvvLC6upokSZIk1ja0nqS3KSpqNCEUUSFN06IorJ3O+++/bwt47y1w1Ov1vPePPvron/3Znx08ePCll166ePHi3/zN36yvr//Jn/zJ448/Xh1zCLFhspEo772ROlGJMahxaz8WKZPRpOCD9+pFRceKwwOZ2PW2NGFn601VVdlO/vjT5JjZuRCC94X1YYW1fpZg1xCAudFp+4ZXqlIjdWSRMaIqgUkUosJEIOKReTN6iu0shVCxFYCIqS4Rgh1J3TYngjAqkSzDR1rdrgBIScAgLdT3h31KCIwgXjQQQRUiobGaKtzzfGknlHOQRVlGEecqxBGfEgI0tkwrM8t1bBNbbR+x2xdY6++WISOkaZo410rTvsra+uonl69cevddcvzImUcfe+SRmU5nfTC4eOHCxUuXlpdvP3326ccff6wIofAFgHarRcRZlubDvJ/nUG51MgDDoQeU0zRxiYY8FMUwz51zs3NzQWR5eSWIuDT33hPzwblD+bDIg1eiio9oGZ6Jk/OUbhQCCJXcoAKiEuKAUu2omqejLESNWVYZilQ9q9VcgooslUPVKFxVbWEiaNagQYMG9ww2RtG3Gakq/8/2i2266sjsm7AXR8wp7qJutW9vUTW4M+zK4UojdlTZKtucc1V1zJQSiJj5ypUrf/mXf/npp592u900Tb333vvdh3fqS9ZfM/NgMAghzMzMtFotZp6Zmcnz3PL0sizr9Xppmp4+ffr3fu/3FhYWfvKTn7z++ut/9Vd/NRwOv/vd7549e3Z+ft57PxwOsywTEcvoA9Dv902j3FJgtjpQgQQJIQRRCRTGY6eWjb+Dc3TnbqmRg4JUiLksMVQAQRQEXxS5L1KkoISAELwEibQ2ym2AZNvYr9GqUWgsXmum6K0OqkGEyfzXHI0lhYha9IxU2RTbRRQgArMzQilBgGlLxeKoYPVLIsIqqLeEIig5QEiCSu6L8gilCu59rnjmfY99z5dKlMl10PF5YkwqodRhqYzy3UABD4t4EGK0Q6uiXQVUAgJopt0teoPL75z/6Qv/sF4U//m//rdTR47PZl3y4cP33/vn/+cHg9u3Dv2fC888+Xi/N3DQTqczM9Md9IepatZqtRwPhoP+ynKaJnPdmVa7TcxFUXBgTVNvER4Jr/7y1fMXLjx65szDDz/cnZlVYH1t3SVJkqQVo5DKhRm/wZQyCVCrIyrVKEcglElzd4LNSgmp3OHGNxs0aNBgH2CH8bDJh/tqQ2PRzlhoAlH7g7z3kNhGdmZmZn5+/uDBg9/4xjcefvhhy53b0Ya2qEXd0p14nWXZYDDo9Xq2F1WdnZ09fPiwBa+cc91ut9frDQaDQ4cO/c7v/M7hw4dbrdaPfvSjH/zgB59++unv//7vf/Ob31xaWkrTtFLJCyFYmp9zjp1jItna1FaYlLiIBqGgBKmo/i750g6NYKJDXBUiAg2O2QJNohpCGOQD68NLIYaAREUhbNUTVrqzYwQLcdnxL6ohupBNpFsURAEBwb6kVv8ABKpS9qoIZLRjSY3s7XAedrgZVCQarUIipEHrEhSWqkdsdf6EcXUKs+yaQWqE+4Av0ZgHTWMCApX1lqHM36xFyms8YkepGQRCKDdcXzn+lhC8D3nQ+dnZTtaZS1sz6sBY7M4fnFlywXVdutSdOdDtXu+tpyqpKiWJQvsrK5fee+/XH3zAzEePHnvooYfnFuZawOra2odXr67evLl84+YwzxcePPLwyZNLi4v9/uCdd97+p7/9wQcXLt58/nmoPvr44zPd2dX19QRwifkNYj6exDNTfYutXT27gJLGwU2jJp5lO44CxiVrKsN8pd4DorruqOx4FIyyaFj8rUD5ulx3JC9ueuIbhMsbNGjQ4F7AuCNOx0Pu9m71TkywK9NzNkoy3PEhTIy09ruauVA7pNJwG5G3xo38JaGucVQHlbeGavDeCpa893meP/TQQ9/5zne+/e1vm643duH1r/Olehqn/ZmmYVe2ZwAAIABJREFUaQihKAqrWRoMBlevXl1cXLT4lYi0Wq3BYLC8vLy0tLS4uPjss8865x544IEXX3zxZz/72c2bN69cufKHf/iHp0+fNoIUQuj1ejMzM91uVy2AYl2kNno+qaQLKkFD0CAICoSRYaWxWnrb8qUdwy5sNd5aqr4RHMgyX7z4vMiZKUkSYoCMnJgKr8RK92jlbJt8ZJUF5eOlo5pyGn3Mlpg3im5Vjx3KIkerJAEBHHdIBCYyg0u2LbAf19XY8KnCmBeAQKIigctcPwBgggOETeyBVMoBxAom6iHrBrgP+FLlqtP6C41ZYfYT+dKGdXVDX6ON0FIgpLT7zZiPu2VCu91m1Xx9MOz3h4NBUeSKQL4Yri5/evUTha70Vm989plLk/ZMFyH4wbA/6H/88SdvvPbqL1955dNr16B6+PiJZ7/+7G9/61unTp96750P//mFFz66dMn3+sws3c7XnnvuN7/5XKvbfu+9925duYIrV970PvhQ+PDkU0+1220fJM9zgGOKPLESg1E9fPVo0x1AgbK1XKmVR6NBv5p/mzm3QYMGDRo02AojsjQ5W0bC1MoyTVJ7qyiKW7duLS8vm4rd6uqqKTTsvJfNpvvqTWNTIQSTyHPOGUFKkgSAvZ9lmb1p8ahnn3329OnTWZb967/+65tvvnnt2jXv/R//8R8fO3bM+JJtM01TUyp3O3uiI2R0rDpx6NuGeHYQbtMyy8ZKuERFQ1moAXXOOcdJmpYRlCiwJZFNaHSmb8+XKi+8Vr8ALVMfFcyO2VVlaeVao0K26msaTKsdo5qliu1t8zW3U62wYjGOByaCMhEwnmshJRISFYlfm6r1SibWGHUj7Hu+FFFSpZiyWnlUoqBjnS/VLHs1addtbwglVYc4vpUZeHFDIqJFGDCQsGSUcMLt1Kkfrly5/Mo/DT658H4IxRCyeuvW6qfXOwcPLHbaqfj3L7z385/+7Ff/8QsZDp44e3Z1bfX29av//s//tHr92teff/7im29efuP1A8eOnf3t/zzX6fz0hy9efu/8sePHHjlz5uiRIwsLC+tJsjQzszg72263RXTQ61OSgFlpVCekiBXBUCgTsUzFl4gkUibrB12NKHb6yqAQlayyPNOxd/D4hSp1w0cxpfK6UDmPRB9NtRg1fKxBgwb3Kup64vXg0mjAqlp4TyRD7OmgpuM/8S0aOxLCBiOocSHfSwiiGoKJMSRJMjMz0263O52Oc64oijurX5pYZXZ2lplXVlZ6vV4IwbrQpmlqcScLFrXb7QMHDuR5blRtZmbm4MGD3/72t9vt9muvvXb+/Pm//uu/XllZ+dM//dOHHnqo0+l0Op0qGDIhOE61rK5SDjc2qK9qKKoYZ91e2KZ5ke5EJEo1lFjVLioSxEr/mDnNEjISVdZbx73raMu8Y1qOEnO9a+SotNC4r1g0TVXjQ6dlxh0QFxxZq6JqPZAiZWJ2VnC/PTFUyNZCgqQmFaZxQapOvh2DJeKBlYVESJREy4h3Y2xtxP7nS/WkM6gV6tVZU2ysPsp5qJoKKlBpi2+7+fJRqKW0RmtfRbz3FEKLuZVx6lzWbnOnS0ma9weffvJx8AV320U+gIRWmnbareGg/+GVKx9dvJgw/eZ3vvN7f/iHK6srP3vxh6/89Kdv/PIXBw4fDiLDolhbXRn21k+eOP6/fec72u6eOPHQ0uLS7Mzsm6dPr6n+p//yO2cef/zQg0c7nXaSZEPvg4gSaxleg8Zub1XJ4zTzshIJSGx0QXlGyqeeqAojf07QJq82/bhBgwYNGjTY77DwwWaZTlr5OytZNlVl5ir4AMA5t6Oity0/IceHkjWp6nA4DCF47wFYYp4V81SREFPPc87Z7oqi6Pf7zrnHHnvswQcfPHPmzN/+7d/++Mc//sEPflAUxR/90R8988wzphthEZKNBVRbHqWWfKmWLoiKNW2zAYVsn7GnyrUqJ1GVko0QWSaOmgih6ZmXx4yYIEekwE7NZqxCIBKtkSMdZD56CUErfbHyWlTrjr5J+beWZwVEbJ1uGLTtaaxnWm4ElwwQgFjsrMzHqyxZUZOCkPp2aPNb9KuO/c+XxjHyrpWRJYs/cv32NF9gFRffNnm8umciWaLyYVYLPFGn1UoALYphf5Cvra/fvK2Fnz9w+Jlz537rueeyLB3An7/w/n+88r988Gs3b64uLvpeT6GHHnjg3DNPHzt86NjhQ8vXrn388ceXf31luLLc7XYXlxZ7y8tvvPTS+VdeQZo+ePbs7OLCg0eOLC7Mt5Jk2B9wmna7M1mS5IPhQIeUJMTOvml85KpYTXwwpmrTrCDR6KcoH+lNTppu8bo80fF81v6nDQtvEgWs4k4NGjRosC+ww3g1HmjaG2xh39QD/ihnBMbEGNvgywJVNSfjV6u0awlUxWdERERMuc4S56pUum32sNGGntQuVxWRJEksbGUkxyqX0jS1cFOe52tra2maArCMO2a2IFK3252dnZ2bm1tdXX3rrbe+9rWvnTx5slI85wkN7sq5OmIKqlDRIBKCBokxjVhmVHLGioRs+S2x7c1bFiForSAhlvKoePGaOCaGBg0SAFXWhFNTtRK1Ep4d68Ro8iiimHj8AkHEi1byiEwj8yZmCYoo1DETiJXZkQiLxAMXKEldzm7zs7D9QcatQQUaSIOIcDUmxOCXK8u8tJbx09Cljbjf+FIZ2i3JQvS0jN9xOvZCd2gDXesUOyaZErcfvEm8hE6SUpoxhIsiSdyRB49+7dzXWq1szfdz8effO3/z1s18MHDM3XY7EwmDfjEcrq+vM9FgOBzkw97aGqs+efbsoYMHh731m5/duHTp0sXLl2+9+ebS4QeOPng0z/M8BNdqmQuEmcFORUwKEzTKc4u1TLGcqUxTvOOTalG2EQ0b/brT6Xbjw9g8mw0aNGjwxaAZX+8N2KzM4/puFb9RVR8CE1VExUqMLE3OaAyASU4ysQuiTfXxqncsZDQcDi1mZb+rT1utVqfTAVAUhe3Lex9C6HQ6n3322dtvv/3yyy+/9957IYRTp06dO3fOUvuWlpZMIm8iurUFVFSDiKhM8CXrXAZgpGe8xXfcdvvGkgBVFYkclW036r33ftBut1qtlmNWFoCY2GikRC5KO1e3j1OVaNNUYT0mDRqCMJcEeKSiAAAhBAv0Za0sdQmzK7+WpfLEL0HTeLotLGnxJeu/xCrQUhLM7MUysjV+9qrOTc3IUeFe50tEQiQgFSKBE6SeQkEaNKiClByUVEjBJEwi4tUxtVvrzAm4QFIQK8EpnAoBHFU7o4CcAEJShMDOuSSBIPggqiknKSUigUiIoRANdu9Wj6lClKNMPlJy5FKkGWUtTTMkGLSzGyLzWdon31Pp5cPlIte52fnjx2avfswzncvvX/jRj3/UI1pbW33ntddu3bx5/PTpbOnAexcu3rp+7fCx4w8/+WTn4MEPPvqod/1G/9aq5EFSIZetr/ffP//e3OIi0nR2fgFMRM6Sca1PXWxrFPueQVUHrAKqHn9WkBJp7HlUkR7jQDZeKcVsVwBKpAoBCVCIwIciQSAE0gC1LXlVkwS1wZdATKY3E1iZ2JKHjbax6ZMDICYwEQOsdiFNSYLEaqJIQWrZftURT3dDTbl+g1L9NP5Za78FYBSsrXwLkVPXRn1WuFp8cmOQcRI02lQJmfpK0g656bvZRPlCy8TdrbZY1bfUbaS77tvX5nnYI3CZdaOIYqECy6Wxz8n+ii4sUUiVIEWkpMqiLOTAiZITJRGIkhKJxlQiWF8UUkUcuBUiHASFwEdjyLJrVBUQFZOprgzxjXdblDLas9vwrhtXOk0aBWBTzlRfITgIQQAurwWpkgqbpUoqJCB4Ul8TgSMiUjghgIQJUBGx+iVLn7OUOSKqfgOwfDkARVHY8kaTtkrYq/LxLBMvTVNjYqpqMSUzIPr9/vr6OhG1Wi3nnIW2Op1Or9f7+c9/bmTps88+O3369PPPP3/8+HHrE5Xn+enTp43mASASAEJUKAFwgANIqSXU9mDBkHQ9wUBRMAhIhBIBQJ4pgAjKul390s71NcxKsRzDkXPiWJwKJA/56vCVH//7jZu3nnjmiVMnTy4uLbosWb698vIrP715++aRB4889fSTC4sLTijxOiyKJEs54WHhlSnNUiKIiHjPIAZBxDFTqZ8+yAslJedCIfnq0A991so6nXaaOghUtRjm+SC/9tG182++d+3qtSRLjx8//vjZx48ce7A10+6H3kBy7jClFLwnT7wL3rblOQAxiBSBsZ6SxLFGHCgVsCJAAzSHS+BFAomkBVoFuQKFUp84gNt3vPv7Dvc6X7KKJABKHMgJuUCJQARQ6yOryqoMYQhbiQ2zZq0h8RAk4ECWeqAk6qIqtYBMlF7hiBiqXhjsWK3XcsxnJYBUgkgoIyql0WchzqgzoqoQRn846PV6vSJ4l2jiBkS3izxzbqVfrBR5nrBm2ZAgabJ49MHjT579bG39/OXLN/7pH9bX1vP+4ODBg7/1rW89/Mgjb7366vlLly78+teLBw4GkbwIRx8+dfzo8dn2jHPp7Oxc6PfP//LVQmRtOHzsibOHjhxWgvggsGZkIBCpMKiMA2lI2BOxwh4eKFg5KioAiEVcSgQTlJTYwwlCqqQEUiGLlYcgJBLUCSDQAFUmMFU9BbT0EzGpeWyYoNAwZp+VDE3H0/SqT+wNrpmUZEkkd449MJAbYDJ9dWJGq9R6zMEYPVR2b5UGJSs40MRGNr00Ix5PtT9hG90+LLwDBLxjA4/tUad5XJUlbPZFtMwvobGvMG1VrWI7e2I34A2Xr8EdopZHbPeqjVW1pt31ZtwW84+XMHJttZUYYFEOGuKdZWOy5QlVtxeBuKxTjY6tMfJb5Vdw7U/UPh7djXs3Kt4D4+sumuZsv37t951BQAVBFEmNhzLANZ+Pmnbz+MNPAFmaJGmwtKmSwFiUyTln2W7GkUTE+NJGImzrVu9v5E5GgUwNLylhxMx7r6rWG7ff71sCHoCVlZWf//znP/zhDy9fvkxEp06d+uY3v3n27FkLJa2urhZFkWXZAw880Ol00jQBVDV4cF4aFw7EQV2QxAsFKUgHTgZBhZQBp2STghAFJrIoyNZXc+fRX8WzKgLDERGDVQieNBe/LhdevfDuu+cTyR5cOJYtdJy6/u3PfvnTX169cf2Z3zx35vHHkaRcoMtplgYkDMci+dqwzy5LHPm8CLl3RLPtTqudDvr9osiTLO3Ozvi11X4oVm/fevftd5ev337yzNmnzz2lhDwfMtHhQ4eufHDl9Z/+8p3X3v34o0+yrJ0kyeVffXD9g0+ffe7rp8+e1g4K8da9RYJPNcvQuuO7WgGnYCAQBokKkAoyAYkmAidCgCctOBQQUYHABaQeLBClApApJ9r7C/c8X7oj2JikOmpGEct4tApxxGRNEbPjVYJXwAI1zBARLwUReUWw8jtmAlGUMAEJmKxjs9luxEQ8M3vw1OlHf+u3lN3RM2fc/NyQ2bdaSw+fPPft3xkOhksPHl310jl46PHnfqvzwNHrV6+u3bo9f5jm5uePnThx9plzDxw+HFw64PTWZ5+KqHN87lvfOvvUudOnH6WZGXV85plnesN8+daN2aNH09k5ardDkg19UViXN3Jl84Iyc04B83yQqpKVcmktVi/QuuEo5bmSUWSg/sBU5848k1H+xRal2nyzeSI91aeIMp9P4zbLyEW8Uog9EWxqv+szcYMSO/lfSwpcXmkrrY09CEe2YfzQlq04++ZbHDMGNzDsO8O0RKFua27/LTYwpQb3P+z2mLwbtPqhWgXtJh/vvIO6N2K0SwCxYL38TDelMfW37qc7c8rvctcDZCh9iJZxZ9Gk2dnZLMtM9TtJknpcyFZJ09TkGSy+NCFPt3H7xo4sbc8Ylwk8WBQry7J2u72+vt7v99M0dc4tLy//4he/eOGFFy5dujQzM3PmzJlz586dOnWq1WqFECyjJM/zixcvisjRo0ed6zqHqLg11h1VVRSqohpU7Mdyz4L5aIGgEIkdVKe6nqoQ03IAwWkIGpQDwYv64Ivg14tiMEzJtVzq2HWSrOgNdOhdIBQiQz9YLYarq7du37xx+/bqoFdAcg3HTxw/euRIu9VqUXv11vKH1y4v315evn3bOTp24tgTTz/F6tZv375w/uJ//Nsrn16/7vt+cWmxO9d1zFmW9vv9m7duXL5y5fby8omHT5w79xv99cHf//3fv/XGm4sHl4489OD83FyHO3kyDBw4TblgDXrnfEmhUIGFCIyDqlQmnKq5GErVjdKSiyLs98bzcC9h3/MlnZw07LWoClSFBHC2HIwolyKWMftL1YuQY1GEoM4hTRIE9YNcvU+zLDCGIBA5E4FTVVIiUGJ5ZDHtVUNgUGtm5vgTT3QfeICJ5+fnKMtuDYfKyeGHTi4ePQZFlqarRUDSOnji4cUHjw8Hg7XllVar1W63srTFabomOPDQyW/MLebDATOz4+FgeGDpELFbDyFLktNnn1o6dvzW8m3Xac/OzWed9s1eTwFyjsgy2+wRKYv32FKhPETMj1+SH6GyZWzplYv5qiWxLNmLaOXdt5hSzO3QzcczmvxrEwOyIlyI+5LR6zIQUXeWjmka3jHuAf/nfQClsSeuvHJU/jeiSRWxUoBiEnlcqmLg8cLSFmadbZHijuq24Q5tz3fG3twL1Y2qlZtms2Xqp6J+BNN8Cxojnne4hfvKWL57KD355R8T5H70qnIojao0pgBPKBmNbkOTRS1peqxeGT9GlAM/7ZUHYu8S++4QU9/QdvqmC7pOex5DCEpqQSQLKPV6vbffftuIkDWTZWaraKo03yzWZHxp+wth+Xi2CgAislDV448/btl0RDQYDLz3SZL0er2bN2++9dZbP/rRjy5cuHDw4MEnnnjiiSeeeOSRR5IkGQ6HRt4s9jUYDCxRUEScs1R7YtPljgzeKngoaimIqIhAoNYwFQBESGLd9VThd1KloHGjCAhKISEhFiERRwSP5Zu3Prry62IwdC3X6/e0J21K25ymwl2XXbx8+c2fvX71+vVPb95Y6a/lGtJWduqhk08//fQjj51ZXFi48v6vX/7JT5ZvLbdbLQd+82dvX3zr1+ee+43VYe+jCx/funKz/1nvjdffaLWzJ59+8uGHHm53ujdv3fQix0+fOHbs+InjDz1x5uyl9y+3Oq0iz4siD2JVapAgAnHsTCfvjk8CouYZRETtNIvFrhB/YEmCohNWWXkWG5Opjn3Pl0qMTVgGiR2IAB0ztmIOL1RUhVQdpUkKQbDIEVRVfeHJS5I4sBNis/dUAgACOQKzExBBHTNUixA0hCLPOc3mH3jAyoeGot6xQsm5rNVWhfe+EEmSNEld2uKkM9OZX7RQuwZZXVlZK/z8/PzCkSOh8CBY9jCU86JA4iTLqNNqucWZLE2yNMtaXrGe5+ySlB1HARYGNFhiHoEJILaByHqQqQLKiIkgVJti4nRbSo9rpEhqJ1AVCAotVTw/90i24dETgWg1x30ZUd8msrxXqJ/JnXzVJb/SzRerUuu2uqMmuNlkat4dY/q7oSRy9UTRXW91B+GjHTH9KZA9MJIbALs8jZuc7i/29JfOwk2wMfTVwDBdUMMwVTg5OvtVTfJbRD755JN/+Zd/+fnPf+695xIWFzLKVA8oGf+RbYWwi6KwhksATBzv9OnTDz744NGjR00hgJnb7fbq6ur58+d/+ctfvvbaa5988snRo0e//vWvnzlzZmlpKU3TPM9DCNa1qdVqZVlGRAcOHGi1WkaFOIbcq6wRglo5hMZ6BiNMWtb+KYFUlRVQy+SZ4jRaOQWZlIVpj4tAouXDxOjjwwu//lkRkjRVR+2Z9urHqzzD5JUCKNCFdy787P97eXZ+fmZhbn5+sZcPguhH5389uNlbX157+NTD519/993Xzp946Nhjpx7jwBffufjR+x899fQzc925mWwmS9tJq9/OWs65NM1c6iwL98DS0uKziy3X6qTdlZWVd956e7g+WHpgaW5+Lk0TUfVBeoNeTnm73W6hzdM9qaJKAmWIipCVbIiUiXYBZJRJJsU1Yq3l3XaB3FvY/3ypNO3rrZhtvBGBcHwaYdoDUGgZTVEIIUSzhVSkKDwplAIJIGLhI2JH7EQhCF5VVZk4sbbNIhKEAcdOk5SAvqUlmzRnkDRNW90ZFe9DyFWDD6JIkwxJWqj4olDRLM0GhaSExKVFmkG0SFIiXu0NhsNBmmYzM92i8NrKkiQpHK/3+/3hUC3NV6EEarW9qCicgsuUN1HSqIlJ1siWIapMUIK1abPngcefiTI7jlDmLgKwiiarIR7l6cV8pImfMV5adj6LwV2M9lSlomiF0gEafRxUefoUoHhUzfN7L2By+N7ikowJQ2yIAI/W3cTVse32Rx7zqTBdWff4UY1ef56NNrfy/QaNscTR3Vl5yDV2oqgvp2UgqJaaV/uptE632R+AshI1uvq0NshWI3jtiOK4Xb6m2gf7/oac+itM37li+nPonANBRLz33W73a1/72nA4rATxut3u9evXV1ZWZmdnLa2uUgO3DL0qyrTNLtI0tVBVnue3b99eWVmxLSRJ4r333mdZVhTFu++++2//9m9vvPHGrVu3jhw58tu//duPPfbY7OysUTKTo7COurOzs6aqt7CwkCRJCN4aQNZuTBOWigTJrPPoSKN44YQkUhyy0Pt0Di0CQQhCCiBAoTHjT9jkggShF1ZuLTMnANa7KQtlnLKnopdf+/UnH7zzQVjXc9889+TXnpo/tNQbDobBv/iP/3T5gw9U0OJW70bf3wzp0SQN2Xx37tFHH5s/MP/A0pHWTPvG8ZPvH7gQMjz51NNnzz554OCBwvt+vw+idrfTTlqS69UPr/7i33/5ykv/K6PkzKOPHT1xPEszBmVp5kICyaFQkjDFTKUKFqUYSrKTH0RVFEFBSgIE0lj6rlKW5seZm8mEDhvXSsQ+5ktVipZCKaYllK7n0ga3qjkApOXzq4pSyc2mKwnqfQhBvPcm9tZ2aavTSUbyQsTMpNDYQoxMak6BIBJUAqvjWMpkiZ8hIA+Fh8I5Mm19qDJUKIAkBB98KLxj13JOgUJUIJxmwYe1/oAIHnCttktTryhU2HEgHeZ5fzgg5zozM0RU+JAXhaiCWK1tgCU9VRZoJYAnWsbYSI04xSlTaKyUvuJBNumP5too2KCTFGficsSJfmQ3Vtby5PBdk22KG6Pxj63iqsyQiAc57XQ43eoNUPHZ+jv234ZEzOpqVZ9wffkNrzf+SVv8qfeIdVevuNv+3tr0YKfPh5uO9DWPw56h9CvF11QbUEdLVLMOlSPtTqHZXaGsMygVJFBWmVaWqG2+nrtub5KOXk9zBPE47ot8PNwDz4VdKefcU0899Rd/8RcmzGCpbu12+9///d8//vjjQ4cOWSTH5BmMXwGwqNH2DZqyLAPgvV9dXX3nnXdef/31wWCwvr4+GAxs3evXr7/99tsvvfTS+fPni6J49NFHv/71rz/++OOdTqfOlCy+tLCwsLi4aFVPdqjOOatstt2NN5uqsvGs6U9lSZgRQOa/lrj6VKloXO5GIKTE0QY02cKADo6devCpc2cPHjpMxLeWb/2vwSsFFc458eH2zVsrN1ZmW3NnTp85+8TZmYWFtWGP0+Ttt966dOmD5c9uc+DjJ45fPnqx38vPv/Fe4hJN9FR6amV55XC7PTsz15rpdCg/fOTI4SNHZma7eT70EtrtlqjeXln+6PJHr7/yxjuvvSMqzz7/9W/+p+cPPnhYFb1+v9vpdLsd9YGZJUyXeF4m3akiWARB1auQwimCcgAknqLqWozmc2ry8caxj/nSCDVnHtWmC7v2ISq7RVcewTo3l42PSZU0KMCcpqkGSci1slbGbriyvry6WhDQ6WSdVivNMuYYYpLAhKAmJgeGkkooAgB2DCBzxGniJYgfOjCsoAjqVB0RA46cJgQg5Lk9wWBKk4SCDNd7xNRud7I09cGv3r6dpEnSyUjAGlJSx5So+qIIw2EoCnZJlqUAI9ijYSVLdqMzQWG6J9BRRkhp846mBxo/lQqlqhcbKSClSO6oJBDVBE2IAuXluBjdE6bhHykTYUIXs5ZnXW1LY60Uxem/OqzSCTvdXHa35/P7B5M8hza8XSpb1rXvKlttgmLp2EY22RON/1mpTd0xWKfUlgMwUneoP02bo1JhwdhDNmWQi6pfd4TmcdhjlJWWVKcm1Qe1PzW2PanoE1AbVsvIktaflR33PFp6I1cbBZrG10E8WmA6rcZ7BHv0BaYzUKfeu2qQYEl3J06cOHHihNGb2C0EWF5ezrLs8OHDWZYZR7J2SSZtZyRqK75UtcH13qdpur6+fuPGDVN6sNVF5Pbt27/4xS9efPHFDz/8cG5u7uzZs0888cSZM2e63W6v11PVbrcLwCQo0jSdm5ubn5+3mJXthdk0ca3Gm8my41DWY5lzWVVG+Xhq0Q3EippKk3+q02lhEwISUAAUxCRCUpAIFC0sHVt68tmnT506DeDSpQ/+49VfDHt5IUGAJM1cKy38yur66lp/TVL67PZNpNwb9JFQ2s1aM9nhIwfOrZ1DkDCUq1evXbxw6dP1Tx84caS7OBPUs0OQkAevhCIEr4ETbnXbK8vL598//6tXfnXhVxeLQXH2mbPPPP+1Qw8ccqkb6tD7oigSpEog8YJqoLgjVOFrMT5K8Q1LxiMSaxJjxSkY19go3TANRrgv+NKWsDtDSoVjJVM5sKnM+l6YNHlQx8zklEgF3nufDz6+fOXy5Q+olR0+fuzgoYPtufkkSTjWzQlD2TRdVUmUk0Q1ACb+ACaihMlLQmBREeUgREicY2ZLlYNjiHpfAFE3IgEE2kpdu9Vm51ZXVz678ZmIPnBoKUFKUOfIUSqqYdAD0GLKWimBoariK88AgRwzE6lai10lirWURGwulANiAAAgAElEQVRBsIqrVKLiwCYBgcoMtp4SMdU1UlGqljEHUuWNoElLbiLnb3LyHnmitryS44d1R9Dm4d8LTAYCq1/A+IWOL7hMYo/Zn6pKFKyjl5akahtzjcZShuw/iQ3Yv5DrWdYjR7dCReqp+hgx4KlqIV17HfPzN7nLohRVXM26vJsizS4PSTfv/9hMZ/cWSv9S7e/RGGn3RxkzR/U+1dbU+Hjt0VXV0dO676nQVwcV61DVJEnqJASAiCRJYsVC3ntreGoLWBemPM/rYuKbouo/KyKDwWBtbW1ubm52dlZVP/roo7feeuvll1++cOHC7OyskaUjR45YlbUxNxOKaLVaCwsLaZp2u90syyzGVR65DZM0GaAY9a9Uifp4IWhQaNCooB8UAcQKQKZ5DgRQSIj5eMIKVSRggRTkgwoImhK3UqQMIOlkg5APfeFFA6g7050/uHD5jUuvvvpqQWH24NyH1z4Wog9/fTlL06XDBwaar338yaD3/7P35l92XMeZYETcm8tbawVqQ2EtoABQBHeKqyRTttQyZY093W27Z8ae6dO/zvwy/d/49JwZ+0yf6e5jy7ZssbVQskSKIsGdWLhgKaAKO2qvt2beGxHzw833qgpcTVAWJSJOofCWzHyvMvPeG8sX39fdtWeiVq3Zsjl/5dzS0nLuc4pISYX96sry3Nzc8M6h4dGhtJQkaawo662Nc++dP3fiXONmI6mWOq57fu78xfMXdk6NT+6brO2oMXC73c40M9YCAt2Gjko/h9L33ERFQBkgiFxJ0a9epMH7flY/yX2nwLTVPvfxEvZqC9oTmQhkaj2SO9BQL9KC9qPwcCT0QYrREBv0emMAClAQ9u4hFFERFhJARBYS8OJ8u7uytHj+1KkoTVKD44O1yHXRFWQlAoCIRGRRPbOCkjOJQVUlIWOtinSzzDKnpRIIqhcVcc7ZOE6SxDuX5TmoxnFiQRFJVIVZsi44lyRxNTLNZvPKubPnzp0dGx8fLUdk0ViDiAmZTtbtdLppkpTLZWtt1s3yPIjZmSiKmNl7Z6OYyKioqiCSWuXAeQ7gPLN6NBaRjI0UIHcuhHhb4hvdAq7ocdYhiEhgVxdRZjFkCQkEhBVMqCQg9VxghYImos+9olsjoz5NTv9TJARxRQq+cEg3ywAf7Iv+s+yO13D7tm0hxs2Udm9uRZWQwAJCssZYxG67bYgMGVRl75SMEjnPRGgiqwBZnidJrIi5d0FsWVXJUEAZqSoZU/Spqha8qFTw5zKLCEdRZKx1ec4sUWQDwr7/hQMKI3AzEfXEBZmLI0OvGh3+JiIAVBEWBVVjDTMTorFWVZm9aFCKJBZh54w1xlgWYWYBsVEU+gcQSVTEs4hYMmgtqHrnLBkCZGExZMioqmcf2SicSERUAPYMANYaEWEWVQk93ltvYUJEIOnhWqA3KW25Uh9/v98ZEZ+BbU8hhDlsE+kQtghO5IcdAbf8FCiAkEAIs6ZoL1XcOxiI4LY9FQGCvgUGcHPhr0LQur21QNv/2C3z78ejO+/4Tp/YQqz6AQ6n9shrP2zshQpMsbEq9CpL/TzO9PR0uVwOykiBdCHUlAI5xEf3L4WJLgQ8URStr6/X6/U0TQPh3tzc3PHjx0+cOHH16tUdO3YcO3bsrrvuGh4eDs1OIlIqlfpsE9VqdXh4OI7joHULvThK+2jQ0A1tYDNz0JupAvBHlPv1JVZhUQBgATGEGFA3t3H6DYpB7o0FrwzCqUkgxhxZYoUycARNbq91G2QMJwBlo0wco8RYGqzuPbr32vzCleXLzddacSlZXl2ByADJ5IGJ/YcO1HfW3r4yf3b+3Q63h6pDK6srcSUeHRsZGK9DSTnhuB5xlp1/+2xaLx350uzk1ARFZq21fvXm1cXFxU6zAw5cM5t/7+LVhato8Ev33V0fGxhJR5q+meVdsWoJIAhP34YFL7eYSlACKTT2+sP69SWvXtkXiXYEooKPi96HcS2uoOqHZPF+m+1zHy9tgST0mAaKCAgUAEVBEQlAmIWZw9MiYGJRA4h9Fuz+QQkQgxq6IiEhhjKMqEGKrIkU0NrERrzRwHYTGuu2015bXWm320jkvM+yTBSGhgeHhoezPGs0mt08GxkdqQ3UCcm1/NLyUqPRHBkZHojH8la2sby2vra2trhUHxwc2zWVxHFsjKp2NtaWl1fiKFbQTruVNVtANLZrlx0ZXllcvHT6xLm3TrSmJmvozO7paqUiIu1258aVK2vLy9XBoR07x0ZGRqy12umsLi3nWR4ncZY55325UjHGMHOe5QowNbO3VK1kuWu2GzcWl7ziyM6dcZKmxiqgY0YDhARQVOF6VOM9vAaiEikAq7KoArIoMxtjQsUgOLKoiIX0PIAEipsgcN4HLIUgt8g8ESIRSY/VfOsPbl527Ye6mwe6Y78+2wZKV9AetXe4bcgghWQGs6ooAhChamN1rdVsdjvtrNNVa9kYMmbnzp3DoyOq6r2L4wgAfIhMjAnOQYFhQzSILJ6ZEcBaS4QMUKRRVRHQGmuM6TILi0kSAPXMRAYxCFIHSkhVUVbWkL8UAYDIWFEJcBQicnm+srKy0Wh454J/sGt6mpCsNQjQ6XavXrnSbLaSJImjqFatDQ4NmjgKiFZFFO2JRYZTpQCIhKginXZ7bWX15o0boGrQ2DjaMTkxMDhARMIMxrIwKBhDiEiEWrRFB+Fsg4H9cpuCWW9A9cfMZjWjd61+7S0lXwzbko7rvbI5g215EWELqT5on105aFSgIvayvQV7aI/vV0XVhIirmKGLlCH2WMUBAg4KofBJASlk4kRo05EtLDTgbonmttNUfJD1huOHb/CR7/5G2O2PliKs/eAiYZHHx157wK3vv2+X4I+Gia5Xocb9+/fv2bNns1LTi38+drBLz/rYuevXr584caJWqznnTpw4cePGjdOnT29sbERRdOTIkYceemhgYAAAwlofvklgw6tUKoODg9VqNUg/hW2stb3KfAHy72FPtpwBKLJsAsIhXgJWUZZevKQoPQmJ27ujyKnm4hGQolgV8jxTwiiKsBpNHZmmut25fxwrUVO7pIbKdvrQnmarNTo9VhqqUiWeuftQEsH8xYV2MwOhyfqkJz84ObxnZu/U1FSaxG1ueOoYZzu+HVXs0QcP7zu8b3j3UGa7VKc9X9pryHSbeVJOozQ2ifHqm91mrvnwrpEYI+wgMTIoE9uaHR4fiRLr2GWuCwZsbBTkdmLGYAIogkIgIALKKgSKAAyABT8eCogXVvbGoDGEBEgAWrCX9YKjW7/KF3Bx+dzHSx9tW1Yk3Irb6b1dlKX6ra6KoTaFIeze1ooTSsCABKhIiAbRiBhBcq67vnbijTeuXr2alEoM2my2uq329K7JYw882Op25ucvLi0v33Pvvfc9eL/L83PvvHPq5EkFePTJx/NSennu0rnT7166tNDdaAwMD+2Ynp6enj5wYKY+UF+8dOkXP/yBtbZUqWQuX7123TMfe/Chg0cOX7t2dfHihdal+fmV5WopSgj84NDKysq5M2cvz51vNxpxpb5j584D+/fPHJpFogvvvDt3/jw750SScmV0x6ixFgAb6+uNjY3fK31n3+zsRmv94pkzp988EZUr9zz++MDwMJABIhExxhZJh57rRVvdsgCBBeBbo5oeA15oXtIe1nEb9vX2+0T69luwIv/mW1+mq89FX2CMAswMImNAwDOz95yLR4pNdP7s+ddeeeXq5cvdTlcMaWwnJicff/KJWq2GxhARiyCiIVLVsCqHFIiqEgAohTZdYyiJIkbImA2SKCsFfh/Ju15ZEECFWYQ9KwERICAQWiJECsB9z2wAMXQ2IkCoTbOU4mRjde34Sy+9/sqrnXZLAHbt3v0nf/KnwyPDKthpty9fufKDZ56ZO3c2SUultPTww1/+xje/kUZx5nJETOI4Ru1muQAbG4XMQID4Z1l2/cqVN19/47XXXmuubwDL1N49X//Wvzp4cKZUqYRuvSIdq6CqhKgIee6IyBpjjFGAIv3QA7uKqnDhbxOFLK6KFHMiEd0ZL58n2xJRbVbVdftU+SG2Dc687UlxjGLW/dXabVf379int62J/CRJPvVxQodSCH4AoFKpiEgQq3322WfzPI/jeGZmplQq7d+/f2BgILRCEVGpVAo4wDiOAw/ewMBAUIKCLb1VWz4p3DG33jK9WzWQcUkgbUMt4HkAIIoiwIA9Wq5PaSKaKWfeEZIFiSMrJC3XTYyUBsr3fvWBw+1uuVwplco556BYGaw88PhDnnlgeKg+XG922slA6e6Hjk3NTGWO0RoTRS3XictJrVaNoyjvZrv2T+3aPa5e1bMIK2lSK2HZ5OTSoXR3ac/uvXvBkRqtDJQZxbm2Gp3cPTkyMqy5JJhEGgEjC7NKqVKu1itd38lcBkYVRURRCfXT4/FAw/lEEWARQUEVUeXApSwgiIIkqgwKIIpb5inc0k5+xwDgNzdewg9oBtReE00f/qUa0DuoCCp90XMtChpSZMchdBxpbzYRAWFWZhUF561wNYoW5+bOnzy5Y8+esampwVLp0pXLc9eujI8MQxQ1l5aunz8/PjioR49krdb8e+/Nn357YnKiHkUrV66efvnl82+/q8wHDh5stjunjh/fuHGzZu3oXUerANfePu2Yd+3bNzg2NlCvX3zn7bk3Xh0op912G11uQK2BBME4t37t2tsnTpw/e66UJEP1wU43u/zee2sL89LNjhw5ki0vXX33XWafDgyUdu2yKuByY6x0WjfnL1w+e258x1hzeWXh3bOXTpya3LevFMWlOFZV7xkQewGR9iGLAhpoMaConqtHwHA+tYBgFSisItsJm0nSXpN/j7z9Mxlvt9uPfLsE0ncMAIpIKcynvbsgICeKGqIKmICp64kla97JT7518pl/eObiufPsnRJBYg4cnh0dHt69a3p4ZCSJIlFBMmkc594hQMAFOBFwDIAK3iIBQYDSee9y75IkCTUZQvK5c84RIZJxuVNVQiIAZWERRAJDoUEZVVkVREM8FkdRqF8hUWxt1u2cfeed5378o7WlRRDZd/ex3//Wt3bu2JHEsXduY2PjtRd/+fovX6CkVB8aHqkP6te/Ls67LEMylGAURd6wF28QiYhZVBiAUGF9dfXMO++88LOfL1+9Ci4/dOzeu++5Z/f0rnK5FMgnYhOhIQDNs5xFjDERkYiKehAlYxCAPTOzAkSRRSBmMUEqMngtxYTXX/I+fsjcGRSfjfUDoY+yD4yLPkm81CvPf8Au+ImO8AlMP+5mwI+9m34r0s23OyI+g0vxMfb+vP4nhEX160shBApcdt77breLiJcuXdq3b9/9998/OzsbSkyImOe5iIT2pMAYXi6XK5VKrVYrlUpBAyocfKsG1JZK9y0aINqj3goOmoSmGlTmngJQ0K1FBbideElVjQVDaIyI5N5RRBAbdj7THBArO+tVrXvPjj2jRzI+1qHpUec9Im5wsyPdCMVElI6WEkJMLFhDPgFQJulI19k8GjClqBRAhkUHCGrXdMUgWzGRKQ1UEyl1u20h6XJXwJPVUrmUVhNljTGKNIowtjbKs1yYGXyW5V6cxgooDIJC+KEiap/kNIAREkVWDfx4oIKq2lvDWYlVFKXXv3QL0Of9NfIvtP2mxkt960EJbn1VC1y/SKAA177+henvKKq9rmuFXtCgDAFYG/olBFhF0jiGLDeAu3fvvu+BB6r1+vEoev3551vrGxN79uwan7h+cX7+3LkLZ86SNesrq0Q0OjIyUK6cvXJ96fp1dm5q164HHnzw4sX5+YsXFq9euX750vTkBCoj4sDg4IGZAzOHj0RJ8oONtcWbN3yeTYyPZc3G0uLi7gP7j87OVqvVS3Nz18/PVW30yONPTE/vXl5afuv118+++87JV18dGx7mZitRHZycnLnrSzOzh0rVSrPZZJHE0vz5cxfOnp0Yn1rfWF+6clUAR8cnxoaHTVrKVZVFC4ws9k8oABQgxVB1KsTOsHfGbgXBb64Rekfm7LffNqEgvW4J7bU/kKIIh5Y1YyiJI8ny0++9feLNN+fOnm2sLvWOofNxfOrkyZmZmdHRERNFzruAi7cqWTcT76MkMQgYRRbQ5y6ENwYpNlESxYIY+gAjG5VKMSKKZ0OGDDmXE2CcxEQkKuw8i6gKOw+IzMzMpseJYkIBBzFXzbJuo9HodDpZnne7GeRZc20163a89wiJNSaytttqdRtN6LooSdk7YM67XRD17AIQ3xjyjC7PCzET59RIZExsI/W+vdHI1lYBtNPYUPbGGEuWlb1zaNWgFVXvnDDbUimJExEJOtoYGjULNbXC5cAe1UQPtLo57DRcnjsD8fNst+uTbI2a7tgXxT4wOtoaRH2S8Glrx2OAEB88ePBrX/vao48+OjEx8cILL6ytrWEPGm2MsdaWSqVAhVepVPqIvl5e+v2tLB/9VDXIARX1pUCUp4AgKj0Ve7kNaIoKswAikap2s8x7H5soSWMQcOzyjjNECOiZyRARbnTWbBRl6lzmFNFGkbXS8TkQCqp3TryKCeosQICUIIs2XQu1x31pgFWd5AwAligiFs59rgbAABIiIqOIZKGjSEW6WceILZXKqsoqXryDXKwAhURfyFnfxugOfOKKPaaHopRXKDIpMAArqgZijE2YaG9auRMvbbPf+HgJ+q2T22+q0FMTRiMroChq8C+KbotQX+LNiaPPzY8iAiwYYiikTHRpfaPDPDQ5uf/wkd0HZtJSaXhql9bqjkxtcLhSG7h85eq5M++98vKr1YGB9bWN4Z1j0/tnbFzudDL2QmRy0TPnzq+ursY2Nqwu98tr6zeu38QoHt+7d3rm4OTu3XEU1waGrly7LkgDQ8PV+oCx0fiu3TvGJ7vt9sZGK2919xw6NHvX3ZNj4xOT7Y1G6+LFhesLl28urnS7eVouT+7d/6X7H5w5NONU1tbWMpc3sjwaGLy2cGXu1Oms3c4WlycmJvfPzqZR1Ol2wVpDRlT9dniqhuKSBuIHEAEOKgZagOO3D6NtyJ/PEH63+XU+I4fgztC/fVM0ph9aI0ARaYcgOgyrwEskliiy1Gx0f/bTZ0+ffDPPWkkSE6IT9aKtjY3TJ07M7D9w3333xmniEUWYQzVJJXc+dGYkcVKKkxzAZ7lnRRGLIEQWDRoAC9bayJgAvC1wpKyhHREJIjImwl7uD0CVEI2JIkORNczi8pwNBeonZl9K09179tz38MPtVqvTaY3tHE+TlL3Ls8zluQrbKAIAMGQADVJiozRJFdEJC4hBQoDIkIj4PGdmYQY0aZrWyqVyksbGABgAHydpEiepjRJr1fvgIqACsqKoIYqMNWQICYG9c95lSGgjG9sUAJg9i1prQUBEmAMGD5Goz1L5sd1+dxbDfzl7/xy2DUQXLsVHECi/7/WifvjZFJfuWN9+00dEPxD6iG3674ZIqVqtjo+PP/30008++eTevXtVNcuydrsdsMQAEMdxrVYbHBys1+uBZeqWhpZbmGY+ydcsAEGqfZkSAQFAAZHAPAyfvnmHAL13zGQia8nmPs+7XYrERDEiArKoIBARAQlZEOBms1UxVTCg1isixYYUCQkMsQqL9yBkrICy9yBqCEkR2RtCQyZ0f2fedV3GBIRRbGIPHtCARQZhcKye1SlIRDaKLAIgkjrJuIuIAsroFUVJvHpmRkW63dFdnE8tCndKoFIk0jDwrbMEF0+whxwqzuEXrz3pY+03P14CgH4vTZFu7edaRESZesT+ACrKAIrUG6YovbJKESeJBC0A1NBhTYqQKzSzzCPZUhmMbWVZJpqzSJJkohTFwzsGZ+++5+rlq+dPnY7KZYqTA4dmZw7NmijKHbOosXGalrtZHkXx9J499Wptatd0uVLrdOeVxZK1UaxIrW7XGYNpKfO+1em0u13v2YtkjkWRbIzG5rlvtjqtTp4570WVrE3LpWrNpiUTpzZJwZhWljthiJIkLY3u2rVndvbMT18489obCIB5fui+Pfund/tu3uq0balEaYr9RpTt55SliIQEgAWYlAL9+hYucdrUxC3QkP0H/cd3lvPfLkPtI6q1D3fuJaRCJBVoKUFE/NLyzZde/MWl+Tn2uUEUFVUCJN/uLJybe/vUqRvXru8tlwkxd7kTieO4XCqBgjjXbrVb0mjZiAAGK9WETLfd2VhbXWo0mllWq9Uia5MkIQAiQ4jKnDvPzsdJYpCydifQNjCHyMWzBKkzNAjVcqVWq4Ryk1ox1hLR+PjYl7/88MTERBTH3awDCnunp9NyWVSdc91OR4iACDyr96RgEF2er66tZt4pAhjjQeq12sDAAEuIHFm893muIgiKwoUIoyKq+txnnY7LXRRFERkEZBGXO/a+0+p0O11AJWOiKCqXS4lJgIV9DoiG0NjIAXFIRBZkgNb0udD7v+7Y58I+cCbc+vSTRK+3wPDef5A79uu3z39VdytXRKVSOXz48BNPPPG7v/u7U1NTcRw3m03nnKomSRJFURRFpVJpeHh4cHAwNCxtrSZhzz76A7c+6edbRUNnTdH9rAVULzy5LToBAQ0oawOIABEGxLI6l4WWC2ONgDjPhAQGVMRD7iUDQjFChEKOOUg/sFPOxXlUi6GXFgREES0gkHrxKA4RkEiNEhlFEIJcPHIGSqiYS8bgwIqSKKiQePDeu4giiqjT7RgyEOiESYCU2Tvw1hgEczvnoV8wEg2EeAWlOAEwIAAyKCursqDQLTmcO/Y++42PlzY1h/qIsOIu6ZsIIBZ05L1+nB7BYrFhCLhD07dC4MA0iECUCzvA8sBwVKuv3Lx5c31jZ+6raUnIcO7bmfNkygNDk7v3Vkd3bMwv5Jkbn50d27W7XBto57ktlaO0pAxDozsOHp5dvH59YX4+GhiMa/W0Wq3UB9TYVu67LEKm67MMEJKUyWYCHCcuji9euFirDewYHS0PDNpq/eLCpRNvnWx33crS0oWz58XzrkNH6jvHzdxFBup4aWZupdkSxChNTBRXR3bMHP3S/M+P3zw/Fw0MjE1NTU5NDdXqDZeDiLCAiBIVDNA9w4BgBOhRTwbyfhDp55U2V+s7IdEXyrC4A7BHytUbgFgsnsKsIpYQETfWG++9+96lhYVOswkAipTGUZQkmReXdZvr6+fPnn311Vd2jo/VBge89yIeEZI4bjWa58+cPXHixPVLl1BkbGzigXvvNUgLF+YvXpi7vraaqUaqaVqa2DV18PCRo0fvGhyo5855l0dpnKalVqt16vSpCxcurCwtt5sNdj53ufOMxpAhRNw5OnL06NHxifGxsfFSmiBAluftdnt9ff3mjRvC7LvdqFLudjtpuRxZG1lrQvUGEa2No6ixvvbGa69dvnbt9Dunm+0WWCJrbSk9PDt7//33T0xNDtSHVHh9ddV1ut1OV1hAoIiXhFXVs/eOCTGxJutmS8vLl69cmTs/d/PatVar0Wx3CDRJkuGdO48du+fwkcMD1RphyMcaxM0kL1IhCKl9cAh8bHnpjn0+7ROX/e5c3zvWsx40Vz9B9ALQ49yz1u7evTuKom984xu7du3q75gkSblcTtM0juM0TWu12tDQUJqmocEbtohEfWorpGpRBLVIVff5HhRFoUe8+mkNCVld3lURREySyBrD7J0XYYcgiCTslTDLWVUNIZAoFBCkLHPsKBELhIwKSIagn61AwEBPYYnCVxVRVAVCayMk9KCq4kViAiIoqBsMkiXvmYGZvetkFqJII5/5JEmDLo6iEpF48ZKDWkQTqF0/5UkoyB4wiMEIBtUdYQUSDPxnAhgaybZovWz6c3fyblvtNz5eet+lLPLbPUWVvkdRcOT1wiQqQiXodyD2dyiOYghDtjgn42wEUexN5G1M5SqmZSarQIzUVcgAqVQempi6MTwfp6Wx6T3V0Z0dBic4Pr13afrq/LvvnXvn3Wa7c+PG9ZuLi/uRpjrdauY6LBInjqjtue05U/COlQXjhMrluD4gUXzxvbOO4ejdd9cqtV0HD59+443XXnn9yuVrjbV1n2W79+x/4LHHk9pAqEGJiTQtaZI6EQ/ouxmr1sfGRyYm29cXK2lpaveegYEhyRwhpDb2quxZYwoApm1RT2j30qIPQrdGoNrrjChcssCPh1hIhhS1vs86hroTkX0urK+uAYWcVk93qceNHGJqIiPMly8vvPiLX6yvrYOCMWaoVr3ryF0M5vTZMxvsRfXKxfkf//BHX37kkeGRkchGzrswGheXFn/2/HN//93vnn/jTWDZtWfv/Q88JMznz5y5cH6uy94kCTebYO34rl0PPPzwt//wD7/2O1+rVmuJNQiwsrx0/NXXnnnm+2+88urVhYW80QAtCP3AWohjJKzXqgf277/nwQeeeuqpe++5d8fIsKreuHHj2R8/+/3vfW/18hUQP3H48MGZg1/60l2Dg4MhZALngBlTcln++quvXVq4dGFh/sLFCz7rhIjRVNK9s4ef+MpXvvKVrx67++7hoSFCBKTI2Ihs3yMxxkbGJlFcq9WSOPbdzrtzZ3754osvHz9+8s03r8zPQ5aBMeFrR7XqPffe99Tv/d6jjzxy8MCBoZFhVWhnuSvOOhkKw00VQkNioRf567tNvtjWT+Ld+tIttqUCv01S4VPYnWt9xz4p8UMxUYukaXr48OGZmZnp6emgexvoYyqVCgAEdodyuVytVpMkCahm6As5bLfwyjbWhw+5l7WoHhXd0IJCKqJcAIEEhZALMohPeyLC+uRVvRcVYw1yiBTEQNDcU4NiLDnvMt8BwDhJjAXPDlABkX2unqyiCqohikgJnfM+6GSoiGcLmNrIGkNqRNl5n3dZCNWiIiooeGTDQIaRvTplUXF57uIosmjUqKqICsXGJlaYnXfsJU5iMEHrkkkZbosfD0VRhJh6SrXKwfElVRQQQAkCPIVOz3aVtzuQ7e32GxgvFUuRblJZAyL02L5XufQAACAASURBVO/CJggcyK8VgKm3VxC8DVkLgaJSqX2yNyFCAK+ACmJUa7XhvftqytXh0Xbuqzt2HhgZGZ+exjhuOx/X6tNHjuyc3q02ajoXVauz992vSOLdxL591aFhk5ZMWorK5dkvfzmqVC+/997i4iJVq7N7987Ozu45dChKYkzTXQcOjE5OJpWaR4zK1cmZmaheGxgdTcrV+tDI3pmDrfpgUqtDnAxNTA6OT9jBgQvvvdfJOmm1PDJ76OA99xz60l3rG42B6SmfJoOT4yZNwUbo2eUuZ0YEY+zw1K6bl6/XJibG9x9IBgbXu7mPCOJYQLkQQwicKQD95DRAUPdQAFU0TApCigKYg2YqGSmbcLLVgJIqiaAKoAbyZwAI4jME25HIHzgG+67CltYY6MkK967qx4xd/ZDHPbvjUnwGpgCCAlDIaBGiaq/4iEBomJlE44iybnd+7uILz7/QbjSRbK1Wn5mZ+Z/+5/+l0eou/+VfdjrdbpatLi2+/sqrVxauTO/eQwSWLDvWSJMoTqIoJgtRBOouX1y4eumqMFs09cHBRGWj2YBSGZBu3Ljx3LM/WV1ZGd+x84EHH1DmtbX1l1568W//9m9ffun42o0bwj6t1YZ2jpUqlcba2trSkut0FHW92359cfHS5cudZivP3EMPPVir1pI4sdYocyi4WqRKtZKWSmQMi+SexXsAADIbrdbJ06f4pChRuVY1aZp129Dt8kbr/Om3W4322vJat9V+5JFHRgeHDFGaJGg2Vz4yRjToYfh2O587N/f9f/zHnzz77NzZs931dTDGlCsRkZJhZtdsv/rz586fOXPm3Xd//+lvP/jQg5OTEylSt90FBApXAvu0UwAABTx5S5Hpzrr3q7OtLsaHvw9Fhkm3PA0qzKJF1NQH0HzcXPZ+w96u4VkxoSIqUSFdGNIagea0N99SUY4kIuAAVTImOMR9BxoJnXMERX9/wRAAYCMrop5ZVOMoUkAVBgBAjI3xnrPcxUlsDIGC9x50sy5BRIAgvFmsCAJoEGD0oIaMsUa10DENPKvWGu+diBAapELZgALz2ybCJBCtARUa7AiIIj6cGlEgQoIiu1M4rEBkyDOrCBIqYFBlLRAnqkQGqVDDuaX//pa0BN/icH7+rF+A0i3c4n0BuvBuvV6P47harQY12ziOvfdaJMKov/vWw4antxA/9Hh3AQCLPmc1ILEqMXjWjCFn9apqFFksALCqaKh26G30QisRmQQpjhQUEXLOnctBlYhMRBgKXAoCCoRIhgxleZZlmQJEUWQMmdgqg6hnQPXgQXLvFdVaE1mL1ghzzjkr9tnRlZCMAQQGEebceWJNTKLgC4YHZmEWNGiNsRYFQYEMMnoPPuOcwSMjEkRRRGBQtFhxPqWhRwMIHhSVUQVFSCS4ZB7JAzCqAjOwYSYBUjSKpCSAvte6UmCMijtdvrB9Fp/3eEmBFIwCgRABAgiCkooppjklZCyU9hDC8mCIjXGGIjDCRtEUEQACIHBxXAmhQRCFREQ0Ro0RhQygqyrMbmryyM6dRjWNTJokD4wMR1GUpmm7m1lrDj7yyNjRo2mpZI0VQgc4dujQyL59AmqQAGnFcxjs5aldR3aOHXzyKyKsAMbaKIpa1hLS7nvunT52j6oiEQMKwj1f/11hITKAMDYwPLpnXxCtNNbYOAbEu3aMHvzKkwiAloy1ZOyC6zijB77+tYNIIoyAbK0xUaPdEea83b62cGlhvd0u1yfGpip7D0QTu7o+77BPSmUhZPEukKoXTUwF2C50LoUYhRRTb7xHQGQrTcgd+HXLeUqcMwHHIIly7HJkJyRq0YswoEFTFkMKrMpK4SNQyYgxQuEHhYwQCWKQxOrVphSQg9ZwQU+uuIVgdNPj6MVX/Qe3vN431C/iCP/MTQ0wBr15sGTJGPCgzrN3BsBCqjmTcBrjxnpr4czcubff9ZlP4nRkZOfRu+99/Ku/0+3kLx5/9eaNxaydqUprefX1V14Zn5yY3LUrjiLnfdbqgNdKUooBSQmikiIj62ClPr1r+vDRoyaOTr19+sL58857RWw1mq+88OL1C/Pm2D3sfXt17czJ02+99PLK5StEZnTHztnDRx559NG9e/dcuHDh5RdfPn/+7Ea76VTzdnttcfnsu2dmZg4dPXKkWqkBEAXdWSRQQTIsoEgahJWJwFgAkCwTQFCNK5WDh2ZnDs40W63Lly4tXr+2vrbBnq9fWHixnQ2mlQNTe6ZGxkQ4y13uWYwBtADc9Vmn2/KSs+SryyvHf/n8z374zDtvndDcIUWjo8MzMwd37tiRZ/m1Gzcuzs+vra+vXr5y+rXXJ8cnhkeGS6VSWi5HhlRBJLBKFF3XhR8JIMEr3oqseB8l9K+AneULae+bbbY+xx7+uyjHKyAAaWgEZHEMrKSGgFRAGRRYhVGUNAAhYEvnNxZZPmFQQDWoQqAGEYCYhQUAjRKwCiCANQqGRRS0oOgCQAFgUeUQVCGSsQYjQuUsz0WFkBAxzNc2ssaaLMusJQVgZiIUFQSIiDL23jsVZSIkA8VbaqLYe9fOOjaNktiy9y7zoBqbxBhSETSIoOwlaOwCqII4ZmOtUqH5AwbZs5IiYrjPI2PEa8beGLBkyRIAeGZWBQBjCAG8YxG1NkJroKA0QOkp1isqALGKIWMsCYNzHFmK4shl7NiTEqiSiWwSe+9zdsw+MokhU4RCCAQYlsUgOUgQNN0BAHJUDu2bW28A7Lf04q9xCQpMd/2QxhjTbDZ/8YtfzM/Pf+c73zlw4EAIERFxamrKOVev16vVqjHGe8/MSZLgdvuoDwtnCgWgq6CgMWAMYkBKynXmhLXjccNDxiQqyFomThSQo64gC4Tm8dv5a3ME2cSVmUIdhUEYixzsZm4JpOu6CoAmCPIxMDCwM9lmCkIhcP0gsoiDUCgzWriUVBxJgcPHWgSIQbDd4U6xP4MBSk2MgN57AGAATwyBnNkolACB8kCgBxh4k26DThwESBE8qaBGzAreCltRAvAGcyIHkAMpmFhdypx6ALWJRpFGnqKOpUhZiQEZ0AMSKBTxEgKQFH/XF8at+rzHS5/UtnnC/QpJSHhse6m/RQE3g55/DqASVhhQVQYgY42NDAghAFFcLhlrBUkJFRGtTWtVSwb6xRMim6YKUEBEtVBws0Q2TW1awJdC7wcDiKq1Nooi9j7kJgCE4tgENK8KEZrIBuY+BVVCAIiSxCRJ6FhXABZ2joWQ0sSScd1unucbrVa31b68cGljfX395o2b5853NvLq6I4d+/fVR0YEseOcGGKF3LvMOQ9M1qKhfl4TYTNJ1vOoFFWlt+yH8t0tV+Bf3u44e78GQ0QiYRZWUIcq4pmVEdAQxtYmlQp4v7bWeOWVV1968SWfO1Dxzo3t3PnYY49VKjVr83vvvfftd95xzmcuy7P8Bz/4wYHZQ6M7dpTjqFqtsvfsvbIETS9lAe8PzBx88oknn3j0sS/dfXd9aOi5F1/4v/7Tf3rv7bfX19aEvXjfajY6rbaxhpkvzy9cv7QQV6ppmh4+cvSJJ5587NFH7/rSLIt++aEvv/Ty8SvXr126emV+fn7P7t33P/DA7OyhaqUSW2uNQQHspU63wlD7fz4AAAJFUZSk99133//5H//j4dlZQLwwN/fss89+97/81yvz8xDF60vL7546dfLkyZmDB7NuN89zQ2RUIY4BwLHvZp3c5Z55eXnpvz/zzHvvvqPex3FcrQ78zle/9u//t39/5OjRrNN94cUX/7//9l9/+dJLrabOnTnz8zTdf+DAwUOHjPNEkRb+c4HBw55DttVdu2NfMNv0YLDI8SsShSY3VAjllRCFkAYXEUDVGJMkcXOj0XKuUqlYpPXGRrPVElWX5zuGh0vlclgikjhm4Y1mS1RLSWyRLt+4PjA0PFCtAWqeu1anqwC1eg1U2+22MANA+AqEyADtdgtV4zhRkXanQwTlSqXdbjNDHMeRtaKwsbGRdbsDAwNxkihoJ8vWGxu1UjmyaeYcEqY2Eu/X8iyOknIcEUC701GFJIo8y/p6M8/zKLKlUjlOEgBFQGuM9z7Lc+895GCttcZ674y1hYqrqnc+72YiYqyNImsMSb8Ug4H7Wvvtm/A+9KVuwzWFQ8LnbTTmeR647y5evPh3f/d3i4uLf/zHf3zkyJFqtYqIY2NjURRVq1UACJUla61zLogyfRIKvg+3kCsIIuGshVg4SiG/BKGmR4Gm+HYM5VYnZZtjGB5/8EX5aIqFj3rzfW9JcSdsx+ZuPcTW09iv33xGhgAQKM80oEJC05iGNLSgaC8x3iPY6Imm37EPst+WeKkHP8F+X41iQX6Nm3NVr16/bT0JjepFlSkENT3ol4goqYDm4gSBxAOiRsQAGecC4nRbqKb9dAaB9t4IzHvFx/Y2Dq2DHhh8j9uqH6kpIParPRDgBf1sjqhygM5xSGmhGIPWeIsM6gxqYqMoiWMzKOPpyEBpZMBUq9zI9uzZf+jo4YHR0WanlaskSSKoLIrGxDZiZZHNz+x7i8XJ3GwIK3q+NnuVYPsc0avTfgQz7u1bcV4+crrGLV7D1jj5jt2uaU+NGEB7XaIB6QNIimgM5hlfu3btxMkTZ8+fSyoV9j6Nk9179957331DQ0PO+bvuOjo6OrK0sqikYHFubu7s2TOzR2YnYoOokbFRHDmfs8/VOfAeFO6999gf/tH/8MjDD48MDyjBevvYPfccW1tddt7leQZEjVZjbX21Xq8Zg0kpAWu8cx3v5s6dbTYbL7/80r79ex984KGJicnHHn9UVG0U1QfqoztGvfOImFgbR9bnWbvVFOEiQRq6ZZmRCyRDTwBdI2sffOD+P/9f//yJJx5P4hhUhwYHBgfqb58+deXCWfAgiV1vbqysLMWRIYiTOIpsEIIW8N6qJnECCi7P26323IULeaOZVus7d+zct3vv0//qW1//+lPC2mq1jh07trSycvrdd1rdjhpqdDoLly83NjZGRnd0cw5588LXwF7u54MGX0iCbFUdvVNv/Wztw059UdnTbZsVb/UpwT8L6wPBtgX4AKAgBQhHA2aDQra9qNsIM+ft3Ea2Vq/Wh4Yz76/euHH8ly/+6Jnvn37rLRA1SXLg8OxXnvqdr3zlq/v37WtsbOTO1au1TtZ1uaM4HhvdmZZKAOpyF9RHERBUc5dHNqpWyom1ee473cBtZBKykTWVSgWEW6jCXI+jalS/vryytLISJ8nw0OBwvd621iDmnY4XRsRKWnLsYzJD1SoQNVutRqNB1njR1VZzfW194cLF+47djWn6g2ee+clPfpqk6R/8wbcffPAh1iyKYiJobTQq1UqtPtBsd9rttiGMY7vRanPmjLHWGmtMHCfdLMva3TiJkyQ1SeJD7473GtJFgP0hd+vJ1/4/7aP9P4dmrQ3lpiiKsix77bXXAOA73/nOgw8+WK1Wh4aGvPedTsdaa4zJsmxjY2NoaCgUoJg5KDJ9ws/C7YojwaUQURYWZBFBIVYRYQBgYVEGRfjM46X32+1dnGLV++hP+Fh05q9yCkZQUFIFAWVkAClWNABGZERBECCFIr9f6JFqL2YqUL13VonCfhviJYQ+uQCGHCtsnbPenw3QW3bHHiWEFl1NxQ2CSAgIAiLM1loO/YLGsIiwWms4YGChf0fh5sNe/qXoCypK8ptfIcRjgCgi/ZUWt+0Km94PFsdR0K2RiiIAgSh4ERVx3oU0WBTHO8Z3RlEMqu3Zw9TmkfpwnMatbmej0WBDQNDpdpwwWhuTZQ74xt7X0y3fEnrpMlXVnlpmb0HYElrdsS+EqYb0KiKhJbJkRJhFVZi9b7da9Uo5z935C3Nnzpy5fuM6dzqqYMuV3LnLly/XqrVSmhJhtVoBgE67KSJ51j3+yxf3zxyYnJqKo0hDO4QIMIN34JnSdM++ffv37UuT5Pr1RbCmVEqGhweVudtuiUhcLqVpqVqrlkola+3w8HB9cGh9ZSWpVJaWlq5dvqyqaa323HO/GB4aAkABqQ3UH3744W984xtj4+PlcjmKY0B0ee69g54QhWpYRHq/AfrjOy2V7rvvvq88+ZWVpaXBwUER8d7v3bv37mPHXnz+uXazyS7fWF29fu1as9EYHRkBgE6n40XAOVCOrK1WKrGNXJavr69n3S4AeOdWllezdva9733v/Nzc4s3Fcrlik/j6zZvt9Q3IOhqneZ6vrKw0NhrGGCDeOkhx02MuWpk+djm/Y78dppuXfstr29c/Zi7qHopAhAAEiKqevYhYa60x4hmT5MVfvPD//uf/fOrEidXV1R0jIzMzMzcXF1959bULCwsL85f+zb/+19PTu4yxCpAkSWjvSRJroyh3ebFMAJTTpJSk3azrvHfOsXMucwqapqVyWkKCleWVjY2NnTt21Kq1PM9X1xuZc+U0GRocAETPnGdZmiRxFDVaLe99GscD1aoXabVajWYrSmIkqlYqA+Xyeqfz4+ef/8lPfjpUr+/ZPT0zMzM2Nl6pVEQkstHw4GBMmLN4lkqlUk5LBsAaY4wBVUQaHhpKrW13u+1Ot5Pl1Wp1oF5vtlrdLGMWG0VIFEWxV5XQrRJWaN1y3kH1Freyn23cWksI2K9f3X3wySxoK6VpSkSBMXx5eflHP/pRp9NZXl6+55579u7dGxRpVTXLMhEJZOJ5nodaU1GL+7TWC+kLhmvSwHxQgH7CbIu3y4+nv2q35JNEEh9dqiqO8is07dU6A95JKZxbABFVotC4rthf5jZLb1hAr+4sIZv2WxAvYT+5vR1Tq/0BCe9LuvalHPvxzdYi5ObxABiVEb1obJABxGtsyKswcGws9zK7m1+iOER4igBAgfoIeqRxUEyjUqxnotgbd4GsuBddbfm/VxhDAAy99qCbuUnMvTcMiOgIFdB5p3lOhLGwMYSpHakOqdDNxvpGcwMIK5W6GJtnmRMF730OuH12kYCb752yMOSkN/QC62U/f9aPm7b+9EVgtq0pn/IC965o/8H7FqZbNg7z7tbgFT7B1HbHPqEFUjzqGaoCEgOLqGOXdfOFSwvHX3nl3NycC0KqiO0sO/7KKwuXFgYHhyJj1ldXL1261Gw2fOieM9Gp0yfffP21Y/fcPYZjKsouj60lIlAFECSMkwhAszzz3nvvVLlarwKB9zmIz1vSam6IclpKd+wYffrpb62sLP/V//N/d1oNYAcAgKbbaZ1953TxFAAAXvzZPz37wx8+9vjjjz/x+L333mcH66QSx5FNYjAEngN3CaqQFm2TWBDvi4hXZRH2Pk/jyDNnWbfb7Uzvmpreu/e9UyfF5a1mY3Hx5vLy4tjYjjzPWp2WEgYmCY/Q6XRCO8nG2obkHkxk4yTL8ubGyj/84/d//tzzWTcrlctI1Oq0290uCGu30Vpb77baeZ577xmgPzC3Lsza63nHQFLbT+HAnczGr8S2ri/4QedYe1Um0G2tlQVn0e1/g15Gq1j33ufkYEFvoKAahDgJMeDPRMkAlJK0220vXLkCYL7/D//4j3/79/v37/93f/Lvnn76W1OTE8/94pc//vGzizdurN5cWrq5dPjgrI2i69euvfPO22+9deL8+fOVSuWhhx+8/4H7JicmvHfHjx+/euXqjtHRxsbG9RvX19fWp6amvv3000mSvPX225cuXUqTpNNqnTp1mpl37tw5e3j22LFjY2NjjcbGa6++cvyl42+/daJaq/3+d77zxJNPVEul2FCWZTevXXvhly/8/OfPrTc2pqenH3n0kQfuu3+l23n19dd/9Pd//08/fnZkbLISlb797ad3DI0cPji7trZmFDlzy83G6bffeePNN8+eOSMK995/31eeeHz39K5ms/36y6/OzZ0frA+sra3euHEzy7KxsbHHHn9s5uDBcpQAGe985rpYQUSkzauL2z3h3hqtWy5DESv9yh33f67FcdyfLrIsazQaqlqtVp9//vn5+flvfvObf/InfzIxMRHoN1SViMrlch+JZ4z5GDBeL5jEDxwOqICyWYLDzR8I8VI4tbfbW/kvcdrl48KhX7fXoYHhTAqes+IBQRC9Cn2QrMqiKiDbi6K9S3jHevZbEC8BQJG3wa0s1r35KuQotjIy6paR2Nu8SIn1NkAsSBxRABwooxIAgwYie0b1CASBcAQAIDR7bkOiFq8XbaCIuu19hK1hRrFi9nmZi6fFDj2VT1CAwN4jgZGl9woTAKG11kaWEL33eaeLoM7npBShaXY76KSdddWYcrVi0yT3bJKIALyKZyai0JsZjLZEOX2xX91cAjbH1MfPSR/oPtyx32QrGrRFWFXAo6iKEhJaNIi554sLCydPnLhy6TKwgLHAPut0rly+dGX+IkCf7cdEcWysZfGIsL60ePLNN159+ehTTz01MDiwspLFcWSsAcLAdCkiWd5V0aGhgcy79da6igACWgOCURIDAnvvvYsie+yeY//H0P8+e/jQpUsLFy9cPPPee3PvvQtuGzwjKpWJ6NUXnr9w7uzqyvLE2Njk+Fgax0EZpF9jDaROBEqwpbLL7LuddmODxe/cuWOjsRFQtc7l3rswuKMkKVXLtVqlXC4BKCEYIgAN2RpEiGwURXHhfLAHFWGxkR0e2DUyPDwwOGSIWq2WIlbq9aSUOmYVrg8O7tq1S5g77Y5EUS8x2GdYAwBQBVGlO5nBz6HhphPd//2ZICO3HbCYqwunXlVDPrH3acUj6cVRSMYa6rY7lxcuqcDSzcWRkZHf+93f+8M/+M4D99+nKk999Wt3Hz6ysrLCqvv3H7Bk3nj1tb/5679+7ZWXL1yc31hbA4AXfvHcH/7Rd5566uv1Wu1nP/jh97/73dqOHWm5vLa2try8PDkxOb5jx8zMwZOvv/733/3u0srK0PDI6urq0uJimqYPPPiA/bM/Hx0efuZ73/vLv/yr83Nz4n2lVj134cLpUye/+c1vzhw61Go0/vKv/upv/tt/WVxdTeNE8vzHf/3X3/rjP/43//bfnjt75srCQmN1tXH58ptjE4cPHco7nVOvvhYnSfxEtLS4/Dd/89c//elPz54502g08m73n37843ff+MbTf/Dt0Z1j75w89Rd/8RdRktRrtazbXVtZ4W53/n/8oz/7D/9h/759tUo5y7OV3HVbbRvHRIRFEidkH3opiF78IZvLZP//rZ7n5wIDG0WR994555wjoiRJhoaGHnvssRMnTiwsLPzoRz9aWVn50z/906NHjwZInrU2FJr6RSfYAoL555tCr6Wr50zIFqbiXu7nNsGMn6S+dHuMEvAJJKJom+/5QfarpdzpEYWDqEo/jO9HqwIhYS8iIlDo2W75bnect2322xIvfZCFwLo3i93y1mZGEHWTiRS33LxBuqxXUMEC2qkQnEQM5WIpij/vA6lq0UqFUGB7iq16c2bYSHu7h0/X/gwcvkER52lgyt8KSC9mlwLpZ9ASoLKIKhjDIqwa2wgQgZCsbXdzq2TShEDF0Ear1c2zuFxCJAUEovBRuiWwlNCmgsVfAGEl6LmM8nG1I/2Qx5/aPpMK1R27fSMgASi8dBYVIQBUCArqiY1u3rgxd37u5tWr+fp6sY8waAiTtk447PJOgYclAtL5hYVXXn754Yce2rd77+LNRZUwdysAKAIa9MztrKMoXjVzrpt1hT0RirFoCBBY2HuvoJzz3n37/uzP/+zs2XOrqyvXr18/ffr0zatXGq32zcXFq1eutJtNay0ogLGrq6uXFuavXLl86NDBJEmSJBbxIIE3HBGRCJEQCLfe7yaymcvX1taGhocyl6dJkiRJp9N59513Ll24QHFE1pRKpcGhoWq11s0yIErjmLjgNY7o/2fvzZ/suK40sXPOvbm8pfYqoDaggMK+EARIipu4goQWNqXWSBr1Zrvb4bCjI9x2+Cf7D5lweCbc4+kJx7gneshuiZK6h6LUbKm5iC1SAAESALHvO1DrWzLvvef4h5uZ79WCKkggxQV1ogJ4L1++fLnc7TvnO9+hKI5SY9CYUrkcxDGwS5O0r6/vwYceevaZZ9eOjTE7a2xUKlW7uqdmZ1QYqDBQWlc7qv0DA6SUbfNhAOQNHRERSOh2zX6lO3zqVjSjuw+/36G1suclKzntMmE3ABEFmCZp0kjYMiCicR1haaCvrxTFszP11JpV/avWDA3WG81ao1mtVBv1xj/94+s/+Nu/6+rs/OpX9m3avPno0WOv//xnP/zBK/Va/fHHHpuempyanNywbduXHn1Ua33w4MFf/cu/vPXmW50dncA8efPW9atXd+958Pe/+c2TJ0++9+67Z06f+eDgwTAM/v4HP7x89uy+55//+gsvXLl8+f/6d//upZde6u/rD8Pw2Ecf/c1/+k/A7r//7/5sbM3o0Q8+fOsXvzhy+IhG3Lp5y9HNmy9cuDhY7dz7zLNja8fef/fdM8eOVzs7pyem3p/Y/+Pv/2BiYmLP/bt33X+/APzkx3//X//h1dTJCy+8UClXrl663Nvfv/fpZ8fG1l44d+4HL7/0wcEPzp4+09PdHWotCJqU9VLUpLj13OYsdVvcEbkrJezfgaVp6pwrUpi01t3d3V/5ylf27Nnz+uuvHzhw4G/+5m+mp6f/9E//dOPGjdVqtQhfp2lKRNpH/u/OGISBGRyLE0ElzokDAAbnwInA3fLxRJZlPt69Q2k5uh0yLpNDJZ8kOxMBBByC191kASZgFCYAx+CIGJDZF4BhKabbOePTirXsC4OX/MK+5bzJYNJij72FlABAMlyUseU8MRl9P0ARcJAVmnGc5SF5ZVZAyre0bA5I8PGkQuIhd53kJ1uQ7QpuYOu/NtiVUTcyfikAIhFRwcEB8iKxwAzsnGWnAq9niqgDy9ZZy4IhCIWKlLLGWGtSkzJhgFhPmgCQ1e0WpnyYb2OxFnesHQsWbqG2Ldhyv8u8DneXhJPCHXvHo1trx48dt93zluN0LzmcOQZQBMCXfsfTZ88c7H8UCgAAIABJREFU2L9/ZmICQICoVKnet+eBzo4qApBS4Bw6qxQgUjNNrly9cuL48WaSANLk1OTx48cOH/5wfHx9KY5MmrAx3ichzhIhBdqKm6nXSFMQBmEUIqGAiLVNa5Qi0qreqF+/fu3Dw4fPn7/QqNcmJ6d23rfz8ccf/+M/+ePJqenr164ePnL4vXffu3nj5tmTJ9/55TuIFIQBiDRqtdmZGXZWKcJ8NYAARKjyMmJIeRYygnPu0Acf/OCVH3z3u9/dsnlzoIMrVy4f+uDggV+/V5ucpErsnFUKS6WYtLLOkkIdasxRjHW20WhaayvlSndPT8/AqqsXLyMpEZienR1Yveq5558HwGq1dPXazV+9++6xo0dBKdSq2tm5efu2OC6hUsKFI8gPYEQ54RzbKHqf7cXbF8Ja/IA5415hmM8ArW9g9i9/LHw8yD3GCzyDRcTJzzsEeV4TMzAgem4epUmaNhNgUFq51CT1RtpM2XIY6DjStenZyzPTAFAqlwnoxvXrF89eqJSrzz2/719/9zv379517tz5NKn9y69+dXD/gfGxMREZGB39/W996xsvvhiEwY9++KMPDhxozs6ic0EYljs7t/T0fOdbv79v375333uvNjV19OjRtNE4feLE9NRUqVSKFM1O3JqdmBBjJqenb1y5cuHM2ZPHjrMx+77ylT/5wz8cGR6e+frsN77zbWtdT2dnND6+ecOGC2fPPfHY008+9fTw8PCNS1dK5Wq93rx4/oJN0/rk9O4d9333e9974EsPdXV1dcTl//sv//KjI0d3bNuuiSph/MQjj33329/Zvm3byePHD/36gAiAlbSR1mpNFShNSimllQakotNl3k7/pNs98d43WugkffZmHuccIvrMJWPM5ORkf3//0NDQjh07Ojo6KpXKG2+88dprrxljvve9723fvr27u9vDJGOMLzTkSxfc2a/NS4bI02l8KSJ0jh0yOrYkFgCdWCdOGLEV5P+t7ZPGS8uqw8t8V/3CPT7JxoGZj14YxGZ6Dw6ZBcARWBaHxIJQhJ58QpkfR5Azn8DdRuG+OPZ5wUvZCJStAYr4DEA2MLWltnoGnDgWFkAofBRz0mCkNYF5Jh7mmnWSu9z8ujCvfIHAgiLZC78PL9eOMhauzBkroA3WIS7TXfynDMB5zpXXWBZABgIARnR+cQQooIACpQNC1kEQBGTQCID4WgZoM/U9CKJIB5qIME1FBInEWmmj4rbnL+WxOM5Tl/zN8eHd/HYWazMsHkTW1bIbmetV5I9gTroFtN1vT75f9Mbe0cDyWZuavnjm1RoBQYAQdRSwdc5aH0et1WtHPzx8+IMPa40maA1Eq8fW/g//0/94344dQRCQojgMNSKKA4CJyVtvvPnWf/iPf3X4g0NsTDIze/XSpV//+te7du3q6OriNoUFRGQRJAyiEAGicqnpNSYA2DEYC2FQqVbDMKw3GqfOnPnrv/7//unVn6i4FJdKW9/fevbs2Wee3btu/bqoXO7o6Ojt6SGg6cmpqFSq12tJsykiHZ2dnV1d5y9erNXq4vKJFpElK18JgNYxoCfqYrNeP3TgwMStW1EQXHnkkWajceTIkXffe+/85UuoFdeburtrZO3Yxo0bgyBLj3YAorXv9S41qTFhFHX39PT196/fuOHShYvTExO3btx48803qx3VUrkyOrqGmf/lV+++9PJL779/IE0SCsN1Wza98M1vlkulsfH1iCCIKJSNW5LFyn1QDPyaeMV+ZyZwu/XTwmGpPb40z9orihbjpBQUaJFsVpFipG0dM8/YLTblnAZEyAowUVEcKINshAA+zhAEQdDZ2VmqVOqN+s2bt5ppGsdRqGF6uvard9+7fu3aqlUD99+/++aNm9O12bhc6urqUjqwTtaNrVm/fv3Bgwdr9XqaGtNM2FqlVJKm1nGapmmjoZVWWgOCIgqjSGvNIj5FBkW01syMWk/NzL73q3fPnTmrwrC/r7+jUh7o7w/DKAzDOI77+/uDMEyt7e3vv79amZycIlIIqLUOdWCtDYMwCAJjrSDpMNRamzSlMKx2dfX09VXLld7u8uDgYCmOZ2dmbly/XooirdTatWPVStVLUyS1WhDFHZ0dnR1VUso50VEIhM6x11ua+xRxPmupGLQWsu/uYOVZPOjfEJYsecC55j2kkGuFA4DPh6xUKu2Q6cCBA7Ozs/v27du7d+/w8LC1NgxDr493VyeGxVTPDF5NHJ2IEsnlxB0woiy5vsoWH0vM98sD1bsuhiXLHWG5+NOd7HEX5j1nUOQvibD4QBMwoJ8eGAiEM1n3nLSbs/JwzoL7nrfPOl5ClKKoiK+BIN7fXBBRRNgJMzKx1/8hIgCx1gbMoDBfh8+PBLWnEvl+5yQj0bUR7EAAyBXfbj/Gglyl211C+4pF5vDx7jBqggwo6PlAfhwhAATyQMT7BCib/5Cb1od6ktR5uAcoFsE5A3nnFABrDCD4RVVqUsyyKlq+SCnYGvm06mGlgLA4a33dcy/WJ/7R+JiZy1KtEBCYxbLVoHyGhaCQHyYlWwxnWchQPMw5S4RFbtYSI6A/1RW89EmbZIDfORaEOAxTcZAlAetjp44d+Jd3r5w7Z0VA6TiO12/YsGnLloHBQWet0iqKooAgadTTNO1bver+B/Y8evzYqTNn6rdusTETN65/+MEHx0+d3n3//VEcqyDwQVoKQwvQtNYwh2FIQdAwyeTMjAUBRWARiaZmZ2Ya9Wq1umb9ujVr10ZRnDTqNZBDBw+ePXv252+9+dijjwHC4UOHTn10bGa2ZqxtNBsAWO7s6BkY6OrtpSBwCKAVKAKlwDoBaKSpYWYAw67eaDgiUAhaCwAwXzh75v/8N/+m/+WXrLHTk5ONZpOFMQ7JupG1a7/06KO7H3zQioBIYm3TGEYEnwqpiEUSY61z3b29Dz388JVLVz764HDNTImzP/3ZP56/cGnrtm3T09Pnz1+4cOlSfWYGxPT29Y1v2jS+YUP/qn4d6VojQUVKKUTgrFtmSxlPtpGl1xwr9nFZ29gkt1mpSeGVA4Cs6CN4qoygZMUsPOfZ1x3O0lYzCSvOig9nMgMy1yBzFGbTIgIhopd79Z9JFgEWBCQfVUL/C2CtZYFYBT3dPQDQ3dM7OjJan55+++23h4aGoiCsdlQvXLz4d9///v79+9euWfPnf/7n69aN9XR3myS9cOHi5StXh0ZGL128cOrkaWPT7q6uvr6+uFpFrS1zvdHoqHaUS2Uk5UQcM1t27BAgjOIoig07J8CIxjmlAhbp6x947itf+drXvsoib7/1dlyKtm7bXqlUtNYzE5NnT52+euWKtfbEyZPvvPPOrVsTX/+9F/p6exWpRqNx+uSp2dmaNXZqesY6VyqVojCana0lSXrp0uVjx4739vbOzNZOnjhlUjMyOrp69aBNEgAwzlnnQERphaQYMQiDqBQCinMuUgq1tknimHEeTpC5L7y7ok2AKl/AZApSnsyyeL3XHAMgo6AYYwAgjuO7aZgA8xONsE2MChHL5XJHR4dPZxKRcrm8fv36733ve11dXa+88srhw4eTJKnX61/72teGh4cXKj14nmdLTcRfBwtJ6y7Nm8ezjYRIKOIsWxJS4gQYABw4y1YEtS/RfDu7I7y0jN1dghTAHVBnlh9/P8kBusif82MH5NLRAuDd/5I7Xhxb6xwqJKX8shqJUJyzViD4BE/xc2WfdbzkrS00NA+Mi6+CnMUvJA+Nt3IG50R35lsOBqRwtuV5hq0fXa5LIS4XUr2da/HOLYcPmCMZf35FthUWi1gE5owCKEVflfbL8lty2ORnWZ8r3nZWmE3J+WELv6ZImxzXIpfR4nC3/ZS0Oum8q5L5b2WOh/b27tq535vv31uxT8oQ0VrLIlEYokJ23GwmIBLogBBmpmcOHfrgo4+O2plZIII46h8dffTxL68aXK3D0DpnrSOyKgpQKSBCpdaMjT31zDMvv/xy3TpQODM5/c4v39n94JfWr1+fMhvPNBWwtZozBhAEkZmNs9axiFhjwFnvRUelBZFI9Q0MfP0b35htNH7yk5+ktXqapjeu37g1PX3qo4/Y2MRa6xwnCRgbdnSOrV+/ZcuWZ57dO75xYxBF1jnjnMnbdtJopGlqjEmMTY21ziVpCk4AIAijzq5OCsLr165OHf0IAMBasBaQ4p7uzdu2P/HUk48++ljfwAApJQAqCBQpm3/dEKXMxlkkXNXf/8QTT9Zn6nFUOn70o5tXr9tm7cP33z9x/AQ7B0SkNYVhuav/4See+OrXX9j9wB4dRpPTNUtZxXVCEpH2RdhKZOnTMWktD9sHuDnshrlbFtgcV15+kHlDJSw56uGCfaVVz8IP/dIeyMhmg3K1ElfKWqmHHnnk8LFjx48f/3/+8t//409/unZ8/OTx46fOnOnq7t6+ffv69etHRkbWjI6aRuMXP/95rV4/9tFHv96//+D+X4+vX/fEU0/2D6yanZ4xzaY/+SAMoyh2acrCTiQ1xhhnnPN1BZUOUKnUunqjObZu3djYustXrh4/fnzt2rW3bt384Y9+tGnz5lWrh3btum/Hzp1DY2M/+vGPG2k6vnnz0SNHDr5/cMeu+/Y+t1dYgjA01r3++uvlcvU7//q7Ckmca9TrnZ2d4xs2/OTv//79Awcmp6ZOHD/eaDbffOONKIp27Nw5smbNiY8+MsYBgPcwpNZyoJ3w9NRMs2nK1ShUmjRZ52t0i1oAddqnoPw1tkk9/GaGOaIKgmBqaurixYulUskLLcBvG46Y9y2PxhHx2rVraZpGUcTMSZI0Gg0fRBoeHn7qqadE5N133z137tzf/u3fTkxMvPjii+Pj43EcK6Wccx7O5UGJ7J4opYrlwVKCELnvNWcGsQizsI/nszAK8t16P38Xa4LP/rojq5ID4JABmSQr+MkIDMgEXmzD33YAH6MAydJQPtnw1+fOPh946Tex9jnARyFb00u+y5y3uGALtO2PBTPtdobLRHXvvsGxLHLyxViUO4t8eUAgAC5Siebx6dvPemE0Zu603I5VGMRHiHLiY8uH6n+l+OO5R/iNbJH9c3DYJqHTdtX5q0VH1YUbV/r93ZuIKKVjraJAMUNTrE2NCItmdm5ycvLS5UtNY0u9vUBU6urcunPnAw89FMaxA0GtmdkCpD5cA9hsJmEUrVk3vmZ8g2EJo9BZm8zMXr985dLVa40kjcqVUm8/NuoSRhRGFtACklIWScel7oFVXf0DNyenIE2BFAPUkzSqcLWze8/Dj1JcGhhdc+bU6ZMnT165dNHWG0lqQIB0EJViqFQr5cp9O+97eu/erVu3jG/YUO7qqqepKF2udnR0dTtrodmsdneXOjoxjBwpCYJKd09nd3dcKnUND+28//4t23cI4j//4ufnjh9Pmw1BAqJSubJzz/1f+erXH33k4bVja8ModtY1Gw0HEHdUuwZWNadmQKR7YKBcqSbG3JqZ6e3s3LR1SxSXxtav3//uewf3Hzx17Fh9agpASBGRKlXK4w/uue+BB+7bff+W7Vv7Vg2EcZTWm46tjz4Q+cwlIOUBFDjmwuPj7bfnuK7YstY+x8iCF/Puc85v9lEHxo+pIM9ii3NpH//zVAqfpUsKURQSktYo4pykwkEQBrHa9dCe71r75htvvPPWWx8cOXzi7Flbq23ZuePJvXufePLJkbVrOjqrX3vx6/U0+ad/+vmB/fs/+vDD2Vpt557dX3/x93bdv6tRbxii/uHR7t5+DMKmZQtY7emNK1VfGaCzr7+rs1OF4UyjaZyUOjp6V63u7usfHl279/l9DWPPnj71n//6P0/dugVKbd+5a9PWraNja/sHV//Bn/w3/+9f/dX+g4dOnj0/MzXZ09Pz2Jef2LFjJyB19vR2dveY9Oi58+fOnD9Xq9fCMFRaqzDcuHnzN7/znZ/+7Gdnz5z5yauvJtb2r1r19FNPffmJL/cPDJw+e7Z/ZCSM45laY6pWB6WH1qydnp2eTZopSzUInXO3pqaZJYpLOlOkzB4jFsIOMmdCXrxj5fPmsk5Ax87jkCNHjrz00kvNZlPEZ4eCtfbOyx/JAh9p8drjsTRNz549e/PmzZGREa/i4M1au3r16r17965evfrtt98+dOjQj3/8Y2vtvn37NmzYUKlUgiCYmZlJkqSnp0cp5aX2SqUS5IuR7B4gzAP2nGWVswAXkg8A5LIXyOgYHQjisvkOdCeEunt8hEMB53lAFhyIQ3Eo4kv5Ovaaz0q8JmwmC8tzl3gr1rLPM17KYh/zt+XBjMxYpDWXtS0dWitvmb+l/S0uK3WzXIv6WAC6zD3/+b87Jxie3xbMU55uEzNuXXI+o8rcwb5YbyEAtfiPwiJMeV/6WKPJWR9t8fHy4J2/jDaFUMlPDObOQPlTWwCSV+zjMpY0YWesZ1RqrRFFK6WiQK3qf/hLDw2uGoiUSo1hkJGR4e3bt1rn2BhEFAS21rHVinQYAhHpYGTNmv/5f/lfb9666QvGJ/X6+Pj4+nXrK+Xq6OiamcmpgCgx5oGHHhxYvVoQZxtNaCYqCB9/6snuvt7azIwiSpPkscceHxhYxYiGOYjj7TvvW7V6cHJq6vKlS9evXk0bjagUM0uSJCKidVCK48HBoR07dvT19wVBUGs0rbOrBge/8a1v7dq921qbNJvlSvm+nTujSsU6F4TR5q1b/9s/+7Nnnnmmb2BgcGhodGQ0CII9Dzxw/crlRr1unQOlwiheO7Z208ZNvb29gCo1Riutw3BwaPjpZ/eOjK6tTU0h0fCaNfft2lWuVhhgpt6oliuja9eUy5V1a8ceefiRWzduOmOYOU0ti0SV8prx9Rs3rOvu79FhJIDGchgGPhDGIuKcECml8vWJpy5nyZxzOvV8x8nvtvF8sc2PiAjSlmm+qBuoeJGNqh/Pj7emPcAchM1dvftx0e8hOUXM11ID4CRNa41GF3Z09/Q+/MjDGzeuf/qpJy9cuNhMk/6e7nXr160eHunq6m4aGxmzbuOGb377X23ZsfPWjRvgnHF2cHRw27ZtQ4ODNk3+6I//5NbU1NYdO7p7+sIg3Ll79//2v/8fqwcHN2zcODw0PDQ01NnZMbZ+Xb1R3zC+7g/+4A9uTkwO9Pd39XQ/+PDDQyOj165fm7x5c3JioqO757HHH18ztoYUmVr9uef3bdm8+fz5c7P1ZqlUWjUwMLZhvFzpMM5t277jj/74j/c+tXf14PCWbVusSYZHBqMo2rh5c2rTfV97fuuObRcuXKxPzziRVUNDGzdsGBgYiKLw6WeeHhwcHN+wbnh4OC6VolL5D/7oDxtJc8d9OyudHagUiARhhERBEIigddbPOXPXFVJoi7emKGmP5rW9WLrT5Z9qra9du/baa6/Nzs52dnaWy2Wv5c3MSy8qFmV/tG8hIo++vIRDuVweHBwEgGaz6Q+ulPJRpkqlUqlUoih66623fvSjH83MzDz55JPbt28fGhqK4xgR0zQNw9DjN68GobQipLaqKAu6gO8gLCyOxTEwCLCXHwH0C3cQ5GXzZnJ54RW7nfkRAYAZgIUhjyNhDlxZgD12LSTE5g1IKze4zT7PeGlRa5HFsuU95zoGi+QetW2fh0baok93ol70yaJwP/ERZNmF/lSxbekzjwXHbW/936IhshbGEICsfO7ioJEAWVhYAERIsrTBDJOgALaqLmapTkUt3Tu9RslQLoNQETsTf8WSrT+W8sIuHFtXshQ/ARMArQiJ2DEwEFEYBNYaY6woKpcru3bdv3PnfdVqhZ1rNBoAEkRRo9EEAO+9ZGTjLKMHWpQya6J9zz/fNDYxKVtnrCmXK+VyOSxVhkdGtdZBGBmTaq1JETNrreuNJik1vmnz0Ohavw5Ims2OcoUBkmbTsFSCsNLRIaT6B4fWb9xkjbHWOmZjDCGW4lgr5awTgXKlgmFkhFPHAlTu6t6+e8+WXbuIVJKmwq6rv7/RTBJjHFFHb9+jzz67J0miIESBOAy11nFnF4A0G4kxaRiG5Uo5CiNBYOsS6wKttQpAoFTp2LR5y9at2xApdQzAOgysOHFsQYxziqijuyuOo9G1a7QKELDZbDILKUWBxkBXKqUwDlPrJmdrkqblckmHgWP2xQadMLIPM8GcsuzzhrUVj+EnYfnaOXfWgSdK5uHxudbm5mkr6fUx/H77e2nxncBDIr/dqxkxOwFkARQhAUSMwlAFqp40p2v1KIwqXZ3lzsrA8PAeY7XCOC57gXpEFIbZJEHEkbGx4dERZ61hRiRAZuGEudLZ9eTevbV6PQjCOIoQcPXI6L4X+k1qKpVy74AaGBwqlWJSanampqPyhq3bNhPFYYCodFTa1Nm9ded91hhmG2giHaMOHIsK43KHfuSJJx40ZmqmpnUQxZHS2imFSKNjY8MjI9ZIvd4klCDQA0PDnR2lKAxvTMx0dHf19K/aumOHtQ4RS6USKbLGklLrN24cHRsDEK01ElWC8LGnHldKqSC0zDPNOgvqQOtAO8eOnUeb0LaKQIBWnkrm8PNCHPkbaN+yjCEgIaHKGG7GmL6+vscee2zjxo1FUiIvybad6z3Nz6tti6+/5CXFrbVpmvb393d1dRWUvzRNlVJBEHR1dXkFiL6+vn/4h394/fXXr127du3ateeee250dNTv7Fwmme3hnHOO1DwpiHlTcYYd85hGjpfE4yXH4kCIYanSRX7NsoKXljbvFgGgvF4tMzCDZHjJiwLkeMlnSzIUmElW0sHn2RcNL+UIQebanFGK8pW3b0qcb2kHFe2VWz/1JuMFZ/OgUasTtEMmaMNLkgupt/yYC+bkdq+PQIvCXnxcHApyZxqyCGYYdE5F2497yCoGdsxdoSCSZ6K1FiBtMcD8JKH1OS4Myq0MrXdt/olgVvsOQMBalybGsXOKALBUrlhjnGOtdaVatdamqSmXYhFwmV9UBMmwOOsUKSFMrC2VOipRSaVJmqTkQh2EaWqc47hcCYJAAAKlmo2GGAmiSIdBCCgApMNSRafGWGuCUrnpnGMhrZXWxtnEOAZUSoVBGFeqiGjSNElSrSmOIkQkQUJopGmt2fSUtiiKBMBZizoEgkCVHLupRoOQKAzZ2sS6sFQKS2VgARbSShCDKA7CMCxZa0wYhuVSSUCSZip+QFHaITqBxLpQqY6uLkF0M7POWdbKN0520jRGERGADqMgjBQqQCxVylGoGaCWGEGiIGha12imgohIDKC1BmYHli0LswOHqPI6BVnVgfaOsKxre8V+O2uFFHzyEmZV9+Z527LhVAD8WrDQD737SSYbj9tX5m2Ds0dOc9yEWSVbv41FDFsLDFqnzioIldbWMBNFlVK1XDZOrHOEgEiowaYiAKSIKBClAsBSHAlKvVZLk5QbSSmOK12BTa1xAiAqDHor5Xo9sc4iUlzpQKLUGlHKCJTiKNCKHVvrvIomMybWRXG5Wi1NztQbs/UoCju6OmfrDSuo4nJFBezYOOesBSL2orVKaaQykUJGJOtktpEk1lU7O5MkIaUqXZ2KKEkSABIUh+CcE0U6jNI0cQIibK1RUQgAibOIhIpQwAqztZoQCTOhWPBuwuKGSvFfe3xJpPXRHcYRs4aDCLnwd19f38MPP/zII494vLQoHGq3RTOd2t/6sJKIxHHsM5eIqFQq+SP7IkvlchkAfPho48aN3d3dzWbzzTffPHLkSKPRaDQazz///KZNm/z+zOylIESWlYzLTkaEWcQJOxARl9dfQifOicvTv257qNw1fPv7sJJ445EzEGe4XfLQY7bYk0wvzOVZ6XmN0aWS/u9p+2LhpTZg7JsGZ39zul2W/ua/0bZlUY/NMsXG7tDubpHi5uKlAim1spgKX1aesJTVb4Zc65TnsAoXhsjb+4cs9q8w5H2JF/GJtiVKtb/9za67UHJpnWsersqfbXFEnHv8DCAtSPSad/wVu3tzzJYZ/Jod0FmHgIEOiFBYnLCwYwEL4pN3rXWlUpypt4kopVFjkqbG2DAArQMhuXprslyKSSlUSiEJorMOEL2mVrPRtOxEQCliAcsiiI7dbL0hItZaxy4IAieCCBQESJRaS4hxObbWGcfgWGtFWmsBEUmsY5ZAUxQEQEpYUJPWygI0kwREokCzoGNIEmOdrVarqLU4Tp0LiJRWLM4ayyJaa8scEOkw8GqetUbTB2M9UkkdC1rHLIgWMWFJTdpMUiBQzmZ9FtE4yw41qUAphQSCXnHSS/OxsLGWlSAhUFYymIEFVL4s9pm5wsxEhJnQZ6tcwbzV8op9zObXygggi4Clebc8gygAmFcJ/zieSYGT2k4Ji48QnAhma1nM6okhAVCmjAqG2QLoKGTmpkm1BEprhZAaMzE7W44iAUiMNc6JcBTGWqvEWuGsLvKNiYkwCokUBWFqnSRpOQ61okaSOhbtFDDrKLCJNI1R6JBIE5XL5dQ6K2yS1BgWZ8txrIgYBBAaaSINRTpAgdQ5MkYFgXHSSBsiEmrlgOtNx0BEKCKOLaeuWi0HmmxqFHLaZJvasIRWhJiViCJIrGXHURSR0tbaRpJoZZVSjGidTdlph9ZZyxxHJVREiAKYJMaQIBAAtVeZB8h44tm9XUh0kNyBC/nDXnJezIRkc8zj4z9BEFSrVa21Jy0XIZ3b2UJM1f5WKeXjS0EQZNE2Ik9URkTv17LWVxiHIAi01oODg/v27Yvj+MCBAxcuXHj55Zenp6e//e1vj4yM+IP4H0XETEOvLZV5MaKJcEsll0Va5eKk4PzPd3TPP8LSd2ClahBkiMirh7f4eE6YCjKeACOJtPOyclcoAKz41+ba5wAv/VZzSeHYAV9/i+Z8lnXgwgE3N7aSWTarLUfHazmYbmt32+Qc5uKz3mENGVLC/LqKoTCDf55KTS0mKvFyWVht59jCSFAAFl/pRpAgm5SXOBwuyllezlq/9xvgLMlTlVaIRr8zIyBBFPAaAwQgqMhPlY4FEMIw9FU4EohnAAAgAElEQVSRAHzdJK41mpl6klaKlBURIgRgQCcAqAwnqeVYBUqReP04rcGCYyZQQJSmabVaJlLGWMuOAZjBOqOUUkGgMQS/YgFhr7AE5NGXTa11DhEVavY1AwAAEBQZZpsYJAKtSREo1Ww2rUgUaNRKEJkdI6LWTCgsViQMQ0a01qAAojBLMzXGugoRIjrnJYbQsggzEXnqOAkZ5qwUjGPnOCzFApLYREg0aR0qdOxX2QyMQIoQgKxzNmUkRKWssWxsFEdhSM5Y56zxcEsyDoWvhOs9hbRQwGvFPhVbdnH8CTyczL0098BZKAsACCGDTiICzOJJ7I4QlNJKi0ij2bAmLetSGIWC0Gw0w0ABKiNs2RIhgzSNYeYoCiOthTkRDkslrTUzoI/bCKPSoByiCGLDcFc5QOtMM3EklSgkkMSkSofC4MQ5AB2EDih1AETlasUYk1jRmrxUTDN1QRgGcchJmiaJdRaIwjjQobbGMSKQZnJW0BpnrY3DKC6p1DkrDITGOZck2hIqRaQYAAhVoMUZ46wOA/Hl6RWJUgICiA7FGUdahWHIaWotKwIiVAvnS2ifOP38eLsHv8wDd+wEMq1Lz3DzkMnjGV8udmm8lMV58jGgkPyGfKngEY4xJkkSrXUQBMxsjPGSD1pr51ytVkNErbVXz2NmTwjs7e3dv3//gQMHXn31VaXUU089tX79+s7OTv9bWmvIyp/eRh0vZ+oLCIsTYUEnoDIntyfpgSAw+1bauqp5x1m236ws9QEAvTqJ968BOWYnTjwZTwQYgUlybqT4ujI4r9zOyo3M7bOOl1BAZbVlhUEYMyTkHyoxUM6jYwCLYAmY8tALt9RY2useScvbKjg/lrGI8ZLtRUCEl9rBLyl/k4tecAKFm0UABBwAzYV889wwPriUqawDAICTLAto8fPA/BDYOsK8Lb4Glb+LuQui6FboXZYwF7l5Gn9Go2+FwNo+b/21NuajvOQe2/YYUsGkvO29ugt/1IrdkaFCEvKTugPnQ4/sHAAISOARhbFOWJEiRUrr1DqlKAgCJLLOpc4BovKOUnYAWC6XFZF3Cjh2SEREAphaqxWQUkSklAJEZhEE0kSK2DESklKElKYJA6DXyQUUcNbZZgLGWgBQWpPSqUk9dkJCRYoZmZkAHLNjViwCGAYRECTGOQEfqwmikFAZtoCog8AYU683QqWrYUioGmkKPm9D2FiHCGEQAKE1BlEh+rUrOsc6CEDQGsssSmsBUYrB4yVUSMLOiWPDYsWqvCouIAggswRhSFozoLAQKQUg7Fhshv+wPWMJWlJoebNveTDm9p2VTvGx2NxB6re5q7LY3xIjHc4ZnouHnK9u2h4/Qj5CS6sGBYsUad7gmEUkDIgASBAgCDU7di4FDLRWYRDUm80wiAKltMJQa2FppkYhKQRmOzkxeeb0GQ/ArHVakXXcUe1Ys2Y0jGJEuXXr5pmz54aGBnu7e7TWYRRqhY1Go9ZMqlUdag0EVmypVAYBY4w4DgOtgpDYsHNOnOe4njx4qFytDg0PBUHYTCxpXS4HKBZBkEFAFIBNUwBhZmstMyMAiq9hz+w4dRBGJUR0zgKi0kqTNF3qRHw3UkTMTlg0ESE6ELaOFStEHWgiBQuK1mYRJiwCSNj+B16Yua167dJL/XZfhwcqYRgW8aI0Tec0m/xYBRwSkYV8vPbkBF8TIgzDMAyttT58VKvVrLVeZxwAtNYF0S4rBcaMiKOjo6VSqbe3N03T999//6c//Wmapk8//fT27du7urogD3whImHmy/XI0T8AQcc6ZZUwWnRKcYicomMgcgIGrA98ioBjh7CcInnbf7CgqwiuhJhAAB0oybOVAEAQmAQ9awlBgNkxgigADJTRkCppajEaBAFZgAGzTHTKpaDvXQj1WcdLiiFkIBFGNsQpivFDE3PAolC0ZEQ6g5gQNBWmCoUUAqITsD4mkj3grH6fz3wTr0fZstu5Q2SptMP5WGWRHdrntd/O3ByamQA4bIWbAGBetEcWRMwcgFvyFHBeGK2ImvkXgoIkHoCKCKMCcEIsyoMiBEWoIBuXUQAciAADIitwmUghI2fVe0UQfMSqTYpcwCEIkWYEYV9HCtH3VimusrUawHnn275OkEVrCN+jnfzjNfEOBBLOSjSg5B4DBGRgFmRCEBKfRqADQQeEDsQ661xbUk3+kDx28nmooJRvIKgJBBwIAgZB4JgFAP2E7iuUKBIRx+x8kSbEAhUgoc+Y8nQaJHTsAIC0yqoqeyYIILN4NgiAI1SIxMzMICIEhIQkJE4QUKMWy+AgQE2oGMmTTwDAWM8fAQB02WlSsVxxlhGInVjnshR8sUgUqQi8ky9L7EJBlQ1K3vuQ+0RYQGmFRI49sw8DUIxAkDdqzErstLIo8k5RLKVX7JOzwhNX1HLAzP2TbS92W+iew5yHzIJOMCPJZLK+RWUbzELomB0VwaEgiZAI+RIrSG06H96LDxlGolxatMUM8EMvIYooJBEhBGDr40KISgEAAxtEChQ4I8hWASGhcs7nMSEAGZMmyanDh//9v/23s5O3yh2dOgrAuXozXbt+/Lnnn9+ydStpdfjA+y+//NL9Dzy49/nn168fL8VxmjYFMS6XHDDrkFCBE+tMrANR6CwopUmhsEMka6CRNK9euvh3L/+Xrq7ur73wwubNm3UcE5EGaDSaUamslHKOnbPiUiKltEJEDLVSmgiEQKMSAMvsXIqkAAEJnDCLkFaM6H2ABMDMCphAEXPgSa1pqgGUZ73mClIAAJhXjcdMk9WhsE8aQWQkQRLKSgRn7o8Wm13yx4BSJOsgElBWvxjAOcfMvvhSUebIYx4feipobH4gklx9YZ7guMw1Xz3JH9O/bT+414Hwb5nZaz9orZMkUUpVKpXu7u7e3t4oim7evHnixImNGzeOjY319PQgYrPZRMAgUH6mR2HNXpbBAbJTiYmmTWmGg2rAQZxWE0GGxJBzAIaM0kRBAMam0nSBnafRPqfHLXD/4Nz3jCBwR6rrX1wTBp1CwEh+LBFEhJyIAEACygFZF/p2HqvZUKYDezPmmRj7CDSLR1rZMJOthDFrtnNmoHvCPut4icRzyUQQGIVROIMKQiKEQtmyBxnRElpCR55rAMiCTkTNzV7ydNns9ZxF221wjyzjDlrW5mGX39wWaY93mCOc77FkAGz5IzAAIHm0CQziJ3U/+fqYECBmQa88BoXisysQibNoF2duJoBcQcjP/cUMkpVIay8yLH6OEY/Klg70tdmdiBqu2G9lGWAvBl0QwFYldg+iSGcTFYsAggc2vsIsAEAedoG89/lKeYgoiF4ET0QyRS8AASGtHAuAH+yF2XMKAHI3KuYAwzctv54AyCZMEbFzlxHMWRUV73nPFqU5d4XaBJ48sxABEMlZRsA4jATAOfEFQ5TS+bcIcg+rQIuRDyCIBNLKTmYWAgFFfjhyxclkiyJCRQzC1mXfUMgi7FwOh7wXZ25QKYes+XNpczCvdIdP2BaGlbKhbbkvtgWmsDiI5E6kQtanGPrawBBCy9kEOaTCXCi86F65V7mIL0qrpfhe7Js6K2HIyF4IQESkFIKAOAQJNRGIOAuMDlArFXjFCOc4SSauXXvzZz9rTk5sfWDPho0bSevzl88cO3pk5tbN3/vGN0fXrrl5+eJ7b/xzR7X66KOPNOq1RqMuzlaqFQqjWqPZnJ62zlpjndJRtcLWTExMseNypay1NsZqrdiYRq1Wm5kmgKRRF2uMtc45pdTMzDRMTMZxqRRFGiTUyjpXq88aYxwLIMaluKOjg4iscwhgjEFiHYaI6GPLlGlvOp++o9A7LASY8zFIEEAc509hTkCxiCxB9khQclwrCOJdGYg+vxEyyV3JH2reRnKqsHVWQKIoAv8UiHxsB/LRSdr08dqjRu00vPaNMDdm5T/1sSPv8fGjYhFH8iDNjx5aa/86DMMoim7dunXixIkPP/zwzJkzURT19/evXr1aKTU7Ozs9Pe1vMhEhKsw5X+hPGR2QMBqHCYROawqcDpphWZMKSjOm5hSTFhEXUxkRUVyebbdIZ5n3Ons7d6FHAA6X8nTfAyYISkPAEGRkHyBBLChPmiEQDFBHrCNR4MQCJARNAkMAAtphFoR2ws6rfOGCgeUess86Xrozmx8fbKW+CgM7oWI9J5CLQUDhe1vmkePSQtb3gqEQAgEz5lIr2PZHAiSg/B+DEgDPosScLcktV+u8A7e/KZgMACBZIvSKfUZNlnQitGiZbSm8xactdNJGI5n3zSWPf9fKR3fkbFjq28vaclWsAQCYHcy70gwNeY1XkeXEppZ+Cit2z1hrBsznOZxTrm7u/9nCfFm9RAGe1/4W+BYLd1kQBKXhkce//MS+557r7ev7xRtv/Mf/8Ffvvf3LLZs293R1RzrQSLEONMvFU6ePHT8WBOrBLz28anhk4uq1o0cO37p1a3TNmgd27Jy8cePw4cMfHDl648bN0ZGR4ZGRiVu3hoeHV61aFRKNDA7FcSkAvH75ytnTp69cvVqtVo01ly9fVkqtXbt2z677RkaGr126dPDQoYsXL05MTLBzg6OjDz/8peHRkbhURqQs2xJa800+ly0cWebdofyt3G6H9n0LocIlbvEi5pxjyTh4PojkOXi+jKzv8plHqXgcuTxDga/SNC1CRgDz5R+KUbcg4BUaD54BCODTUMH/IhH52koHDx785S9/eeLEiampqaGhod27d4+NjZXL5Zs3bzLz6tWru7q6tNbgGYuoEMmnB3gtHgUiKVGiVVOZCdtUCccQlChKlSgEYuecirkspG2ZKa8s0nL7tGxeQ8QFG4XYId/VQP9FMCJRHuEIISMBKk9EQADFoJi0U9pAYA3PSGVWgS132jhOKEzEpmCsSMi+efinWDS8pdiSX1D7YuCllhVSiJI5mhkYECj30EkRE4HcS3QH8pf3XLOYbyIgCkWQAZDBB/dYcjZIHqxlHw8EYFAAKKAAFaOncDlAofaMsWJwa5/X/ZaczZIrD63IW352bNk1eh7wwXmoCVqRnMU71B2v/gv20xInsexBPuEWdQeAiZlbNaWp6A4CAMJ3cnqy7D27B6e0e9cQALEINhV5uwLYvmiXtv4zl3iR8dSR2mSyWyFKBMBCRanl1ch3IKVWDwyMDg4PrR5aNbBq0/oNq/sGLpw7l9YbptEQ4xBJA4gxZ0+fefWVV8I4Hh1Zs3ZkZOLKlTd/+tqZ02ee++pX92ze/Ms33/r+333/3IULAjA0NBQGweTExO7dux948MFqtXr53Pnunu7m7MzF6enXf/KTX/96/+Dw0MDAwKnTp6anp0dHR0OFWqtfvv32T197bbpWC4MoqdfeevPNmzduPPnsM9u2bStXqogEiIpIEJkZvKxkbjjfgVpMR4XLtQjW4dwd8v1lnrCbwG/i4lFKE7QCSj4K5BM4/dviNeQAqaDhFQzh/KEt3v39AYnIl5r1YhK+KJOI6NystQWympycPHjw4GuvvXb69OkwDNetW7d58+aNGzd2dXUlSXLt2rV6ve6L43V0dCASAOUUUi0ICApAKUBIFdeldr1+GS+rSzdNwBgTaXTgHKfsHFrWijAIWaKMALZAVrwVU18MSuXOcMvK3uN4CQUCFvLVYsgJFtwgAJ8Gz6icUlYFHFFC6qZ0uVIXl0pGxVaJYB2sQh8zxAJdQ96EPrUL+5TsC4SXimEqTxHwRGMHLAKEGRMsr+KXU3GWX3H8Tk7+s20EguAko9VJVvqsgJ0ZlWQOg8SLcBBk8Mkz7ttu9MLb2hYkbJ/Sb7v/in06tuwSvIgpFVsWDqztB1m4/xKYKtvhDlDb0h//Lmw5yOSdOwjYvmfm8VlO18R/vIKGViwzzFpDOz1TCkjdNvbmVL18jd8e2S0q2YFviJyP2pIfGguppDkAjAiIGrX6R0ePWeMU0ekzpycmJnp6+wb6+jsqVRBha12a2mazNjVx68rlnr5+xQzWKrbJ9PTMzRvNmekLZ8/942s//eD99zds3Lhr164git55++2TR4/29/Rs2bQp0vrUiRPDQ4M2SZIkOXfq1JlTx4eHBzdv2FAtlQ4eOnj+zOmD778fl0oH9u8/dOjQ2Pr1ex56MFLqnbfemp6emZmaNqnhErcu2zt2ABEoI8wt2mNlAWSaT2lpYc/5UKkokpFjS5krpLTQgkCzZLjIo6AwDI0xjUYjCIJitHTOFYlMiOj3dM4554rxdh5tD9oGW5+kJCLGmNnZ2Xq93t/f77/iVfIajYZzLo5j59yNGzcOHDjwyiuvXLhwobu7e8OGDdu3bx8ZGalWq4hojHHONRqNycnJzs5OpVQQhCoICAkkl6JBAkBnIFalsqpyTSYuTLgQDDoHVoXKOYPigiAw040wVEFUMalmN2eEQ5g/rmMbZGrtkz0Scffcen6eIYJTkBAYyNLHM3nxwkiIhJQEIUSaNdalElRLOkYmRUqVImsE1Hwvp29O7Sz0e8S+OHipNcjnpBYAcSAWmFEUZMhYmAUKubw70VBZombavWIkguLFopmEc9pCxmHIkwGZRMjLnTP4mleEGT1v4SjX9gdzZnlEQBEn+RSEc+eqFfuU7bdYpC/8ynwaXm53GGJadie5k51+B7bkrcJ8GEJshb99igPTUpUYwfcHvFPsumL3hiEg5dNV5s0qQNHi01xb6/B+sDyQBADo4VKRV4M+pUdyPxkU0wACEYtcPHf+/Wj/pYuXkmYzSZoDA6vuv//+Bx94cGho6Ozp0+CcqdeJOdZaE2kAzVZZU0IICQMCzXbi6tWbV68M9HTv2/vsc8/tLZer1Sg6f/p0JY56OjuqpZJt1F2SBIgOAIQH+vqfePTRF1/8vRs3b0Za/dMvfjE5MSksYRwn1l67fv3SpUtja9Zs2bZtzfj40NBQuVwSZmusB3gICMzAjCpXc5sDGaEN2SyETDJ38mqPL0GOjzL3bfHpnfRHEWBhYPCBIyJK0/TYsWNFSdkioFQIhReCeN4KIYe2Y87/XY+XwjB0zs3Ozmqtu7q6oijyhzXGGGMAYGZmZmJi4sMPP3z11VcPHz68ZcuWHTt2jI6Ojo6OdnR0eJpWEARBEMRx7BmDSZIIoCZNBIqQHDjHCKBJsaVdm+9Hp4I4YgLQIART9ekb1685YypR1FntsL1NBRJImZshuDkj3MIiJgWCancT5FccOAjv7WUDAqZAE6DqkLdlyVa0/l5iLr2kCJQwQS9EYTwysDbSJcvs2BhrlbRggk9v863LNz8f/7xHXHefd7xULKZzhbdsgMrYlnkkCYBQCi5s7ixrhZyW+oUVLhiAAIP4qgi5rl22RRB9XKml2yDtAg7zgM6iZZsw/6gg5uHtI/Ar9lm3Oxk6F1L1iu8Ws/6SvwGLCiDO+5HldvisNKrW3cjPucUevo21ogSflYtYsU/XciEBP8shtlXc8wGmoo21f6fN8shRu1hqRsTItCeLEGhe8x19G/XwCikqjW3YsOeBB8IwqJRKwyMjo2tGR0dH0yRldgiAhIqICNmZmekJcba3u0sRMltnjElSYwwCqECXyqVVqweGh4bXjq0Jw0Brr0KZCojSCglFBBX19vWuH18/PDIchkGlXBZn41I8Mjqydeu2w4eP1Bv1kydPfPjBoWR65ktPPrlqcLC/v7+zqztT9mYRBHZeDROsJ78BA87rU/NcdW1vZZEd8oBeMb617u4dOi8Q/cMTD0Wq1erExMTPf/7zd955x8eRPB+vHSO1QybPqZs3CBc7+O1pmhpjoijyAKnZbI6Pj69Zs2bVqlXWWo+jEHFqaurs2bPvvffegQMHrl69umnTpi9/+cvj4+P+ix6YiUgcx1rrUqnU1dVVLpfDMNSBRgJfshsYrHEoQAq1Dr71zX/1wtdfDEsxKAQQpdTFG5feeOOf00azp6Ozo1IOkGzSBBdoXSUK5o2CC5l487YX/m0B5SC4kxv+xTVEMEQzQE0PlXyzECkIQMheCQkJQVlmpZR1Lgyjnu4eCGi23miYZgdUchkPhJz90Z4ad4+AJfi846ViCG95vFp/ftRCxYRMvuY9gADoTK/FP+blRzHMNLDvYRNERrEoiEzEIGIRLLJDdkgOxWXShciYKeoyAANSrgjkJYOgDRHl4b2iToU3LBBqAZwKqdYV+yzYnc/6S+y58NMi4nS70FP7vndyBp96i7nT2E7m0P7tznclgLRiLcvkyzHnzuW4pgA1AFl7o9bLts2Z47HY1BqHoeihmRZcK+qSK/Jh39DgA489+nsvvtDT3RMFqlIuG8uNen02qVsRFYXljqoVN1ObbSZN48zkzNStiZtXr1+p12tIoDShJgx1rVk/e/H8RydPzNTrl65cMjapJ41aUtORZmeIABQ6cCJOBUoFqpk2J6YnZ+ozFliAZ2q1nt6+vc/tLVcqArB///5X/+G/vv3224PDw+Pj4z09fUjEAkTIuUo7CyOjOGZg0u3Dy+2CS1kEruArLuF8kXn/L/sQQQTEOZemaRRFmzdv9tEez5SL4/jGjRvNZrNcLhd1Zv1HWW0DY+YJ6ki+2ilEyY0xHllZa2/dunXjxg0ASJLEpz/5rzSbzZMnT77xxhsHDx6cnJwcHR194oknNm3aVKlU/I/62k1KqSiK4jgul8v9/f2dnZ1BEAihYUiN0UglUlorD7lRcM2aMUAABUWVllJcOtZxzOqkt6OrHITlIJLI1sDNxmiC+cnN7bhoIQ8MW6gfhayj+mdgHvg0TTEFtqK4CtmsqVAIAUWyKjvC7ERQK1TaiY3KcdM0G2ljEptsmjVTdzYtcVzcxXbgfQ+qPny+8VIezMiKaec1tQu+mI+FkBAKt9xjiB5hg+ThySXtHmJnLmEMwuAAWVAQ2AEwshCyCGdvgTEPOmWFgjNJUcTFYni3n0aKvilzt9xD/fIzbHeOl+bt3K76sPS3lt4HQO5e9kjmv/u4G9fyA4vfSwDa8sNbWSgZVU/mlGzOjwwtys/Sx7+nJrNPzdqGsjmPfUGzkkWx/pKPKKe/zWXUZVSJ9gFy7hgprVay8PjYtvfc4AgWkVvhTEY/P+k8QpU1KfTy+AggIsY5BxBXK32rV60eHiyXqo16rWGMY3EIYalUqpads0KAmlQYUKgvXDj/w1e+f+rUicMfHj5+4ngYBNVqZXBkaPXQ6mMnjv3ynV/enLilEPa/+14tbbJPn0VxzgAhKDTOGJOmSTOxxgLPNuqJTZVWgHDu/LnDHx6+dOnShg3j4xs2bNy48e3enkbSZJE4LpEil8kYIAEoIhABr6CAjOKkrZrFMrbYXlKg1kW/UXDz5LY+EmMMsyMirfV99933F3/xF6VSqVB6CILg3XffvXTpUl9fX7lc9sAmTVNPivOMOGyrzpT/6JywgOfaaa1nZmaOHDly4MABzIXFfQhrYmLi4MGDb7zxxsmTJ51z4+Pj27dv37p1q9baGKOU8oRAD5a6u7s7Ojp8XSatNXgHKwiwE+cYyLcpBBDrUJGvj0xaASJoMHUbq1IT2NTNtEtm0slQ6UYMN5KkSdzeX1pLsQLE54bzt6NQytS8l8WNBUCLitOScgEAkACKQlF5FTD0tRMdAwYkCKlL445S4pKmaYAGHQeiKIi1rw7iHzfkzaloVJ/qJf6u7fONl1gEnNNKE2XUukBrALDWaqUEJGFpKs1U6PDjnP8xK3iyzM+g+0TO/nNkIihs0Qk7QlEkBtgAU6QkZYNiwFnQFsESWAImMSIMKCCaAH1h2nzy9Wgq40qKiIiTLCmKgdnx/8/emzbJcV1ng+ece29mbV29YN8BAiS4AdxFkbIljjUeKcZWzPgNx4Q/TExMxMT7xvwQ/4OZ+Que8Bv6MFLY1kzIi2jRlAWTgkhxASWSACESJIgGGr3Ukpn3nDMfbmZWVu9ENUU0Ox9UNKqysrKycrn3PGd5jlIoiVJQYC0KFGtH+v2BbfKlslXIultYmzHyhXYBdsBtWMywo6SaHYV+wZBRJe9+VShgtL3KwqIpQn1T3Acozs2qU7L+6SlUvPPRsLpYS0HrfEuqIqIiKqoESoRlyYoUZaTCHD4XWiaziogAYsgzw1HFwhhWxU2q+7HBTwRftKl1LlLV4SAjROccqwzSxE1Nxd0pb3HZZ8zZUNgaMpYUHUvGlky7mSLE3c7ZR85feO6Zm7du/svL/3L1xsfGmMxAq92E2B08cfS/+e+/t+KTt999519e/fnhgwdb+2dbnLqpFjScRCae6VIr9gYhjqKp1ko2XMkSasQzh/ZP75t1kRXVg4cOfT7/+eu/vvz+hx9M/+JVzjyBPvPN5x+/cKE7My2gnDdT4iAChaVuNSJulcugoxOE4xZ76fII1iSoaNnFaG3OkuaOxSobQGAFUIOEBgJ7OXPmzJkzZ1btQ6/Xs9YePHhweno6iqKgbgcAJeGp7mrJmqrRgNB8yTm3tLS0sLAQx3GpwjccDpeWlt59992/+7u/u3LlyqFDhx577LHz588fOnQoqE2EIFUQ1ms2m1NTU91ut9vtNhqNUo4CASxBwyIQoAqKoCqUPUIsImJojaegzW7ryeeeypKUWNQLJ5k1RmNMbMa4QefIsh/9eucqf0dB95g1vx5QwOTF5ACkhIgoSFjk7Sh4ViQA0kyYSTwwoJJFcoSWInTTtjUzNV1NCaleS5NN5bsMu5svBSChALAIi4dQkeY9iGTCCUrWsIobN/PZ2rOssNe7ngGhOEAFFWElNRZVlVHIGZA8xssIDMIIHkEQuHDs+BBfCp7zkWcthxZGQpjUNa88q3iLVEULadKaMu0ebHmyJjmb63rNJ8Qo+egPjs3nmy/KvMY+W98yfxCsOsy5TT0qGgqnuDiTusZvt+HVXBjfCoCKSKrBLRxauK9W7R8V7oaXZaBj3BU/ouQVoxNL6pSbvOP7CIBEIgqsECEiehFQdVHU6XQeffTR//W//OdWp33m4fNibJ8zdGzbAnoAACAASURBVIbiSERSztjgiXNn/+f//L+dOnVy/5HDzUbjf+q0L1x4/NNPb0zNzBw6dKjf6yHiuXMPrqSDFPXAiWMXW43p6eknnnjy889v/te/+b+FACO778jh/+V//y/tVvvoqZNHTul/sn+10uudffRhje2+I4f++L/9k/2HD07P7H/iiYuPPHL++PET165dW1laEub21NQ3vvniA2fPRY3Yi+RpJaEgtzjM7FkRBMsWgGtO5+hca56fWDlIo7u0PI7jdZijkg8s3q9sF3PqBgBgnc3jhxWeE6hzoDTMnCTJnTt3BoNBiOdspIM32uE1Ni4ARFHU6/X6/f7KykpI6lPVmzdv/upXv7p06dLVq1enp6fPnz9/4cKF06dPW2uTJCnrWJxzrVar2+2GmqVmsxk62xZfKQqM4hHRGgIKCfqKQYYw8HwAQBXVRqdxZupU2Zs8PyoEeZLKhth8AtCvh3E7OTKADAq+VDyqx04yAASyAAApKBT2rofUA1swDYigco1tLwfk64ndfUkhIpFRVRb2AMwSurYhkRchZkPa4E17n460ezeCbq9c4muN0GoOVMKEEmqMPPs0E5bc24OoUIg9lHoPAIIQuknnCUYjLxzqFsHy1a7PGjVq1KixNbayZHT9tTb7GBkS8Z55OEwazUaj2UiSJGPfbDQuPvHEQ488wqgMmmV+mCTGEHmjKoIQNVsPP/744xcvIuJwMFDVi089/dw3vzkcDpLhIIoiQwYRRfU37777r//26jtvvrG/O338wIG7N2++9sord259bpztzMwcP336iWeeSZPUe2+sOXf+vIh49il7EXnsmaeffuGFpDckkagRf/e/+1NjrXUOANI0E1bPPslSRCKkdeaVEXX6qlEQJyzEb6pUR0QeeOCBTqcTGFRQFQ/Je4gYlsAaW3aV3yTIRRhjbt++3el0AgtKkuSjjz569dVXX3755d///vcnT5589tlnT58+vW/fvpDdBwCh8KnVanU6nampqenp6ampqUCWoCB1AIAoOdsRACAIGSKEIAoUmkEoh7RqRFVkFQQkRdJciEBFFSUUy62KxI5hdY5qFdl9cC6/YjBgSsAIAECQd6slQFQISprMwF4AFFJU8GSEDIGqoCCpIQVVr0R1WQoA7Ha+BBr0wQkRCckYa8g451wUhVCsZdWBh43bPCPCVhVKNV8CIfGOmVORDAHVkAp7n6XZMMvUs2cVgZHeQxFfQgRkHFWYFX2lIfAlCTHhnGthQaJQISg9aSguLnt/3A9zWY0aNWrcn8i9VAiAoyqadZLu1pNf3KRvRh4u01BQBxmz9eyiCIl85pf7A8QhEamjIafMErdia2zGoqpqTOKz4SDrTk1Zsikgs9ckWej1ACCO48X+MNjugDh3+PCjTz6xuLhw48Or//AP/2CM7Ux1Xnjp289+61snz52NO53Ffj/zHgA0S0U1TVNC7HQ6KfjhYJB4P9Vqz38+n3o/3e1awcEgE2ZjbJb5EJ8xhTtvfWD+G1cvHD/CY4exXI6rD+nkWOXLD4Tk1KlTZ86cwULTORCkcAy/qMv/s88+e/PNN40xs7Oz77///nvvvffGG28kSRIiS88991y73Q6tnwLFiqKo1WpNT0/Pzs52Op1WqxVkxKFClogIQEkBKUzkPjilUUG8J3JKxKBC6hEYUPPmV0CFDAQBMBgGK7DaPlv189YpYRrZChlAssdtBgUCIAMEBV+i0K1ZKeTsWBIkhjyex6gI3oN6EUFDaAPD2vMWcIHdzZfyohhEImuNsdZqES2XzANzZnnFplJ2LF9vG3XGypZAFZcpMhOosWQBHWJMJjI2YnVkHJEpen/QeHL3Zokm28bWWZM1atSosVexUSnbjsbo0VqHZLznfr9vrXORc84Rs/c+Y0/GWiTnKHJOWLM0UVVrDAIqc783EPaGbLPZQoDlpZ61Zro7o4LMnllF+eD+gz/4wQ+ef/4bd27fWVxcttYeOXJ43/65OG44awFQVLM0M8ZYa3yaRi5qtVqIGEXgM6+ComDjCK2xkQUFFvHMQMYY46KIEJlZuCx/2e5hvH8QgkghphReRlFUvluJ8Kz+gdW8zRBQCs9DyKjf7//oRz/67LPPms3mhQsXms3m2bNn9+3bF/opBamJQJY6nU63252bm2u321VhiZIsIaIosQYdDVJQQCRDqgCi4BwCWlAFNIBl3n7Bl9AAAoAFKp3c65Ki1YdlnWUONsss2iNAKRJMqUrwSw5KRJwhAEQRoAMAEIYMEbwKYKZgAFzVM7Cnsbv5EiIZE2QqAyXSNEuzLEMByESR+m34tOs9bUiQR6GLTb9nZ3d716GRyqFFbmUqBshLhBqpj1ibSg1Vx2I8G1In4ASMAAgYBQQwCEZDvjZCHk0qqlwRitaImMeesBJfqtY4AVTI1x4f/mrUqFFjDcqYUiFwXUTmAWAsooLjxUujvuA6WnldZFlmjDXWkrFpSP0SCUYtWRvHERpkztI07a/0CCkyLqioWbIubjob9Xs9ZvFerXFTU3NZli0uDowxzsXeS7+3bIfe2ejYkROnTj6gqstLS5n3U+1pZh4OU0KK49haJqTIxcHoyzK/vLzirG02m865Xjqk2JG6fpYSoHGu2YhFlT1nnDcmIjOeUbJe7dlG0Irzbiw6F4JL2xHcnQyqGpLfmDlElowx1SVZlkVRFNLzqh8sBXiCAp6qhnjU1NTUzMzMwsLCp59++tRTT337298+c+bMxx9/TEQrKythtXa7ba0tpfAajUYcx0Elz3tfMrSyKxQikYkVImHPaQYizqK1VqwuzN8ZJn0fCpoQGYRVFBRBCr5EBoDUAEcb5v6sDYauPeib99XcI0AVk4lhGJHPssas+E9D3IEILLKmw9TZaHb/gWa7DV6BAQzW6XgBu5gvacF2mL2CCFhhDpnNjWbDOmeci4xF7zdhxwiwevRcZ5W9fuNZwFYUt0yUgRf0IBl7D6LOGEOszJx5dIK1F6JGjRo1vo4ICWDsGRCiKDJEqpokyTBJVDX2XoDDVOszH7koiiIVTTUlRGFZGS43Gk0CyrIs8WkURWSot7xCxjQaTSKyxmRZyok3xprAzKxFhYZ1KUCaQpImWZo2ms1mo4kIWZqt9FYQcarTCcQs85nnbLo7DQB3l+4qq4tUnWMRaywFGYJdjhDMCdl3pb5z4D+IaK0NTGmVaplWAABl5p5zLkmS27dve+8ffPDB73//+y+99FKr1er1erdu3er1eoEsxXEcmtiGTLygXV5+b4gphb/VSFNooxs5F4QuVGR5cen/+j//j3999ecDn4IhsOSVWVlVQYW0DDEBsUOJUKvUfgyEsLqoZoxEKagFsHvbeEMBn9q+pwwKLZex6hIFIjSY67hEFHHKU+3uN5/75l/8xX96+NHHgQgQkPb2UaxgF/Ol3Mejyp4VFawNVY+Rc2LNnWQQLSx0l+0f25hw7D4a6U0G0VXeXC6cQPc6uWbCgTXeGtEs9QPmJJKMBkmH3LRzHRM3gCLGyEPEEDHk3iMAC2AZQEJrptL3lseUyk61W/nksIgs7frZrkaNGjW+POial6uTmYsI/5p86cI2XTfQhNhoNlRkmCbpMCFj4jgmY4xzLWuR0BmbDgaGwDnnrfMZ+/4A0URkjHGqmqXpymA5jhqAyCxeuNNudhrRykqmQqAUm1anY9M0HQ6TwVLfWmuARHH+1p00TaMomp2eSbPUD/0g6xtDpNiOWs7ZVrPZHwzSLBORVLKBTyMXNVpNVUAkFuXQQZ0gSLCOfup4vtc6tvkGE44W4kXVjIcvY3Iqpe1KtoOIQdQq8KJAe4K6XQg0hQS5VcGlcs0qawqBpuXl5TRNn3vuuT/7sz979tlnT5w4EXo9ee/jOAYAIorjuNVqtdvtoIYXNPpCPVjJlModVlUB8AAASGCUjAtvG+1Mz31w7eNf//pt13Bxu+kiK3lHRyVRo4qqRpRYhhZ7EXnaIKs/1OXQyDALGSlrrPo9bjAgKBhPKAQATBKOtqIIalDuQkQAEgZrXNt1blz/zJl4+tSZ78cRxJgJgOx10lnFLuZLABAaFQh6QSQiZ50xllkW7i4uwnUWjYfZAW8c4nq2dihfFdmigKnmS5AS3oowbUaI4iUB9W2LjcEgXekxRcCCLEHZhiTXXak+oL7fatSoUWPXQlWTNFERUIjjBgSptCwz1lhjAWGYJJYAVTnLCNHmZS2igiyZgjbjhigYawEwy7xPs6ExcexUvTWESIP+gHmg6pmVDIEoIjhjIxfFUQSA4qURN5bT5cFgEBkrANZaQlpZ6bFnY0wUR5Ft9JP+MEki5wyRqCqocw4AhEVUdkUORLXWqHxSlgkFnhBYU4gylY2PgvxDWZ60drMBzBxS+NI0nZ6e/sY3vvEXf/EXL7300szMjDFmZWVleXlZVaenp0N2X6fTOXToUAg0haBiSZPKOqiRajkRIQaNPEQM/DyIidvIKWC3M33hqQvffPH5I8ePiop1ZAiNAomAMmaC3vcdLLUps6NKilUqeRjMsnHbbZwjyn3hY92BtMB7/wmkJsoaVqyCMqkAC0nohyWkgmCIiKz3Amr8gP/+xz+5/uHHUbvlmjEQSl04Po77nS8poqJRIFBEUcNimBVVFVgRFBhQbcQKyMqpN4MkunuX4Br//vcskoouICXDAQAYY40hJPJZpgqNRpx5FvZIm10RBPSV33FfOYRQnUFLqOpQEJVVlwcDHQzh6LHE8oKmHqOlGAYReBAUjBCIEEGMAUGB4NNUkODiq3bxQwjnGTDEm4J/ClEVAAjQKGDuO5qsfqlOaP66YCdO5CYiWX+wfZgQ98Eu1AAACEMcwKqIRcXhPXK/F0tyFVAExdBTiYoiznyRalD9JUBEJCBiBUXK+y4RiUgqwkiMqKgIgsLADMJoDOXZZwoAqFQ1HUvOkLuYQ6YOrnEcjmXu5AUwhIVUQGg47pXZAwJ7T8aEJrqIgJivA5KP9tYihQ6ZKkiKFlOfsrACCygqghEvCkhkiYzRINKEYIw11rHn1LMABOlsIEJVUUgz9szh6KkisXEchVa9ShgObchtQEWSELAooyFrfyqOtVusauFVD12eJrHq7fCSBMO3hQpdzEVgBUmJQglvubDqTsS8vyriarWGqp54SVSC6kNYWLIjLdo0rdV7qKbMEVFgVlNTU9/+9rcvXrz41FNP7d+/v1Tbm5qa8t4T0ezsbAgrzc7Olr2eQjpfNaxUfZJn+oEqCAIaICyOnDCYONKmae7vPPDUQw899mCiQzECRdUyASIjsmakWQRSEepaM/erodGcvlYZIiT4TYgJTYZw7026ExOM86homUgJQCUU16EWfZRAkUAABSMbtVxr/rP5f/q7v8e0b3mIyQAAHAKY/G5hZu+9cy4EMANvDxfhPQgz7lLc73wJoFCKD7ELyU93yCjwSkSkhN57Bzg91X3pmy8cnOrOTk+z98ACCMzp739/3Xsfxw3nrDFmMBgwc7vdzjIvwsaYTXxOCDD5XbfbwaCJMIMQEiEgEbMMhsPM+wMHDxw/ccJNdwagQwcpQeY9iiAikLCwIImKIinZICie59FCrvIQ0iPyiULLGuR8AN3p6rE9cVfvBdQSpwBQX8/3CTbSpht7XuQir06Zw7JlQjUeP/5AgGCdBId9zpfUa97FAYL5rgLCqJrrgmmYLAsNCB3tyJhvvhiRt0i0KIiEsEAYvLGgCQqWbNnnVotRvmQCAODLvHcFQCCDACDASCDKAGidQbSQNzQd9eHNfPFBxMwzIBkbRAUgOOCILACIgmSsChZtaPIDXB6Vcm+24SXZykYeVxGvLi8X5a0yRqdPEZVQ8743AuEl4aoksrUpkmsISahZgvFstOr65Qpr34Iita/sp9Rutx966KEsy6ampoJQXmBBU1NTSZLEcXzgwIEg8BDyAMNGAnFad/v5vgEUNlohUVe8aazNgFeywYr0V7Dfl14qmbCAAiBZsoQWEQVYvWx+ujY30VHBbt5ZcyvI5HwJQ0uUCTEJXwLDWjhEIBizChBOEaHxqfjEt6OmaVM6HPSWFpUThwKcAUC4xNgzUtlveeyC3CM0qcT9z5fWRzjrVMxCCKgKjUbjpe985zvf/na71fLeK4uwX15a+OWlS4N+vzPViaLYWjscDrMsi+MYinbom531TdpS7BmIagZM1obEZShuG59lQa6HiDLvoyiOooiIMPixcsqjmDc1r1GjRo29i51Jb9l0K1/UOvsK3A7r7Hx1UcWhtjnWW2Vt5Kiev9eilCNX1WazGUVR4EIhegAAQRDv4MGDc3NzgSwFKTwoet1ux1De6DoNDFJVRERUVPJQZVhY5Pap6BZ0R3WzbjDr1mB8IUyezJcHiSfCRB7jcBByj7+iIguAIgEIggoDEsXN2JD16lnZxREQLa4sX/3oWoSOPVPs4mZzqjs1NTUVqHgob4PiStjCfv56YbfypYBw5oK0pc+yfn/QiGNrbZokqmqtiePI+yRJhsMkaTSbxuStrw2RihARFdqam3xL7chWAkITN2JETJI0S1MFcM7Fjdh7L6JZkqRZBgBhHLVhSCUSMSG5TgBknYSPGjVq1PgaYJsWwx8iLLqhnVeJgNTY4wjpVaH8KcSLQgIeABDRiRMniOjAgQOhHW2wiYO5vG5c6wsDi4ROVQUJbmsCUEVRwWoe50bYklaH+OJkmPRe0cn50qRQzQ+VlGL3KsVAJKHUjJWTNE18JgBZlt25u3D12rXBcj/pDVtTnQNHDh0/cSKIyIdtlrmgO3Mx7B7sDr600RVX3lGGSI0RURbmhIeDgTEGVEFkOEyHwzT0rePBsIxHSZpSyAvf9KaoJxcAENWEfeq9czZJ0iRJhBkp1zM1hkQkGSYq6j0PkzQCtMYQiQKwZwBQIqD18wRq1KhRo8YfEvdnIbduOt/ehzu8SxGU8bz3zLy4uJim6ZEjR8rogTHm6NGjzrk4jkUky7JNlMrXhYKGYrwNV1AVlfxR8CUAQEVQQQUBkc3V37dyvu5IJn81k/DeNrD5Jb0NTBZfCumjCAAgqApBoT3c/Yionn2apsQotsHCZI2NoyiOoyiOXMQRA0CaJOGqKFM9S+a8dyJLAfc9X8KxXntaOs8QAICQECDNMlU1iNZZUCWkTrcbRAWEBYhm9+0jMq1WK03TzHtjkDAIYm7raq5lAkDBgDrnrLXOxa1WSxUBIE0zEbbWGGOnu8TsZ2bnyFgA8kG4Eigf80LofFNpjS8d9XmsUaPGV4Gg7gCFAEO+pNKeeye+Ii+F0vI5rH7AmiATQmVg/KpHyK0TEL7qPfzagIiiKOr1epcvX7527dq3vvWtU6dOBa1wIgpPoOiBG4JLpaw5bKNwpWhKH7Qv1ryNIZlOStU/DW1HFFFFFAREN8/H2+pK0A2b3W4XuhN86St3uSvkHWoV84osHb0DQEARObVRHMeDho2tcca5qNFsNlstEUEiKcRCQk5mtZBpmxfD1wb3PV9a93Kr1MwiIWeeWdAYa+0wSZS11WqKCHs2hmbnZh+/cNE556JoOBh4ZmsNIYqUfdU2va0mldH6WgARCBGg7E/noogQh8Mk81lwPCCA91mn02212grqmbFIkqYgC7RZsnGNGjVq7AWsVXy4P3Bf2Dxb5HrsCjXw+x8hXEBEi4uLb7/99s9+9jPv/Ysvvnjy5MmZmZlQzgQAZUMnKIQigvje5DuQ1yeJFvGloFxNqIoqQVdx8/qlra+EHcnHm/Rm1a/cfmRQUgRQARQQhVJdBgKrZWZEYBVWTrPMe6+gxpgoin3sWUYS/CVfstaWzDkQ7D1CmXYBXwoYOc8qbrNwHo21ZMAQBREPAfbeB1VTQGDV2bl9zllEjOPYOkdEIkxEULg4NvtihMlEVr4OCN4FEfE+YxYiE0eRsSbLsjIHWkE585TH9JmZQcEi5U4k2IH5eNJA331ppdSoUWP3Y8uxac0KWEp570DqkFZNMyzqQ8ooU1WzrjQBEbCSX/HVe8Lvgx3YIyhpj6r2er2rV6++8sorWZY9++yzDz744IEDBwI7gvGcq+0Hl0IyXogXrbqwiqtRA00SFUEREB1dv0E4UbZIztzqWtmRa2niXLrJi7YnHRxQQQABlCEXE9d80MnFG8kYRRXgVDKv3it7Ec8iAghEhqpdiUOksRQLgT2Wlbdr+NK6EBFRtdYiAAuzsLHWWhsUV9AQAGaerXNIxOzJmLjZVJHBwBtDZPKI8yZfUSfjBXhma23TOhZWBSAsco5RFVgk8CLxnpkVVEXDfcUKqmHYmDSwXaNGjRr3Jb7Q4DamGL3Te5JjOwOmYq3LvxdR5lMZYzqdjrX2vffeW15e7vV6/X7/oYceOnr0aKvVKjTsJMQQQpX/F/iWDW8K1ZCPBxIeAqIKCIKAolIIxW/GmLbcjx3h/5PFlgBBJ27fObEzpSg6EVRBkKJpSwg4IJBF9MqpT9MsZRFVYeHMZ2mWqSLRqNQt3yHE0P4rXBh7hyzB7uBLWDY2LR+5ewGRUHI/RDDeTbixQyQWQREQMKRgKgAaw8U9z6GXBcDm8aUy+3MvoxwlkYgQykbjULiacs9T0YwbkdAAGQLEvB1wGJ8RMaQVE40ZCkHCRUVVVCv9rrRs8IGhRnSzndz6Z3yxX12jRo0aOwIs/5TDqQJioaksoKpYdDkJ6yBiSJmA4mOjwbaovF1lroyVKq2tXyrtpOJJtZZptMJXia2qYr76PdwChZmeM40RxRj1qwrhl9VMudQxA4AiujOaXsPyEBe6B1GycgtaNFAJGxERa61zbmlpaX5+/tKlS7du3frkk0/+5E/+5OzZs0EWohRDY+Zq8tVmWt6b2dC5ukORkccCLIFbYIjHMAHIDiglbMdy28L2U52IrdCXr/ewjQzV4uJBDflZQuViJAAWVhEKqoQESIQUVD2AkIKZBwVNKi8bqMQb9w52A18CgNIjUrS+VkAFRQQylN+exSgSDHc0RXTXUBiI0BgACIm5ZIwisghslY9X8yUACEdXRTP1xTJVBSRDqHl/QRz7QLAPtDLeBMIUkkDWSerVYowcnY5cyaW6yibYa7dujRo17hdsPfaMbEgEkDw0H0o3tHSlVztCli+19BGXldr5rLVZctS24kuQZ+XdL7jv6dDWCB4+BVHg0E4IFdZpQLiBHayjKoHSNg10pZoXt919qXQXrabSlf1qkyQJ8ncHDhx47LHH7t69+84779y4cSNN0x/84AcnTpwI5cpB7CGooqlqUIDYhBTlOzyW77nqfc2bKwsziub8i1QZBBRQcVJbfHvX/1Z8afL6pS85H28bdVwaTkMQ0BixckQAFAhy4sBoyRKEvDsiRDRkFFVEyFAoYysrl2DNSLVHsDv4klbyQPNQRO7EKXrWau680epokscmxqaD4mSXQQwF3ELvYc9dFOsDg0uhfJn/F2JKa45SfrJWjxVlkHydg7rdCf5e361Ro0aNLwWbThI4iuXkER3Nl5SFncXcBeXEFlDOdVr+K/6sHu7ymNIqX9SaHStz8KpPYL0N1rgH7EAOWJ6rMZbHEXhLaaRuzlXWZRpV7gSVMgRmTtN03759L7300sLCwqVLl65evfqTn/xERP70T//0+PHjzWYzfHU1tnDPtrKWyXiaB0oFBTRchAyAgkgQyp43K2HSVTfK2hW22kHc6ldMfkfIjvClTX/J5lmLAFC2zGVVIRBSHRWgIKGgWgguGAy1E0qAqIBKoJLndFUuvL3smN4lfAlgjBkXC6EyHYzeqjjM1rvix6MWuEX+Je6GHIA/BGR9nqNrnqyLMrRd3JKlXVAYDBNj797ENWrU+IqxmdOtCLKXUQbKZzMkQFIgHV+7sARHw2Twx2/+FSPgGr/4Rm7y6vJ6mrtPEJy/BV8qhelUNTSW/QJb2rhXUiBgURQZY4bDYZqm58+fj+O43W43m8233nrrxz/+8dLS0ne/+92HH354ZmYm7EyINe3Ej4ScC2rRZwnL+yRI6aoEo2/Dj2+5/S1WWJsSuXoLE9t+fwC9h61/ZsGXQrWDFCOJAACgBRVFVBBgVVGUoE0IGgYpoFH2bj1C7Aa+JAXtySeP/PoozPfK9aKVhOyCMuHmV3x9BfwBoeP0dh33aI0aNWp8vZFnMG937dJTmE9rCqPp8J4Hzdr6uW+BREHKqhRaKHWcq2VIm21h0+hTuY4pwMzD4bDdbp88edIYMzU1Fcfxa6+99tOf/rTX6y0uLj799NNBNK/sXTt5nEE1yOKFvwACgKASVB9AQUV5q2t0s+Qf1C3YTp6LtMkWwl7dcxcnAdkBPfF1UjnXrLDJe9UXpUxm+auDyLgnIA35eirVoWlVhV09ZuwCvpRPF8XcsCoVYZUTrfKZbZ3bbV3LtSW/QxivTB75RgqZ0k3D61ueh0lTjWvUqFHjy4KWWXcwNpdB9fko9W7kHJQis7zyuSpyD7SusW7GNl4ZHisCWWPr17gfgBhoRJ72FuCcgy17RW5r4/lVEkJVoQd9SZkQ8dChQ61Wa2ZmptFovPbaa5cuXZqfn79169Z3v/vdQ4cOZVmmqqGcaZLdyMUeRFhEgKvXJyuGHi66KSPb8vtx68I81U2tinyvJqpfV5n8xtrqV2xGmHQUIELQUCypozTgcKUhiCoIaK7ijppHpVCRZIsA157C/c6XiukDyqlCQRWD0kcoTcLKqjlwNLFsQ8Z6G3HbPY7JlWq0LE8uAoOlQbD9us4t3EVbUuTaIqhRo8ZXAxzPE4dytKqEjLTwIZV1SsEZrGPD5NoBszBpxhIxKhtfy48qElmrd6vGJJj8GCLkdg0C9vv9lZUV51zIrDPGlIVMm+3D2gtkfH3vPRE5527fvt3r9YjIWtvv93u9HiLOzMw8+eSTURS12+3XX3/9N7/5zfz8fL/f//73vz87O+ucm4gs5dIOGhqkhgcEww5z3l/IRW3Kd2QrGpGXXG+5OxvH4gCUjuJ9CAAAIABJREFUJjijIaOSvuy7SjdhdKiACqQIAKIcWl0JqhbWFKmRkDYIDMq5il7+AFLcMry1p3C/8yUYc8WN4hHlkIBVI7z8iJaevK3DoZOTgb2ASY8R5sd5Vf1SjRo1auwxrBMKHw2KWk52ReqU5qJphbGZD6f1zPW1RR4LkA8//PDf/u3f0jQtE/NCRtzmgaZVZUvVlcPyELyKomh5efny5ctpmna7XeeciDBzlmWNRuORRx4xxrRarddee+3atWt/+7d/CwDf+c53jh07FrL47p015WU9mguLF77UcDWLKuZHYPPYzJbBIzCr0pDWL8TB1U8rYVjdrDfn1lBUkTEDNYiSbZTxVvlkdY17dwMX5lZwT7OSqIQGwQAAAmBQDaAKKooGVcfcRROO3l4UwdsEu4AvQZGggFrOJSOStDp8pABrEvO2wKbXA+mWUd09gZ0WvchNgrwHfc2fatSosYuxHTWu0WoIKLnhhmMm0XoJdwV9KrWH1s+q2BylRxn1C86PNf6w0CJAJCJXr179m7/5m/n5+Xa73Wg0VLXf7wPA5qILW2o9E1HQx3POraysWGtnZ2dDf/lQK9Xr9ay1Z86cabfb+/fvf/nll998880f/ehHSZI888wzx44dO3z4cBzHW6eGbDSxa+jDJKWcX64CiUhF1Y9MlglHq/TBYDzqus7Tddzu28182eD+V1QZNx9X5zttyzy9d9uLCjlCgEKRMPdXF6EHQFUBpTyCXTwQEJXWmNd7Hfc/Xyp40oj1B5KOebh0/QuuUsi35URW699tCxNNrMGFVHhHR8DQ33v9byoyU0YOmq1KlOrJv0aNGl8BNhh6xvx3WkxbwSIBUEURVMFCtzdYR3nvmkLQCsxoa6FkuxDdynObIE+eyRP38nLf0Lgp/M3bbhS5XuOyslJ7BO8J61SB5VETXBX9q5ruFW/v2JkYnRLVULAURZGI3Lp1y3t//PjxU6dOGWOyLAtdazfZsSqNyaM349OuMSZNU2aO4zhs6ujRo6GEyTkXSJT3vtPpHDt2rNlsdrvdKIouX77893//95988slzzz33/PPPHzt2DBFDSKranSn0yVRQAS26Lxe/MXRdUgVQAWXVDMSDhNsCwwpCxXWum5hmuOr/NRDMb5PQUkhBRSTcXKpQ3Fq5EyPcccysKkRkrRHWjBXBlNwzHEKkscCdqiZZhgDGEJEJgTtCAgyNs4JXWEMnagVgYUAgMggKIqiIxUELxo0EyxUx3LIhT3ELwQcs6xtXI28DrMioQwKh3DuDgIGSIiIjCIHNjw8aQKtKqorKqB7Ebfy9ey36dL/zJURAFEQBlDxYqKF4iRQA1Ky5TIphaItavuoHtuEj2fOY+BgU+SasoAhGEYAQCfO2ToEFIyEUYrhhmMeQ15ybAJvvxY4JfNSoUaPGF8E6iTulpVhylSp9CuYRCqP3yFx08wYCIMLQDIXZiwgo4NrE8sIWExVmIRbHYlmJ82a2gihEiqQCgkQCRgBzExQBcpYmqEIKAEbwSy+1+NoAK7FCgDwDJm8oBF6VVWzeHnTkDSxIVJ5+hmtyYfJ2WKIKSobK3LkTJ078+Z//+fPPP18WMk24+6EOqgQAEFGj0Sj72DabzTRNV1ZWWq3W/v37n3766dCx9PLly7/4xS+CMsQLL7xw5MiREI8qjkoh0YCoBIJCSDQy0hBVSQSERdkrZ+Az5MxI+fNRgZRJUSHwpi2x4SoUbhpVJDUGWTiDkMqIqiDKogKgeVMrQlRMNRGR2MU2Nj5J+wkTNKyzhgxinlpHFKqBgJmdtQraHw6IqGEja22apcziDAFiKt4ZY8kmg75aJGvQkFcUEItMgAhCCkZBhTH8ZABWBUvgnBKqCKiirLFs1lw5UBlVVi1mtcDkLaxYEEKraAWtgBEkAUFMjYpFAGSfkqUYIPYSqajhoXAimUGHiFS03glneQ+SJbj/+dKmGLtCCmdPHS2qUaNGjRr3O3Z2qqom7hTZNqtzf4IJmbO3UYyqxhdF9dhV9Ax3Aog4SpdSBYAoirrd7tzcXEiB+0J26rorB2O3bOsUnpTPy1ZLZcWUtfb8+fNE1O12r1y58vbbb9+8eXM4HH7ve99rNpvWWhHJsizUNYkIs0dr0BTfHXgiIagiAiEiAaAKKAd6GPZKc1lrKrJOJqnQQyIlElFhn2SScaqqaAAJESDsm4CE2A8IsmdmttagIQ5yFMKiHk3OFRSB86MErJxl3guTNWiNsRYNKapXEWVgENU0TaJWqxFFw8EgSTJgHzdjF8dJOhwmiSPTcI5Y2WeODIh4ZlEFQ9Y6tSZhZvagYNYoLlTjwcUR3oAvKbIIKHgBDyIKKEKiIqD58RUJ0niYq+MF8Ydiqzuh7/c1wm7iS+OJ3vnz9cf8+hTXqFGjRo0/CDakHkVODZaJ5MXaG9U87OAuaeU/HcvqGQnH6pZh+72E7RyJMk6oWCRY5h/doeOIRYJY2K4qM6dpmqZp6dqfsPdRGbkq40tQSa8qt09EIpKmqYh0u91nnnlmampqbm7utdde+93vfvfDH/7Qe//iiy/u37+/0WhYa8O+EZGCQkjLA1QFlIIyhTwSQ4A4KqfRinmeh0xBQGUCtoQAic8UFBFFVYSR0FoLRRdgY6z3WZJ6Z23kLAL6zGcZKxOIT4FBsdFsGnIKqurTzGfeMwsZMsaSIRcToQBCFBGAZj5hYRFBwqCqZxwmydAwtFttyz4TDwyaCTJqph58JmRVHZiGa6ioJe9F1KCIJsMkEwFQAhTUUq9DAUCAKsFmgtwBQpWkvFHdgqKIoqigCougikrR9EpRQSAPZUMZIc0v5bzOkSYroPqaYTfxpa8G9VxSo0aNGjW2wpdNgbaFnJKFfRkplAcrv3ieayeN1dhsv7HD3obmdWYlHx0FmHRkr947ys0DFDX6lUAQFkxjop9QqtJtsJ3QkSlJkiiKAo9i5iiKzp8/3+l0ZmZmfvrTn37wwQc//OEP79y5853vfOfhhx+21g6HwyBNjkSCKqCFrY0jq7uwx0MqqYCIhny8IOKGooA6Ylj3DBYWUBO53DlgEAyJiGdWzb/UGEtkQBGRrHUiasiBkvfeWmsoJKyBqqJBU3AHRVYRQETnbGTYS5plWZaJsIsjMhR2nKzxvbQ/7LWmOoAAopn3otpoRLF1Pkk49SBqiAZ+wMwAioYQTeJ56DNyLm5EysKZl3GFlqqUukBuo1YXlqtLqNQCkIKKiuYdr4wAKjCCoCiJVOQKtdwKro5R73HsAr5U6vlUC5LyiPW4eH6ZEDyWmVDPATuCyQ/jxJ2u6zNZo0aN+xEVSYcyN6YcrxBHIaZy5aIocydTufKvzQWac7JUmQHziFIR31KAXNkZco9yjW1wHc0zlrAgobDqoO8oba5ymzIZb3K+tGrJqnKUIOSQZVkURdbaIDKeZdns7OypU6cGg8GHH354/fr1K1euxHF8+vTp06dPB/m+yneE3M9Qk4cVW01ZODxERIAZQ52XooIikioock4A7vFAKgCgoiOKDHOWphmI2tACGDCKmgRgjSWgZDjs9xNUbDYaDeuaUQyAvayX9rLMZEoa6J8hY51jEhYWYRaRUEaPIJ6VPYI4ayJjPHOWeQW11nbabespSdKQ3ejQJv1UUo6jyKFzhggUVdln3rMxZK2zNlL1mWrmWQZDQiQc3cLlwFK1b6ujDY4vDBl3xSUqQTRcVAlAAPL4EqCq5nypYmUrBKmIezsDX0/sAr40hq1Gifrk1qhRo0aNPQpd80oBUEWRxhbX5GiXQQuR8RBummRTm1RAVcNZzrlSuDxIRCwuLt64ceOdd96Zn58Xkenp6UOHDg0Gg1u3brVarUajUYa/FLHsQDsyy4gEVEFEhEFERECEglZKruhkFFBRESbUsmYVVlFBFp9pZtEqqDXWubjVaCwvLqfDZKrVNuhIGQEi2+it9IgpiqLYNpGNYAbGq7AKM2QIKCqhRJ4MOWNUYTgYhB9oDRGR91lIX7TOxc6Cl95yP/M+ajdcIwawiaTZMLNgnHUIgMoGyDZiABX2qefe8gpENnIxiPfeC0pVkU8rjCg/lVX6pJUVincFhCA/7IUiSZ4aGZ6IqBoRKGua8o/nY0RtUlewO/jSqpDR+qjH/xo1atSosUdRWk3Ff3nWWC4urlpWco9iXRXqVM+gANs6Coij+qWqgbkzHYRzBeqilKga+ZmQJm32peM5fqFWKqiNe++Z2TmXZdlbb731y1/+8s0337xx48b+/fsvXrx49uzZOI7n5+edc4cPH242mwCFiPW4Mb/2KwVYgkBC+N0AoMB5qAlEN+vJuxWQxfuMAURZLFIzjsSrZDwc9nq3Fy//6vLiwuIjDz1y9PCRVrPtnPO97M3X3vBZduTw4WPHjrdabRb0XlWDSjMhoYJyaOcKaNGIqmRBNA9DoVSWZYao4WJCwwNZXlzmQdqamgLRdJAAYqvRstYu31386OMPPvv4k8Fyr9NoHj1+9PjxY1OdjgFcGg45w8ZU21jDElIHq1G7jWXxxmNQ+XMNutIqCkX2Y1Byz3lpXr9UJEaKqgCEh64WgayxG/gSFsIp4exVVThXJRCMcary6qlP+E5g8qO4AzNJfSpr1Khx/6E6uGEl8XhkUVe8vqOnuE1f4L3sUVm5FPhSqGiqlINXewRpZWf3OrY+CpinO62z5pdwBKt8afLKpU1QkrEQX0LELMuCPl6apnfv3r1+/fo//uM/vvXWW71er9lsvvjiiy+88ELobLuwsNDv99M0PXz4cLvVImOwEHzI9R5AwSCIIAARIeX1S0F6IHxtvhsACMQ6MTkkIQJQZvGkaNAwp9nQJ73hwvyd1/75F9d/d/3Oi3e+/a0/OnP6jAX6/OPPXv3/fr60vHzxwuOdP+60j7VQwaIx1lpjo8iRMSKSJEmappyKkFhnI+sAkIgAgUW8+EYjYpbPPvv8ww8/zNLk/EPn52ZmU+9X+j3PPOUad+cXXv+P1y5feu361as64Di2R44c/cY3n73wxIXDRw93Wt2l4cowGUpGaZag0ciZ6jnHdXkRrM+XSJGEQJERvIiAgCiqkoAXUCVBEsrz8UYAVUDF0B2qtrpG2AV8qcbXCbiht6lw0VUEb+t7tUaNGnsRX8gqrsgD5LZT8Irv/DfVyPMbAWDcTN25zYsKCiqGIqKgOBdFURzHzjkoZOsCncj16MZ5VEmxtiRX5QerBImIgt5D6I2rqisrK++///7LL7/8+uuvI+LZs2fPnz//2GOPdbvdOI5v3bqVJEmn07lx44b3/vChQ92ZGWMtgmJe4xW4OY7iZcXuhYhHXiwDEJps5vl4E1FDVNVcpJsFyRKgI2McmQamjVbDN2AJ1PtOqz03PeesnSc3uLuysryYpVnsolbczMQMk96dWwvLi0tZmhlnFLTVanU6nVaz7WyUZunN+ZuLS8vGmLgRt1qt2dmZhmt9vvD5e2+9+/Ofv7KytHz3jxactc2pjqoigPfZR9c+eu/Ke/1+/+zZs8cOH164dec3b7yNpIDqlZvTHQavYo2zDdcQ8Sx5b7dqJl4lQFyQ0vKcjus9iEoRZeJQpCSqHPTvBJgwT8AEyaXDMW+dDfXQsAa7iS+hjrQfyr86/nId8r0TQgU1JvQ9hk+TIcwTZlVFIW9rjWH0RxFRkVzyJcz2iIA0qlOuxTtq1Khx32EsvrTec9Qx+6b8GGpuwagAAiKR5grIAgpIhIgCqioY2slqzoW0UBogRCJCIgBI04yIECBNM3AOCUVUFUIJRFWhWQsbthR0llrwYfsEqAzcrfo4ogIWqg95I1RCKh9Vze51iogUIFQoUS7wEFrBpmm6sLDw6aefAoC1No7jLMuGw2EoMQpC3t77wHkAwBhTdp6FgjVVJ08t9o+ZA+9qNBr79+8P6uFBHJyIQjLewsLCb3/725dffvnnP/95q9W6cOHCk08++eCDD0ZR9Nlnn6lqFEXNZjN0XgqyEN57MmZkn5V6D0Th0hUITEkYhJVDHU2IZRCacCRkItsNlVklFRFnXctFlHlNBTJ2XptgDZOzdjaawr70Pr9r0PjlgSVs27iJFpOMUl68efvNN9969+0r1353bWlp0baca7jzD55/+ulnzj14LurEV9+79s//9E9XP7iqBM1W6+CBg89/6/kHzz34+a3Pb753s3d9afHTu5f4l1EzOnvuwbm5/a1Wq+niQwcOPvH4RXpUjx8+Otedee2Xl975zds+9cJqjDHOTLWafc2GfkhEgGUQuBg3gmFUjTjBSHtkbE0ABBVA1JBiJ4IqqHnSHQIiMGCmIIwU+jMhkTFkDBAJgIws7hoAu4sv1djVKCJLe35OrlGjRo2dw6qkmWCJl8JWZUeV8rUCQKgN2bi6pMbEKA96Vdl3a5QRmECHAODWrVs//OEPf/KTnwyHwzRNW62Wc46ZmTmEgwKxCZ8NoSFmrmbxrfqKUI9kjPHeI6Jz7vjx43/1V3+1b9++8G5oVisin3/++b//+7+/8sorH3zwweHDh5944olHHnnkyJEjcRyHjQCAtTaEv6anp+fm5qa6XedctevulocJVjm4FYKa7j3bCqoSx5E1kc8S9pIOh0kG4MGCVVERIUa/wK//8vWPPvhoZmamFTf7vf6d2wtRFKkIIRnCS//+H//Pf/2xcWZ6ZnruwL75O/Oq+uarby7eWFx4YeHEAydfe/U/rvz63VPnzzSazeX5petvXmPPhORcZK2zZJFw0Btcv/7RgUMHjxw52ul0FheXrTEXL1wwinc+n//JD//ff//HX5hudOb0mTMPnJmZme37gaTgWpEnTdMhgBpDxY8qrpDxG3dMe7MIN+XPKwe3qLBbVbioxVItCvCqR32Sk/A1xK7hS3lwqYwvVRLByyfVl6jj790r6osl4CuvX8odUDVq1Khxn2H14LZ2sKt4hUdTE4JiTmwmnWgqnGlkp49iIBqiR6NVRMNHSguqjt3vCLTyWPVOqTm++WxKRAKSpml4OTc3JyLz8/M3b94M0aTbt2+HqI6qBsrknAvPAcDadYy6VbGsJEmcc865NE2Zud/vz8/P/+Vf/uXs7GxI8BORfr//u9/97tVXX3377bevX7/unHvhhRdCy9o0TUPZknMuNFxqNBrdbvfAgQPdbjeKIiTa6GrSINQW/qIoiCADaOBHBCAEqCA6WXwJNU05AS/eI6OAhQwcRpYsGLBoiYz2den6ysrtXqt707motzjIllJ30GacLvcX3/ntW795400/5CeffPLiUxf37du3vLzMKv/6L/96/fr1wavDOwsLN2/ezHw23Zk+88AD8aNxb3llZv/sw+cets6l/fS3V34LLfij733zsScfb3e6Cv72wjwIdDrthmskvcHK8srnN28md5KoGWVZBqDWEQKuDFbQOIiMWgABBllfy2HN87WXlRaOES5iegxAo75YyqCsKkCCIeEHBFEQFEGwji+txq7hS/AllcVu40vreaRGjRo1anxZ2IG5DcskLyymrVFIKfwZ61e7OuixI9puux6j0tkJthD+K5Idq1vegpUigEKSJl68NdY5941vfOOv//qvrbVBpM4YE0XRpUuXbty4sW/fPudcCCs1m80gzJBlWZlKN7bhIgkwvBwMBgDg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" alt="1572239-20220628171055036-2027660252" style="zoom:80%;" /></p><p><span>ansibleansible核心程序。</span>
<span>HostInventory记录由ansible管理的主机信息包括端口、密码、ip等。</span>
<span>Playbooks“剧本”YAML格式文件多个任务定义在一个文件中定义主机需要调用哪些模块来完成的功能。</span>
<span>CoreModules核心模块主要操作是通过调用核心模块来完成管理任务。</span>
<span>CustomModules自定义模块完成核心模块无法完成的功能支持多种语言。</span>
<span>ConnectionPlugins连接插件ansible和Host通信使用</span></p><h2 id='任务执行方式'><span>任务执行方式</span></h2><ul><li><span>ad-HOC 点对点模式</span>
<span>使用单个模块支持批量执行单条命令。ad-hoc 命令是一种可以快速输入的命令 例如对大量服务器执行shell 或者执行某个linux命令。</span></li><li><span>playbook 模式(剧本模式)</span>
<span>通过编写yaml格式文件组合多个task任务实现一个想要达到的功能相对于多个点对点模式组合操作配置playbook这个功能非常强大</span></li></ul><h2 id='特点'><span>特点</span></h2><ul><li><span>不需要在被监控端上安装任何服务程序</span></li><li><span>无服务器端,使用时直接运行命令即可</span></li><li><span>基于模块工作,可以使用任意语言开发</span></li><li><span>使用yaml语言编写playbook</span></li><li><span>基于ssh工作</span></li><li><span>可实现多级指挥</span></li><li><span>具有幂等性,一种操作重复多次执行结果相同</span></li></ul><h2 id='执行过程'><span>执行过程</span></h2><ul><li><span>加载自己的配置文件,默认为/etc/ansible/ansible.cfg</span></li><li><span>加载自己对应的模块文件</span></li><li><span>通过ansible将模块或命令生成对应的临时py文件并将该文件传输至远程服务器</span></li><li><span>对应执行用户的家目录的.ansible/tmp/xx.py文件</span></li><li><span>给文件+x执行</span></li><li><span>执行并将返回结果删除临时py文件然后退出</span></li></ul><h1 id='ansible部署'><span>ansible部署</span></h1><ul><li><span>安装ansible</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@localhost ~]<span class="cm-comment"># yum install -y epel-release</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@localhost ~]<span class="cm-comment"># yum install -y ansible</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><strong><span>说明:</span></strong><span>ansible只是一个工具不需要启动安装好以后直接使用即可。并且只有服务端需要安装客户端不需要安装....</span></p><h2 id='参数说明'><span>参数说明</span></h2><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>22</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`Inventory 文件参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-i</span><span class="cm-attribute">--inventory</span>: 指定 Inventory 文件的路径</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-l</span><span class="cm-attribute">--limit</span>: 限制操作的主机范围</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-g</span><span class="cm-attribute">--groups</span>: 指定要操作的主机组</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`剧本(Playbook)参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-p</span><span class="cm-attribute">--playbook-dir</span>: 指定 Playbook 所在目录</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-e</span><span class="cm-attribute">--extra-vars</span>: 传递额外的变量</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`任务(Task)参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-m</span><span class="cm-attribute">--module-name</span>: 指定要使用的模块名称</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-a</span><span class="cm-attribute">--args</span>: 传递模块的参数</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`连接参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-c</span><span class="cm-attribute">--connection</span>: 指定连接类型,如 <span class="cm-builtin">ssh</span>、local 等</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-u</span><span class="cm-attribute">--user</span>: 指定远程连接的用户</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`输出参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-v</span><span class="cm-attribute">--verbose</span>: 增加输出信息的详细程度</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--check</span>: 进行一次<span class="cm-string">"试运行"</span>,不会实际改变任何状态</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--diff</span>: 显示配置文件的改动情况</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-quote">`其他参数:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-f</span><span class="cm-attribute">--forks</span>: 指定并行执行的进程数</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-t</span><span class="cm-attribute">--tags</span>: 只执行带有指定 tag 的任务</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--list-hosts</span>: 列出受管主机</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">--list-tasks</span>: 列出所有任务</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;"></div><div class="CodeMirror-gutters" style="height: 507px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h2 id='快速开始-1'><span>快速开始</span></h2><p><strong><span>实验环境:</span></strong><span>四台Linux虚拟机HOSTNAME分别为ansible、server1、server2、server3</span></p><p><span>其中ansible做为服务端其他server均作为客户端</span></p><ol start='' ><li><span>免密登录</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><span><span></span>x</span></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 在ansible上修改hosts文件方便使用主机名管理主机</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim /etc/hosts</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">.......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.10 server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.20 server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.30 server3</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 生成密钥对</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-keygen -P "" -t rsa</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">.....</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 将公钥发送给需要被管理端,以实现免密登录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-copy-id -i /root/.ssh/id_rsa.pub root@server1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-copy-id -i /root/.ssh/id_rsa.pub root@server2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ssh-copy-id -i /root/.ssh/id_rsa.pub root@server3</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='常用工具'><span>常用工具</span></h3><ul><li><span>ansible临时命令执行工具常用于执行临时命令</span></li><li><span>ansible-doc常用于模块功能的查询</span></li><li><span>ansible-playbook用于执行剧本</span></li></ul><h3 id='主要配置文件'><span>主要配置文件</span></h3><ul><li><span>/etc/ansible/ansible.cfg主配置文件</span></li><li><span>/etc/ansible/hosts主机清单文件</span></li><li><span>/etc/ansible/roles角色目录</span></li></ul><h3 id='配置主机清单'><span>配置主机清单</span></h3><p><span>编辑</span><code>/etc/ansible/hosts</code><span>文件,再最后面添加上被管理端</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>29</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim /etc/ansible/hosts</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## [dbservers]</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">##</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## db01.intranet.mydomain.net</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## db02.intranet.mydomain.net</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10.25.1.56</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## 10.25.1.57</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Here's another example of host ranges, this time there are no</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># leading 0s:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">## db-[99:101]-node.example.com</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 定义自己的主机组</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[all_servers]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[node1]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[node2]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[node3]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 668px;"></div><div class="CodeMirror-gutters" style="height: 668px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ul><li><span>主配置文件</span><code>ansible.cfg</code><span>,默认可以不用改</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>20</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@localhost ~]<span class="cm-comment"># vim /etc/ansible/ansible.cfg</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[defaults]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># some basic default values...</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#inventory &nbsp; &nbsp; = /etc/ansible/hosts &nbsp; &nbsp; &nbsp; &nbsp; # 定义主机清单文件</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#library &nbsp; &nbsp; &nbsp; = /usr/share/my_modules/ &nbsp; &nbsp; # 库文件的存放位置</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#module_utils &nbsp; = /usr/share/my_module_utils/ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#remote_tmp &nbsp; &nbsp; = ~/.ansible/tmp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 生成的临时py文件在远程主机的目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#local_tmp &nbsp; &nbsp; = ~/.ansible/tmp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 生成的临时py文件在本地主机的目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#plugin_filters_cfg = /etc/ansible/plugin_filters.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#forks &nbsp; &nbsp; &nbsp; &nbsp; = 5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 默认的并发数</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#poll_interval = 15 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 默认的线程池</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#sudo_user &nbsp; &nbsp; = root &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # 默认的sudo用户</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#ask_sudo_pass = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#ask_pass &nbsp; &nbsp; = True</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#transport &nbsp; &nbsp; = smart</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#remote_port &nbsp; = 22</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#module_lang &nbsp; = C</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment">#module_set_locale = False</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;"></div><div class="CodeMirror-gutters" style="height: 461px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>9</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">transport &nbsp; &nbsp; &nbsp;<span class="cm-operator">=</span> smart</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">在ansible配置中transport <span class="cm-operator">=</span> smart 是指定 ansible 用于远程连接的传输机制。smart 是 ansible 的默认传输选项,它会尝试根据环境自动选择最佳的传输机制。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">当 smart 被设置时ansible 会按照以下顺序尝试不同的传输机制:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">如果已经建立了 SSH 连接(例如,通过 SSH Agent 或者在 ansible.cfg 中配置了 SSH 连接参数),则使用 SSH 传输。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">如果未建立 SSH 连接,并且目标主机是本地主机,则使用本地传输(即直接在本地执行命令)。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">如果未建立 SSH 连接,并且目标主机是远程主机,则使用 Paramiko 传输(基于 Python 的 SSH2 实现)。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">通过使用 smart 选项ansible 可以自动选择合适的传输机制,以确保在不同的环境中都能正常工作。如果您希望显式地指定传输机制,可以将 transport 设置为 <span class="cm-builtin">ssh</span>、local 或 paramiko以强制使用相应的传输方式。</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 276px;"></div><div class="CodeMirror-gutters" style="height: 276px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='执行状态'><span>执行状态</span></h3><p><span>ansible的执行状态 </span></p><ul><li><span>绿色:执行成功并且不需要做改变的操作 </span></li><li><span>黄色:执行成功并且对目标主机做变更 </span></li><li><span>红色:执行失败</span></li><li><span>粉色:警告信息</span></li><li><span>蓝色显示ansible命令执行的过程</span></li></ul><h2 id='常用模块'><span>常用模块</span></h2><h3 id='ping模块'><span>ping模块</span></h3><p><span>测试与主机的连通性</span></p><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>29</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m ping all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | SUCCESS <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">false</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ping"</span>: <span class="cm-string">"pong"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | SUCCESS <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">false</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ping"</span>: <span class="cm-string">"pong"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | SUCCESS <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">false</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ping"</span>: <span class="cm-string">"pong"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 返回说明:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"SUCCESS"</span> 表示 ansible 成功执行了任务,没有遇到错误。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"ansible_facts"</span> 是一个包含 ansible 任务执行期间收集到的事实facts的字典。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"discovered_interpreter_python"</span> 是一个收集到的事实,它指示目标主机上的 Python 解释器的路径为 /usr/bin/python。这对于后续的 ansible 任务可能需要使用 Python 的情况很有用。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"changed"</span> 表示 ansible 是否对目标主机进行了更改。在这种情况下,值为 <span class="cm-atom">false</span> 表示没有进行任何更改。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">"ping"</span> 是一个简单的回应,用于测试与目标主机的连通性。如果值为 <span class="cm-string">"pong"</span>,表示与目标主机的连接正常。</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 691px;"></div><div class="CodeMirror-gutters" style="height: 691px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='group模块'><span>Group模块</span></h3><p><span>用户创建和修改用户组</span></p><p><span>示例对node1主机组的成员创建一个IT组组ID为111</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>18</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -s group</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">action: group &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">gid &nbsp; &nbsp; &nbsp; <span class="cm-comment"># 设置组的GID号 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-def">name</span><span class="cm-operator">=</span> &nbsp; &nbsp; <span class="cm-comment"># 管理组的名称 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">state &nbsp; &nbsp; <span class="cm-comment"># 指定组状态默认为创建设置值为absent为删除 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">system &nbsp; &nbsp;<span class="cm-comment"># 设置值为yes表示为创建系统组</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m group -a "name=IT gid=111 system=yes" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"gid"</span>: <span class="cm-number">111</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"name"</span>: <span class="cm-string">"IT"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"state"</span>: <span class="cm-string">"present"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"system"</span>: <span class="cm-atom">true</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 415px;"></div><div class="CodeMirror-gutters" style="height: 415px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='user模块'><span>User模块</span></h3><p><span>用于对用户的创建,修改和删除等操作</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>20</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 查看某个模块的具体用法</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -l|wc -l</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">3387</span> <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#共有3387个模块</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansibledoc s user</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> comment &nbsp; &nbsp;<span class="cm-comment"># 用户的描述信息 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> createhom &nbsp;<span class="cm-comment"># 是否创建家目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> force &nbsp; &nbsp; &nbsp;<span class="cm-comment"># 在使用`state=absent'是, 行为与`userdel force'一致. &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> group &nbsp; &nbsp; &nbsp;<span class="cm-comment"># 指定基本组 &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> groups &nbsp; &nbsp; <span class="cm-comment"># 指定附加组,如果指定为('groups=')表示删除所有组 &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> home &nbsp; &nbsp; &nbsp; <span class="cm-comment"># 指定用户家目录 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-comment"># 指定用户名</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> password &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-comment"># 指定用户密码 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remove &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-comment"># 在使用 `state=absent'时, 行为是与 `userdel remove'一致.</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> shell &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-comment"># 指定默认shell </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-comment">#设置帐号状态不指定为创建指定值为absent表示删除</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> system &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-comment"># 当创建一个用户,设置这个用户是系统用户。这个设置不能更改现有用户</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> uid &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-comment">#指定用户的uid &nbsp; &nbsp; </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> update_password &nbsp;<span class="cm-comment"># 更新用户密码</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> expires &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-comment">#指明密码的过期时间</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ......</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;"></div><div class="CodeMirror-gutters" style="height: 461px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例在主机组node1上创建一个系统用户张三家目录为/home/zhangsanuid为111附加组为IT以及给一个注释</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35938px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>25</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m user -a "system=yes name=zhangsan home=/home/zhangsan uid=111 groups=IT comment='hello zhangsan'" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"comment"</span>: <span class="cm-string">"hello zhangsan"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"create_home"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"group"</span>: <span class="cm-number">995</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"groups"</span>: <span class="cm-string">"IT"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"home"</span>: <span class="cm-string">"/home/zhangsan"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"name"</span>: <span class="cm-string">"zhangsan"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"shell"</span>: <span class="cm-string">"/bin/bash"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"state"</span>: <span class="cm-string">"present"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"system"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"uid"</span>: <span class="cm-number">111</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 删除用户及家目录</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m user -a "name=zhangsan state=absent remove=yes" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 添加系统用户指定uid、家目录、主组及注释、密码</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m user -a "system=yes name=zhangsan home=/home/zhangsan uid=111 group=root comment='hello zhangsan' password='123456' shell=/bin/cbash " node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='command模块'><span>Command模块</span></h3><p><span>command模块是ansible默认使用的模块。不支持管道变量及重定向等</span></p><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>22</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc s command</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -a "touch /root/ansible.txt" all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[WARNING]: Consider using the file module with <span class="cm-def">state</span><span class="cm-operator">=</span><span class="cm-builtin">touch</span> rather than running</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">'touch'</span>. If you need to use command because file is insufficient you can add</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-string">'warn: false'</span> to this command task or <span class="cm-keyword">set</span> <span class="cm-string">'command_warnings=False'</span> <span class="cm-keyword">in</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ansible.cfg to <span class="cm-builtin">get</span> rid of this message.</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -a "find / -name ifcfg-ens33" all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">/etc/sysconfig/network-scripts/ifcfg-ens33</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">/etc/sysconfig/network-scripts/ifcfg-ens33</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">/etc/sysconfig/network-scripts/ifcfg-ens33</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;"></div><div class="CodeMirror-gutters" style="height: 507px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='shell模块'><span>Shell模块</span></h3><p><span>在远程主机上执行bash命令</span></p><p><span>相对于command而言支持性更好一点但是对于某些复杂的命令也可能会执行失败</span></p><p><span>解决方法可以把命令卸载脚本中使用script模块执行脚本到远程主机</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>7</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m shell -a "hostname" all_servers</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED | <span class="cm-def">rc</span><span class="cm-operator">=</span><span class="cm-number">0</span> &gt;&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="height: 161px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='script模块'><span>Script模块</span></h3><p><span>可以发送shell脚本到远程主机上并执行</span></p><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>29</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim test.sh</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">#!/bin/bash</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">for</span> i <span class="cm-keyword">in</span> <span class="cm-quote">`seq 5`</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">do</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-builtin">touch</span> /root/test_<span class="cm-def">${i}</span>.txt</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-keyword">done</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># script模块</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m script -a "/root/test.sh" node2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server2 | CHANGED <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"rc"</span>: <span class="cm-number">0</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"stderr"</span>: <span class="cm-string">"Shared connection to server2 closed.\r\n"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"stderr_lines"</span>: [</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"Shared connection to server2 closed."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; ],</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"stdout"</span>: <span class="cm-string">""</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"stdout_lines"</span>: []</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># server2验证</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server2 ~]<span class="cm-comment"># ls</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">anaconda-ks.cfg test_1.txt test_3.txt test_5.txt</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ansible.txt &nbsp; &nbsp; test_2.txt test_4.txt</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 参数说明</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">chdir参数: 此参数的作用就是指定一个远程主机中的目录,在执行对应的脚本之前,会先进入到 chdir 参数指定的目录中。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">creates参数: 使用此参数指定一个远程主机中的文件,当指定的文件存在时,就不执行对应脚本</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">removes参数: 使用此参数指定一个远程主机中的文件,当指定的文件不存在时,就不执行对应脚本</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 691px;"></div><div class="CodeMirror-gutters" style="height: 691px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='copy模块'><span>Copy模块</span></h3><p><span>用于向复制文件到主机组中</span></p><p><span>参数解释:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -s copy</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">backup在覆盖之前将源文件备份备份文件包含时间信息。 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">content用于替代“src”可以直接设定指定文件的值 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">dest必选项。要将源文件复制到的远程主机的绝对路径 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">directory_mode递归设定目录的权限默认为系统默认权限 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">force强制覆盖目的文件内容默认为yes &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">others所有的file模块里的选项都可以在这里使用 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">src被复制到远程主机的本地文件可以是绝对路径也可以是相对路径。如果路径是一个目录它将递归复制</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ansible <span class="cm-attribute">-m</span> copy <span class="cm-attribute">-a</span> <span class="cm-string">"src=/本地文件 dest=/远程文件"</span> nodes</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><ul><li><span>在创建文件时修改文件的属主和属组信息</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35913px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m copy -a "src=/root/test.sh dest=/root/test1 owner=zhangsan group=ansibles" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>在传输文件时修改文件的权限信息,并且备份远程主机文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35938px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m copy -a "src=/root/test.sh dest=/root/test2 backup=yes mode=777" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建一个文件并直接编辑文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m copy -a "content='hello ansibles\n' dest=/root/test3" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='file模块'><span>File模块</span></h3><p><span>用于对文件进行相关操作</span></p><p><span>参数解释:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>17</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansibledoc s file &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: Sets attributes of files &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; force需要在两种情况下强制创建软链接一种是源文件不存在但之后会建立的情况下另一种是目标软链接已存在需要先取消之前的软链然后创建新的软链有两个选项yes|no &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; group定义文件/目录的属组 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; mode定义文件/目录的权限 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; owner定义文件/目录的属主 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; path必选项定义文件/目录的路径 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; recurse递归设置文件的属性只对目录有效 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; src被链接的源文件路径只应用<span class="cm-def">于state</span><span class="cm-operator">=</span>link的情况 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; dest被链接到的路径只应用<span class="cm-def">于state</span><span class="cm-operator">=</span>link的情况 &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state &nbsp; </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> <span class="cm-tab" role="presentation" cm-text=" "> </span>absent: 删除文件</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; directory如果目录不存在就创建目录 &nbsp; &nbsp; &nbsp; &nbsp; </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; file验证文件是否存在即使文件不存在也不会被创建 &nbsp; &nbsp; &nbsp; &nbsp; </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; link创建软链接 &nbsp; &nbsp; &nbsp; &nbsp; </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; hard创建硬链接 &nbsp; &nbsp; &nbsp; &nbsp; </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-builtin">touch</span>:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其后修改时间</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 415px;"></div><div class="CodeMirror-gutters" style="height: 415px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><ul><li><span>创建目录</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35938px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "name=test1 owner=root group=root mode=644 state=directory " node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "path=/root/test2 owner=root group=root mode=644 state=touch" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>删除文件/目录</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "path=/root/test2 state=absent" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 23px;"></div><div class="CodeMirror-gutters" style="height: 23px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建软链接文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "src=/root/test1 dest=/root/test2 state=link" node1</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ul><li><span>创建硬链接文件</span></li></ul><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.35962px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>1</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m file -a "src=/root/test.txt dest=/root/test2 state=hard" node2</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 46px;"></div><div class="CodeMirror-gutters" style="height: 46px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='yum模块'><span>Yum模块</span></h3><p><span>用于远程操作主机下载软件包</span></p><p><span>参数说明:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>8</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansibledoc s yum &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; conf_file &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#设定远程yum安装时所依赖的配置文件。如配置文件没有在默认的位置。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; disable_gpg_check &nbsp; <span class="cm-comment">#是否禁止GPG checking只用于`present' or `latest'。 </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; disablerepo &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#临时禁止使用yum库。 只用于安装或更新时。 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; enablerepo &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#临时使用的yum库。只用于安装或更新时。 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-def">name</span><span class="cm-operator">=</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#所安装的包的名称 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-comment">#present安装 latest安装最新的, absent 卸载软件。 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; update_cache <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#强制更新yum的缓存</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="height: 184px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>14</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m yum -a "name=httpd state=latest" node3</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changes"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"installed"</span>: [</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"httpd"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; ],</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"updated"</span>: []</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"msg"</span>: <span class="cm-string">""</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"rc"</span>: <span class="cm-number">0</span>,</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 323px;"></div><div class="CodeMirror-gutters" style="height: 323px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='service模块'><span>Service模块</span></h3><p><span>用于远程管理主机上的service服务类</span></p><p><span>参数说明:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>13</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible-doc -s service</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&gt; SERVICE &nbsp; (/usr/lib/python2.7/sitepackages/ansible/modules/system/service.py) </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; Controls services on remote hosts. Supported init systems include BSD init, OpenRC, SysV, Solaris &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; SMF, systemd, upstart. For Windows targets, use the [win_service] module instead. </span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> * note: This module has a corresponding action plugin.</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ......</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> arguments <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#命令行提供额外的参数 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> enabled &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#设置开机启动可以设置为yes或者no。 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-def">name</span><span class="cm-operator">=</span> &nbsp; &nbsp; &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#服务名称 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> runlevel &nbsp; &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#开机启动的级别,一般不用指定。 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-builtin">sleep</span> &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-comment">#在重启服务的过程中是否等待。如在服务关闭以后等待2秒再启动。 &nbsp; &nbsp; &nbsp;</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> state &nbsp; &nbsp; <span class="cm-tab" role="presentation" cm-text=" "> </span><span class="cm-comment">#started启动服务 stopped停止服务 restarted重启服务 reloaded重载配置</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m service -a "name=httpd state=started" node3</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server3 | CHANGED <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"name"</span>: <span class="cm-string">"httpd"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"state"</span>: <span class="cm-string">"started"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; .....</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; .....</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h3 id='selinux模块'><span>Selinux模块</span></h3><p><span>用于管理远程主机的selinux设置</span></p><p><span>参考说明:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>16</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@node1 ~]<span class="cm-comment"># ansible-doc -s selinux </span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># selinux模块针对selinux的修改操作是针对配置文件进行修改的</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> name: Change policy and state of SELinux &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">configfile:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">描述: SELinux 配置文件的路径,如果不是标准路径。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">参数类型: 字符串</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">policy:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">描述: 要使用的 SELinux 策略的名称。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">参数类型: 字符串</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">state:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">描述: (必需) SELinux 的模式。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">参数类型: 字符串</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">可选值:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">enforcing: 强制 SELinux 策略生效。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">permissive: 以警告模式运行 SELinux,不会阻止任何操作。</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">disabled: 完全禁用 SELinux。</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 369px;"></div><div class="CodeMirror-gutters" style="height: 369px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>示例:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>13</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># ansible -m selinux -a "state=enforcing policy=targeted" node1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[WARNING]: Reboot is required to <span class="cm-keyword">set</span> SELinux state to <span class="cm-string">'enforcing'</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server1 | CHANGED <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"ansible_facts"</span>: {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-string">"discovered_interpreter_python"</span>: <span class="cm-string">"/usr/bin/python"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; },</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"changed"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"configfile"</span>: <span class="cm-string">"/etc/selinux/config"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"msg"</span>: <span class="cm-string">"Config SELinux state changed from 'disabled' to 'enforcing'"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"policy"</span>: <span class="cm-string">"targeted"</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"reboot_required"</span>: <span class="cm-atom">true</span>,</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"state"</span>: <span class="cm-string">"enforcing"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 299px;"></div><div class="CodeMirror-gutters" style="height: 299px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h1 id='playbook剧本'><span>Playbook(剧本)</span></h1><h2 id='介绍'><span>介绍</span></h2><p><span>Ansible playbook是一种可执行的YAML文件,用于描述如何部署和配置一个系统或应用程序。一个playbook由一个或多个play组成,每个play都针对特定的主机或主机组执行一系列任务。</span></p><p><span>一个playbook的基本结构如下:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>20</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> hosts: all</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> vars:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; package_name: nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; config_file: /etc/nginx/nginx.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: Install Nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; name: <span class="cm-string">"{{ package_name }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: Copy Nginx configuration</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; copy:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; src: nginx.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; dest: <span class="cm-string">"{{ config_file }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; notify:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> <span class="cm-builtin">restart</span> nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> handlers:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: <span class="cm-builtin">restart</span> nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-builtin">service</span>:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; name: nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: restarted</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 461px;"></div><div class="CodeMirror-gutters" style="height: 461px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>在上面的例子中,我们定义了以下几个主要字段:</span></p><ul><li><code>hosts</code><span>: 指定要运行任务的主机或主机组。</span></li><li><code>vars</code><span>: 定义要在playbook中使用的变量。</span></li><li><code>tasks</code><span>: 定义要执行的任务列表。每个任务都有一个名称和一个模块。</span></li><li><code>handlers</code><span>: 定义当某些任务触发时需要执行的处理程序,比如重启服务。</span></li></ul><p><span>执行playbook剧本</span></p><p><code>ansible-playbook xxxxx.yaml</code><span>即可</span></p><h2 id='快速开始-2'><span>快速开始</span></h2><h3 id='案例服务安装'><span>案例:服务安装</span></h3><p><span>安装nginx并且修改配置文件</span></p><ol start='' ><li><span>先编写一个nginx的子配置文件</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>12</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># mkdir -p playbook/conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># cd playbook/conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible conf]<span class="cm-comment"># cat site.conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; listen <span class="cm-number">666</span>;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; server_name localhost;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; location / {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; root /data;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; index index.html</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 276px;"></div><div class="CodeMirror-gutters" style="height: 276px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='2' ><li><span>编写playbook要求是为目标机器安装nginx并且拷贝配置文件到该机器上然后启动nginx。</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="yaml" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="yaml"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>33</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">[</span>root@ansible playbook<span class="cm-meta">]</span># vim nginx.yaml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">- </span><span class="cm-atom">name</span><span class="cm-meta">: </span>install nginx web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> hosts</span><span class="cm-meta">: </span>node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> remote_user</span><span class="cm-meta">: </span>root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> tasks</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install epel-release</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; name</span><span class="cm-meta">: </span>epel-release</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; state</span><span class="cm-meta">: </span>latest</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install Nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; name</span><span class="cm-meta">: </span>nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; state</span><span class="cm-meta">: </span>latest</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Copy conf to nginx.conf.d</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; copy</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; src</span><span class="cm-meta">: </span>/root/playbook/conf/site.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; dest</span><span class="cm-meta">: </span>/etc/nginx/conf.d/site.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Create <span class="cm-string">"data"</span> directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; file</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; name</span><span class="cm-meta">: </span>/data</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; state</span><span class="cm-meta">: </span>directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Start Nginx service</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; service</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; name</span><span class="cm-meta">: </span>nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; &nbsp; state</span><span class="cm-meta">: </span>started</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> - </span><span class="cm-atom">name</span><span class="cm-meta">: </span>create web index file</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; shell</span><span class="cm-meta">: </span>echo <span class="cm-string">"Install Nginx use Ansible...."</span> &gt; /data/index.html</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 760px;"></div><div class="CodeMirror-gutters" style="height: 760px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><img src="data:image/png;base64,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+unt27ffvHnT1Byn1+svX768bt26vn37vvDCC6aJAAMCAt555x3VLAPV18GDB1VticOHDx82bFiRnd4t8y8KIT799FOHD3MICgqybCn96KOPevfuvWHDhmvXrpmCPkaj8cqVK+vWrevVq9e7775rOmoWLlxo11GTmJg4efLk5s2bT548ed++feZf30SW5Rs3bmzevLl3796ffvqpcsXhw4cXF9WqX7/+zJkzVYkVdDrd66+/3rVr10WLFv3xxx+q567MzMxffvklPDy8Y8eOffr02blzp+0fwRaWuVdatWrVu3dvh2y8W7duAQEBypLY2FhbxqSUt/K7HJRaq1atnnnmGdO/t27d+sQTT0yZMuXIkSPmqUDu3r37xx9/LFq0qGvXrqa9Wrn6008/HRYW5tjBFxWwux48eFDVt2LLli3r16+37PiQkJAQERGh/NRxcXGfffaZZQcTg8Hw5ZdfqvbqRYsWHT9+3LICtm8WAID7yqFduypidvfq5fTp02+88cYbb7xh+rNLly516tQ5f/68clp4pUmTJo0bN876mOF69eo99dRTmzdvVhYePXp04MCByhJ/f3/lU5AkSc8888ymTZtUj1s7d+403X55eHi0bt36119/Vd0yjh8/fuDAgZs2bSr5095n+vfvP378+Hnz5pVudWdn57CwsF9//XXLli2ql7Zu3bp161Yr63p5eX388ceNGzcu3VtXNampqXPnzlUeFE2aNJk8eXL9+vWLW8UUyjl27Jh5dzUNc/D19fX09HRUxRo1ajR27Ni9e/eqDoqjR4+OHDnSyoqjR4/+v//7v+3bt9v7junp6UuXLl26dKnpTx8fHy8vr2vXrhU3I2BAQMC///1vK19Up06d5s+fP2PGDNU55/Tp09OmTZs2bZr5jYQQFfDUffDgQdXTcmBgYMuWLR2y8Yceeqhbt27K7aekpGzdurVTp06lm2bSscrjclBqtWvXnjZtmizLpkuJTqdbsmTJkiVLbFk3ICBgzpw5DjzQzMp7dz148KBll6LffvstJyenVq1aysKTJ09adhZITEzMzMxUDbm6deuW5by8KSkp58+ff+KJJ1Tltm8WAID7SoYs0yuhBIcPH46KiiruxvGFF17417/+VeLQU0mSBg8e/PTTT9v77s2aNfvggw+Ky/2enp5++PBh1W3WSy+9NHv2bG5xiuTq6jph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" alt="image-20240817140758729" style="zoom:80%;" /></p><h2 id='高级配置'><span>高级配置</span></h2><h3 id='fact事实变量'><span>fact(事实变量)</span></h3><p><span>Ansible 内置了大量的事实(fact)变量,可以在 Playbook 中使用。这些事实变量可以帮助我们更好地了解目标主机的环境和配置信息,从而编写更加智能和动态的自动化脚本。</span></p><p><span>常用的内置事实变量包括:</span></p><ol start='' ><li><p><strong><span>操作系统信息</span></strong><span>:</span></p><ul><li><code>ansible_distribution</code><span>: 操作系统发行版名称,如 &quot;CentOS&quot;&quot;Ubuntu&quot;</span></li><li><code>ansible_distribution_version</code><span>: 操作系统版本号</span></li><li><code>ansible_os_family</code><span>: 操作系统家族,如 &quot;RedHat&quot;&quot;Debian&quot;</span></li><li><code>ansible_kernel</code><span>: 内核版本</span></li></ul></li><li><p><strong><span>硬件信息</span></strong><span>:</span></p><ul><li><code>ansible_processor</code><span>: CPU 型号</span></li><li><code>ansible_processor_vcpus</code><span>: 虚拟 CPU 核数</span></li><li><code>ansible_memtotal_mb</code><span>: 内存总量(MB)</span></li><li><code>ansible_architecture</code><span>: CPU 架构,如 &quot;x86_64&quot;</span></li></ul></li><li><p><strong><span>网络信息</span></strong><span>:</span></p><ul><li><code>ansible_default_ipv4</code><span>: 默认 IPv4 地址和网关</span></li><li><code>ansible_all_ipv4_addresses</code><span>: 所有 IPv4 地址</span></li><li><code>ansible_interfaces</code><span>: 所有网络接口名称</span></li><li><code>ansible_hostname</code><span>: 主机名</span></li></ul></li><li><p><strong><span>其他信息</span></strong><span>:</span></p><ul><li><code>ansible_user_id</code><span>: 当前执行 Ansible 的用户 ID</span></li><li><code>ansible_date_time</code><span>: 主机当前日期和时间</span></li><li><code>ansible_env</code><span>: 主机环境变量</span></li><li><code>ansible_play_hosts</code><span>: 当前 play 中涉及的所有主机</span></li></ul></li></ol><p><span>这些事实变量可以帮助我们编写出更加智能和定制化的 Playbook。比如,我们可以根据操作系统的不同,执行不同的软件包安装任务;根据 CPU 架构,选择合适的软件包版本;根据内存大小,调整应用程序的配置等。</span></p><h3 id='循环迭代'><span>循环迭代</span></h3><p><span>在playbook中可以使用循环进行数据的迭代。这样一个模块就可以执行多次任务因为往往我们部署一个服务的时候都需要安装多个软件包的。</span></p><p><span>示例使用yum循环安装软件包</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>8</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install packages</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> loop:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> mysql</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> php</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="height: 184px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><span>或者:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>8</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install packages</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> with_items:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> mysql</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> php</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 184px;"></div><div class="CodeMirror-gutters" style="height: 184px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><span>这样就可以实现一个yum安装多个软件包了避免了playbook过于臃肿。</span></p><h4 id='rhce真题讲解2023-10-1'><span>RHCE真题讲解(2023-10)</span></h4><p><span>创建一个名为 /home/student/ansible/packages.yml的 playbook</span></p><ol start='' ><li><span>将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上</span></li><li><span>将 Development Tools 软件包组安装到 dev 主机组中的主机上</span></li><li><span>将 dev 主机组中主机上的所有软件包更新为最新版本</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>28</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim playbook/packages.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: install pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: dev,test,prod</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: install mariadb php</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; loop:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> php</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> mariadb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: install group pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: dev</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: install Development Tools</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; name: <span class="cm-string">"@Development Tools"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: update pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: dev</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: update pkgs</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; name: <span class="cm-string">"*"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: latest</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h4 id='案例循环创建用户'><span>案例:循环创建用户</span></h4><p><span>循环创建用户,用户信息如下</span>
<span>名称、组、家目录、shell、描述信息</span>
<span>zhangsan xsb /home/xsb/zhangsan /bin/bash 销售</span>
<span>lisi </span><span> </span><span> xsb /home/xsb/lisi /bin/bash 销售</span>
<span>wangwu jsb /home/jsb/wangwu /bin/sh java工程师</span>
<span>maliu jsb /home/jsb/maliu /bin/sh linux工程师</span>
<span>zhaoqi cwb /home/cwb/zhaoqi /bin/sh 会计</span></p><p><span>循环创建出以上用户并指定用户信息:</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>27</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># vim playbook/user.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Manage user</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remote_user: root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-attribute">-</span> name: Ensure groups xsb, jsb, cwb exist</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; group:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; name: <span class="cm-string">"{{ item.group }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; with_items:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { group: xsb }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { group: jsb }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { group: cwb }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-attribute">-</span> name: Create users zhangsan, lisi, wangwu, maliu, zhaoqi</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; user:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; name: <span class="cm-string">"{{ item.name }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; group: <span class="cm-string">"{{ item.group }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; shell: <span class="cm-string">"{{ item.shell }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; comment: <span class="cm-string">"{{ item.comment }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; home: <span class="cm-string">"{{ item.home }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; with_items:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { name: <span class="cm-string">'zhangsan'</span>, group: <span class="cm-string">'xsb'</span>, home: <span class="cm-string">'/home/xsb/zhangsan'</span>, shell: <span class="cm-string">'/bin/bash'</span>, comment: <span class="cm-string">'销售'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { name: <span class="cm-string">'lisi'</span>, group: <span class="cm-string">'xsb'</span>, home: <span class="cm-string">'/home/xsb/lisi'</span>, shell: <span class="cm-string">'/bin/bash'</span>, comment: <span class="cm-string">'销售'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { name: <span class="cm-string">'wangwu'</span>, group: <span class="cm-string">'jsb'</span>, home: <span class="cm-string">'/home/jsb/wangwu'</span>, shell: <span class="cm-string">'/bin/sh'</span>, comment: <span class="cm-string">'java工程师'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { name: <span class="cm-string">'maliu'</span>, group: <span class="cm-string">'jsb'</span>, home: <span class="cm-string">'/home/jsb/maliu'</span>, shell: <span class="cm-string">'/bin/sh'</span>, comment: <span class="cm-string">'linux工程师'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> { name: <span class="cm-string">'zhaoqi'</span>, group: <span class="cm-string">'cwb'</span>, home: <span class="cm-string">'/home/cwb/zhaoqi'</span>, shell: <span class="cm-string">'/bin/sh'</span>, comment: <span class="cm-string">'会计'</span> }</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 737px;"></div><div class="CodeMirror-gutters" style="height: 737px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p>&nbsp;</p><h3 id='条件判断'><span>条件判断</span></h3><p><span>在 Ansible Playbook 中,我们可以使用条件判断语句来根据不同的条件执行不同的任务。</span></p><p><strong><span>when 语句:</span></strong></p><p><code>when</code><span> 语句是最常用的条件判断语句。它可以根据变量的值、事实(facts)或者 Jinja2 表达式来决定是否执行某个任务。</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="yaml" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="yaml"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>15</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">- </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install packages on CentOS 7</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; name</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> &nbsp; &nbsp; - </span>httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> &nbsp; &nbsp; - </span>mariadb-server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; state</span><span class="cm-meta">: </span>present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> when</span><span class="cm-meta">: </span>ansible_distribution == <span class="cm-string">'CentOS'</span> and ansible_distribution_major_version|int == 7</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta">- </span><span class="cm-atom">name</span><span class="cm-meta">: </span>Install packages on CentOS 8</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> yum</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; name</span><span class="cm-meta">:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> &nbsp; &nbsp; - </span>nginx</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-meta"> &nbsp; &nbsp; - </span>mysql-server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> &nbsp; state</span><span class="cm-meta">: </span>present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-atom"> when</span><span class="cm-meta">: </span>ansible_distribution == <span class="cm-string">'CentOS'</span> and ansible_distribution_major_version|int == 8</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 392px;"></div><div class="CodeMirror-gutters" style="height: 392px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span>在这个例子中:</span></p><ol start='' ><li><span>第一个任务会在 CentOS 7 系统上安装 httpd 和 mariadb-server 软件包。</span><code>when</code><span> 语句确保了只有在 </span><code>ansible_distribution</code><span> 等于 &#39;CentOS&#39;</span><code>ansible_distribution_major_version</code><span> 等于 7 时,这个任务才会执行。</span></li><li><span>第二个任务会在 CentOS 8 系统上安装 nginx 和 mysql-server 软件包。同样的,</span><code>when</code><span> 语句确保了只有在 </span><code>ansible_distribution</code><span> 等于 &#39;CentOS&#39;</span><code>ansible_distribution_major_version</code><span> 等于 8 时,这个任务才会执行。</span></li></ol><h4 id='rhce真题讲解2023-10-'><span>RHCE真题讲解(2023-10-)</span></h4><p><strong><span>考试原题(第八题):</span></strong></p><p><span>创建一个名为/home/student/ansible/parted.yml 的playbook它将在dev主机组上运行下列任务</span></p><ol start='' ><li><span>如果磁盘/dev/vdd存在则创建1500m分区</span></li><li><span>如果无法创建请求的分区大小,应显示错误消息</span>
<span>Could not create partition of that size并且应改为使用大小 800m。</span></li><li><span>如果磁盘/dev/vdd不存在 ,应显示错误消息</span>
<span>disk /dev/vdd does not exist。</span></li><li><span>如果磁盘/dev/vdb存在则创建1500m分区</span></li><li><span>如果无法创建请求的分区大小,应显示错误消息</span>
<span>Could not create partition of that size并且应改为使用大小 800m。</span></li><li><span>最后分区都要格式化为ext4文件系统并挂载在/mnt/fs01上</span></li></ol><p><strong><span>简化题目:</span></strong><span>在所有机器上创建sdb1分区大小为1Gib前提是sdb存在如果不存在请提示.......</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>38</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># vim disk.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Create sdb1 partition</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: all_servers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: Check <span class="cm-keyword">if</span> sdb block device exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; stat:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; path: /dev/sdb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; register: sdb_stat</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: Create 1GB partition on sdb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; parted:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; device: /dev/sdb</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; number: <span class="cm-number">1</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; part_end: 1GB</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; when: sdb_stat.stat.exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: sdb block device not exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; debug:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; msg: <span class="cm-string">"sdb block device does not exist, cannot create partition."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; when: not sdb_stat.stat.exists</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># Output:</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">TASK [Create 1GB partition on sdb] ************************************ &nbsp; &nbsp; &nbsp; *********</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">skipping: [server1]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">skipping: [server3]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">changed: [server2]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">TASK [sdb block device not exists] ************************************ &nbsp; &nbsp; &nbsp; *********</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ok: [server1] <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"msg"</span>: <span class="cm-string">"sdb block device does not exist, cannot create partition."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">34</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">35</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">skipping: [server2]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">36</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">ok: [server3] <span class="cm-operator">=</span>&gt; {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">37</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-string">"msg"</span>: <span class="cm-string">"sdb block device does not exist, cannot create partition."</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">38</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 922px;"></div><div class="CodeMirror-gutters" style="height: 922px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><strong><span>验证:</span></strong></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server2 ~]<span class="cm-comment"># lsblk</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MAJ:MIN RM SIZE RO TYPE MOUNTPOINT</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">sda &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-number">8</span>:0 &nbsp; &nbsp;<span class="cm-number">0</span> &nbsp; 20G &nbsp;<span class="cm-number">0</span> disk</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├─sda1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-number">8</span>:1 &nbsp; &nbsp;<span class="cm-number">0</span> &nbsp; 1G &nbsp;<span class="cm-number">0</span> part /boot</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└─sda2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-number">8</span>:2 &nbsp; &nbsp;<span class="cm-number">0</span> &nbsp; 19G &nbsp;<span class="cm-number">0</span> part</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> ├─centos-root <span class="cm-number">253</span>:0 &nbsp; &nbsp;<span class="cm-number">0</span> &nbsp; 17G &nbsp;<span class="cm-number">0</span> lvm /</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> └─centos-swap <span class="cm-number">253</span>:1 &nbsp; &nbsp;<span class="cm-number">0</span> &nbsp; 2G &nbsp;<span class="cm-number">0</span> lvm [SWAP]</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">sdb &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-number">8</span>:16 &nbsp; <span class="cm-number">0</span> &nbsp; 2G &nbsp;<span class="cm-number">0</span> disk</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└─sdb1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-number">8</span>:17 &nbsp; <span class="cm-number">0</span> 953M &nbsp;<span class="cm-number">0</span> part</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">sr0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="cm-number">11</span>:0 &nbsp; &nbsp;<span class="cm-number">1</span> 918M &nbsp;<span class="cm-number">0</span> rom</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h2 id='jinjia2模板'><span>Jinjia2模板</span></h2><p><span>Jinja2是一个功能强大的Python模板引擎,它被广泛应用于Ansible的playbook中。Jinja2模板语法提供了丰富的功能,使得在playbook中插入动态内容变得更加容易和灵活。</span></p><p><span>简单来讲就是将原本静态的playbook转变为动态的。</span></p><h3 id='rhce真题讲解2023-10-2'><span>RHCE真题讲解(2023-10)</span></h3><p><strong><span>原题(第九题):</span></strong><span>生成主机文件</span></p><ol start='' ><li><span>编写模板文件/home/student/ansible/hosts.j2 ,针对每个清单主机包含一行内容,其格式与</span>
<span>/etc/hosts 相同。</span></li><li><span>创建名为 /home/student/ansible/hosts.yml 的playbook它将使用此模板在 dev 主机组中的主</span>
<span>机上生成文件 /etc/myhosts。</span></li><li><span>该 playbook 运行后dev 主机组中主机上的文件/etc/myhosts 应针对每个受管主机包含一行内</span>
<span>容。</span></li></ol><p><strong><span>题目变更如下:</span></strong></p><p><span>我们使用jinjia2和ansible内置变量动态的生成hosts文件并且发送给远程主机</span></p><ol start='' ><li><span>编写模板文件</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>7</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># vim hosts.j2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">127</span>.0.0.1 &nbsp; localhost localhost.localdomain localhost4 localhost4.localdomain4</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">::1 &nbsp; &nbsp; &nbsp; &nbsp; localhost localhost.localdomain localhost6 localhost6.localdomain6</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% <span class="cm-keyword">for</span> host <span class="cm-keyword">in</span> groups.all_servers %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{{hostvars[host].ansible_ens33.ipv4.address}} {{hostvars[host].ansible_hostname}}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% endfor %}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="height: 161px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ol start='2' ><li><span>编写hosts.yaml剧本来渲染并且发送该模板文件到目标主机使之替换原本的hosts</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>13</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># vim hosts.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Config hosts file</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: all_servers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remote_user: root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-attribute">-</span> name: copy hosts.j2 to group servers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; template:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; src: hosts.j2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; dest: /etc/hosts</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 执行该playbook</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible playbook]<span class="cm-comment"># ansible-playbook hosts.yaml</span></span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 299px;"></div><div class="CodeMirror-gutters" style="height: 299px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='3' ><li><span>检查并验证:</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>7</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server1 ~]<span class="cm-comment"># cat /etc/hosts</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">127</span>.0.0.1 &nbsp; localhost localhost.localdomain localhost4 localhost4.localdomain4</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">::1 &nbsp; &nbsp; &nbsp; &nbsp; localhost localhost.localdomain localhost6 localhost6.localdomain6</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.10 server1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.20 server2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">192</span>.168.88.30 server3</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 161px;"></div><div class="CodeMirror-gutters" style="height: 161px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h3 id='案例生成nginx配置文件'><span>案例生成nginx配置文件</span></h3><p><span>我们可以在playbook中自定义变量然后更具自定义的变量使用jinjia2模板渲染nginx的配置文件</span></p><ol start='' ><li><span>先编写nginx.yaml剧本在里面定义变量</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>28</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># mkdir ansible</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ~]<span class="cm-comment"># cd ansible</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ansible]<span class="cm-comment"># vim nginx.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: nginx conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> remote_user: root</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> vars:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; nginx_vhosts:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> web1:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; listen: <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; root: <span class="cm-string">"/var/www/nginx/web1/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> web2:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; listen: <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; server_name: <span class="cm-string">"web2.baidu.com"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; root: <span class="cm-string">"/var/www/nginx/web2/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp;<span class="cm-attribute">-</span> web3:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; listen: <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; server_name: <span class="cm-string">"web3.baidu.com"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; root: <span class="cm-string">"/var/www/nginx/web3/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> tasks:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: <span class="cm-builtin">mkdir</span> /data</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; file:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; name: /data</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; state: directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> name: template config</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; template:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; src: /root/ansible/site.conf.j2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp; &nbsp; dest: /data/nginx.conf</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='2' ><li><span>编写nginx子配置文件site.conf子配置文件中使用jinjia2语法进行渲染</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>10</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible ansible]<span class="cm-comment"># vim site.conf.j2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% <span class="cm-keyword">for</span> vhost <span class="cm-keyword">in</span> nginx_vhosts %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen {{ vhost.listen }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {% <span class="cm-keyword">if</span> vhost.server_name is defined %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server_name {{ vhost.server_name }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> {% endif %}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">root {{ vhost.root }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">{% endfor %}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 230px;"></div><div class="CodeMirror-gutters" style="height: 230px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='3' ><li><span>server1上验证配置文件是否渲染成功</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>15</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server1 ~]<span class="cm-comment"># cat /data/nginx.conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /var/www/nginx/web1/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name web2.baidu.com</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /var/www/nginx/web2/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">server {</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> server_name web3.baidu.com</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> root /var/www/nginx/web3/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">}</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><h1 id='role角色'><span>Role(角色)</span></h1><p><span>Ansible 中的 Role 是一种组织和重用代码的强大方式。角色可以帮助你将相关的任务、变量、文件等集中管理,使得代码更加模块化和可重用。</span></p><p><span>如果将所有的play都写在一个playbook中很容易导致这个playbook文件变得臃肿庞大且不易读。因此可以将多个不同任务分别写在不同的playbook中然后使用include将其包含进去即可。而role则是整合playbook的方式。无论是include还是role其目的都是分割大playbook以及复用某些细化的play甚至是task。</span></p><h2 id='目录结构'><span>目录结构</span></h2><p><span>在角色中将tasktemplateshandlersfiles等内容都分开存放然后再playbook中直接调用角色即可.....</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>18</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># tree apache/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">apache/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── defaults</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── files</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── handlers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── meta</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── README.md</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tasks</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── templates</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tests</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; ├── inventory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── test.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└── vars</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; └── main.yml</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 415px;"></div><div class="CodeMirror-gutters" style="height: 415px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ul><li><code>defaults/main.yml</code><span>: 定义角色的默认变量</span></li><li><code>handlers/main.yml</code><span>: 定义角色的处理程序</span></li><li><code>meta/main.yml</code><span>: 定义角色的元数据,如依赖关系、作者信息等</span></li><li><code>tasks/main.yml</code><span>: 定义角色的主要任务</span></li><li><code>templates/</code><span>: 存放角色使用的模板文件</span></li><li><code>tests/</code><span>: 存放角色的测试相关文件</span></li><li><code>vars/main.yml</code><span>: 定义角色的变量</span></li></ul><h2 id='初始化自定义role'><span>初始化自定义Role</span></h2><p><span>可以使用ansible-galaxy工具通过init选项初始化一个角色</span></p><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>4</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation"><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># ansible-galaxy init apache</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> Role apache was created successfully</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible role]<span class="cm-comment"># ls apache/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">defaults files handlers meta README.md tasks templates tests vars</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 92px;"></div><div class="CodeMirror-gutters" style="height: 92px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><h2 id='案例使用role安装httpd'><span>案例使用Role安装httpd</span></h2><ol start='' ><li><span>初始化httpd角色</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>22</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># ansible-galaxy init httpd</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> Role httpd was created successfully</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible role]<span class="cm-comment"># tree httpd/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">httpd/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── defaults</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── files</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── handlers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── meta</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── README.md</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tasks</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── templates</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">├── tests</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; ├── inventory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&nbsp;&nbsp; └── test.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">└── vars</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; └── main.yml</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-number">8</span> directories, <span class="cm-number">8</span> files</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 507px;"></div><div class="CodeMirror-gutters" style="height: 507px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='2' ><li><span>编写角色中的task</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>27</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible httpd]<span class="cm-comment"># vim tasks/main.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># tasks file for httpd</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: copy site2.conf to apache web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> copy:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; src: site.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; dest: /etc/httpd/conf.d/site2.conf</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: create directory1 <span class="cm-keyword">for</span> apache web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> file:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: /data/site1/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: create directory2 <span class="cm-keyword">for</span> apache web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> file:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: /data/site2/</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: directory</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Start httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-builtin">service</span>:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: started</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Write index file</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> shell: <span class="cm-builtin">echo</span> <span class="cm-string">"site1"</span> &gt; /data/site1/index.html &amp;&amp; <span class="cm-builtin">echo</span> <span class="cm-string">"site2"</span> &gt; /data/site2/index.html</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 645px;"></div><div class="CodeMirror-gutters" style="height: 645px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='3' ><li><span>编写角色中的file</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>15</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible httpd]<span class="cm-comment"># vim files/site.conf</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Listen <span class="cm-number">8080</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Listen <span class="cm-number">9090</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&lt;Directory <span class="cm-string">"/data/"</span>&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Require all granted</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&lt;/Directory&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&lt;VirtualHost *:8080&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">DocumentRoot <span class="cm-string">"/data/site1/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&lt;/VirtualHost&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&lt;VirtualHost *:9090&gt;</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">DocumentRoot <span class="cm-string">"/data/site2/"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">&lt;/VirtualHost&gt;</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 346px;"></div><div class="CodeMirror-gutters" style="height: 346px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><ol start='4' ><li><span>编写一个playbook剧本调用该角色</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>5</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@ansible roles]<span class="cm-comment"># vim httpd.yaml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: Install httpd web server</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: node1</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> roles:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-attribute">-</span> httpd</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 115px;"></div><div class="CodeMirror-gutters" style="height: 115px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><ol start='5' ><li><span>验证</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 36px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 28px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>9</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -28px; width: 28px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[root@server1 ~]<span class="cm-comment"># ss -nlt</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">State &nbsp; &nbsp; Recv-Q Send-Q &nbsp; &nbsp; &nbsp; Local Address:Port &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Peer Address:Port</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">128</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *:22 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *:*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">100</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="cm-number">127</span>.0.0.1:25 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *:*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">128</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::8080 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">128</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::80 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">128</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::22 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 19px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">100</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ::1:25 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::*</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -28px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 19px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">LISTEN &nbsp; &nbsp; <span class="cm-number">0</span> &nbsp; &nbsp; &nbsp;<span class="cm-number">128</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::9090 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; :::*</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 392px;"></div><div class="CodeMirror-gutters" style="height: 392px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 27px;"></div></div></div></div></pre><p><img src="data:image/png;base64,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EPg79OnTZ/To0foplZWVPTF3AwAAAAAATehyFsaPHz958mT9lF27dt17772bN29WFCU0beigmpqaqqoq/ZRrr702MjIy8HeQZTksLEw/xWq1evQTAQAAAACgByktLQ3RqJMjRoy444479MMuCiH27t17yy23zJw5c9GiRT/+8Y+NxhA1JjgnTpzw6MHR1NS0devWdr2JzWbT/3n06NGLFy96DIEJAAAAAEBPkZaWFqKbeYPBMGfOnF27dn388cceL23atGnTpk3jx4+fO3fuz372s0GDBoWmSe116tQpq9Wqn5Kdnd1VjQEAAAAAoJsIUW8IIURcXNzy5ctnzZrl89V9+/ZlZWWNHj06MzPz66+/7oZdJDzCCgAAAAAAQIQysiCEiI+PX7t27bJly/r16+dzBqvV+u67706cOHH27Nlff/21qqqhbB4AAAAAAGivkEYWhBDR0dG/+c1vysrKFi9e7C++IITYsGHD9OnTn3zySTIFAAAAAADozrqmaOKIESNeeumlhQsXfvDBB2+++aZHZUSN1Wr93e9+d/DgwcLCwri4uNA3sk0bN2784Q9/2JF3kGW5d+/endUeAAAAAABCryuHYxg0aND8+fMfffTRXbt2vfnmmxs2bPDOUPjwww8HDhyYl5cXHR3dJY108R66oqmpqX///l3SGAAAAAAAuolQ94bwZjQaU1NT33nnnT179syfPz8mJsZjhrVr127fvr1L2qY3bNgwjym1tbVd0hIAAAAAALqPro8saCRJSkhIKCgo2Lhx49VXX61/yWq1FhUVNTY2dlXbNAMGDPBoWEVFhd1u76r2AAAAAADQHXSXyIJGkqTU1NTly5fHx8frp5eXl585c6arWqUZNGiQR9pCWVnZ2bNnu6o9AAAAAAB0B90rsqCZNGlSenq6fsrZs2e7fJCI2NjYlJQU/ZTt27fv3bu3q9oDAAAAAEB30B0jC5GRkVdccUVXt8KTwWC4+eab9WUgrFbru+++e/78+S5sFQAAAAAAXas7RhZUVfWoX2A0Gg0Gw6Vb48GDB1VVbXO28ePH33jjjfop77777ieffBLIsh6amprauwgAAAAAAN1QiCIL77///pEjRwKcuba2try8XD9l1KhRAwcO7KzGREREeIxhWV5eHshAD4MGDbr99ts9Jj755JMbNmwIPLjQ2Ni4bt26P/7xjwHODwAAAABAdxaiyMKhQ4cmTpz4H//xHydOnGh9zsbGxjfeeGPDhg36iTfccENsbGxnNaZfv36JiYn6KaWlpRs3bgwkOnDXXXfdfffd+inV1dUPPfTQH/7wh/r6+taXbW5u/uyzz+64444HHniAnAUAAAAAwL+G0PWGqKmpeeqpp5KSku67776ioqLTp08riqKf4dy5c5999tns2bMff/xx/fTU1NS77rpLkqTOakmvXr2uueYa/RSr1ZqVlfXKK68cP35cURRVVc+cObNu3bq//OUvHsv27ds3NzfXY+gKq9W6aNGiG264Yfny5f/85z89ogZ1dXV///vf8/LyJkyYkJaWtmnTps76IAAAAAAAdDljiNdntVrff//9999/X/szPj5+zJgxdXV1O3fu9Dl/fHz8iy++OHLkyE5sgyRJaWlpY8eOPXDggGtiTU1Nbm5ubm6ufs5169Z5Lz5x4sRly5YtXLiwurpaP33fvn05OTk5OTnan0lJSUKIysrKTmw5AAAAAADdTagjCx6qq6s97s/14uPjly1bNm3atE5f77hx4zIzMx977LEglpUkadasWZGRkb/61a9aaXzrMQWjsYu/eQAAAAAAOq60tLQ7jg2hufXWW0tKSjq3H4SL0WicP3/+vHnzgltckqSf/OQnJSUlt956a3uXTUpKeu+99xYuXBjcqgEAAAAA6D7ir0sLUWRhyZIln3/++b333hsTE9P6nDExMQ8++OCOHTs+/vjj5OTkS9ek6OjoZcuWvfXWW1q3BW/9+vWLiopq5R2Sk5M//vjjLVu23HnnnYF8rjvvvLO4uLisrOy+++4LDw8PvukAAAAAAHQbUnZ29vLly0O2vqampv379+/fv//IkSP79u2rqakRQkRFRU2YMGHo0KETJ05MSkqKjIwMWXu0Ju3bt2/Xrl1Wq1WbEhYWdu21106YMCHwASnOnTt34MCBr7/++siRI3v37tUmjh49esSIET/4wQ+Sk5MTExPDwsIuyQcAAAAAAKCLmDMXhDqyAAAAAAAA/mWYMxd03zoLAAAAAACg+yOyAAAAAAAAgkdkAQAAAAAABI/IAgAAAAAACB6RBQAAAAAAEKToSCILAAAAAAAgWNHhRBYAAAAAAECwIukNAQAAAAAAghYmxP8HSj+YyEmTqJoAAAAASUVORK5CYII=" alt="image-20240817160722766" style="zoom:80%;" /></p><h2 id='rhce真题讲解2023-10-3'><span>RHCE真题讲解(2023-10)</span></h2><p><strong><span>题目(第六题)</span></strong></p><p><span>根据下列要求,在 /home/student/ansible/roles中创建名为 apache 的角色:</span></p><ol start='' ><li><span>httpd软件包已安装设为在系统启动时启用</span></li><li><span>防火墙已启用并正在运行,并使用允许访问 Web 服务器的规则</span></li><li><span>模板文件 index.html.j2 已存在,用于创建具有以下输出的文件 /var/www/html/index.html</span>
<span>Welcome to HOSTNAME on IPADDRESS</span>
<span>其中HOSTNAME 是受管节点的完全限定域名IPADDRESS 则是受管节点的 IP 地址。</span></li><li><span>按照下方所述,创建一个使用此角色的 playbook /home/student/ansible/newrole.yml</span>
<span>该 playbook 在 webservers 主机组中的主机上运行</span></li></ol><pre class="md-fences md-end-block md-fences-with-lineno ty-contain-cm modeLoaded" spellcheck="false" lang="bash" style="break-inside: unset;"><div class="CodeMirror cm-s-inner cm-s-null-scroll CodeMirror-wrap" lang="bash"><div style="overflow: hidden; position: relative; width: 3px; height: 0px; top: 9.51875px; left: 45px;"><textarea autocorrect="off" autocapitalize="off" spellcheck="false" tabindex="0" style="position: absolute; bottom: -1em; padding: 0px; width: 1000px; height: 1em; outline: none;"></textarea></div><div class="CodeMirror-scrollbar-filler" cm-not-content="true"></div><div class="CodeMirror-gutter-filler" cm-not-content="true"></div><div class="CodeMirror-scroll" tabindex="-1"><div class="CodeMirror-sizer" style="margin-left: 37px; margin-bottom: 0px; border-right-width: 0px; padding-right: 0px; padding-bottom: 0px;"><div style="position: relative; top: 0px;"><div class="CodeMirror-lines" role="presentation"><div role="presentation" style="position: relative; outline: none;"><div class="CodeMirror-measure"><pre><span>xxxxxxxxxx</span></pre><div class="CodeMirror-linenumber CodeMirror-gutter-elt"><div>45</div></div></div><div class="CodeMirror-measure"></div><div style="position: relative; z-index: 1;"></div><div class="CodeMirror-code" role="presentation" style=""><div class="CodeMirror-activeline" style="position: relative;"><div class="CodeMirror-activeline-background CodeMirror-linebackground"></div><div class="CodeMirror-gutter-background CodeMirror-activeline-gutter" style="left: -37px; width: 37px;"></div><div class="CodeMirror-gutter-wrapper CodeMirror-activeline-gutter" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">1</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible<span class="cm-comment"># cd roles/</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">2</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># ansible-galaxy init apache</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">3</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># vim apache/tasks/main.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">4</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">---</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">5</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># tasks file for apache</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">6</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: install http</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">7</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> yum:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">8</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">9</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: present</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">10</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: config system <span class="cm-builtin">service</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">11</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-builtin">service</span>:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">12</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; name: <span class="cm-string">"{{ item }}"</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">13</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: started</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">14</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; enabled: <span class="cm-builtin">yes</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">15</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> loop:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">16</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> httpd</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">17</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-attribute">-</span> firewalld</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">18</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: firewalld <span class="cm-builtin">service</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">19</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> firewalld:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">20</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; zone: public</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">21</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; &nbsp;<span class="cm-builtin">service</span>: http</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">22</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; permanent: <span class="cm-builtin">yes</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">23</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; immediate: <span class="cm-builtin">yes</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">24</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; state: enabled</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">25</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: user templates</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">26</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> template:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">27</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; src: index.html.j2</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">28</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp; dest: /var/www/html/index.html</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">29</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># vim apache/templates/index.html.j2</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">30</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Welcome to {{ ansible_fqdn }} on {{ ansible_default_ipv4.address }}</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">31</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">32</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation roles]<span class="cm-comment"># cd ..</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">33</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># vim newrole.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">34</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-attribute">-</span> name: use apache role</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">35</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> hosts: webservers</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">36</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> roles:</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">37</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"> &nbsp;<span class="cm-attribute">-</span> apache</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">38</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span cm-text="" cm-zwsp="">
</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">39</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 运行脚本</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">40</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># ansible-playbook newrole.yml</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">41</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;"><span class="cm-comment"># 访问测试</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">42</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># curl serverc</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">43</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Welcome to serverc.lab.example.com on <span class="cm-number">172</span>.25.250.12</span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt" style="left: 0px; width: 28px;">44</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">[student@workstation ansible]<span class="cm-comment"># curl serverd</span></span></pre></div><div style="position: relative;"><div class="CodeMirror-gutter-wrapper" style="left: -37px;"><div class="CodeMirror-linenumber CodeMirror-gutter-elt CodeMirror-linenumber-show" style="left: 0px; width: 28px;">45</div></div><pre class=" CodeMirror-line " role="presentation"><span role="presentation" style="padding-right: 0.1px;">Welcome to serverd.lab.example.com on <span class="cm-number">172</span>.25.250.13</span></pre></div></div></div></div></div></div><div style="position: absolute; height: 0px; width: 1px; border-bottom: 0px solid transparent; top: 1037px;"></div><div class="CodeMirror-gutters" style="height: 1037px;"><div class="CodeMirror-gutter CodeMirror-linenumbers" style="width: 36px;"></div></div></div></div></pre><p><span># </span></p></div></div>
<script>(function(){var e=document.body.parentElement,t=[],n=null,i=document.body.classList.contains("typora-export-collapse-outline"),r=function(e,t,n){document.addEventListener(e,function(e){if(!e.defaultPrevented)for(var i=e.target;i&&i!=this;i=i.parentNode)if(i.matches(t)){!1===n.call(i,e)&&(e.preventDefault(),e.stopPropagation());break}},!1)};function o(){return e.scrollTop}r("click",".outline-expander",function(e){var t=this.closest(".outline-item-wrapper").classList;return t.contains("outline-item-open")?t.remove("outline-item-open"):t.add("outline-item-open"),d(),!1}),r("click",".outline-item",function(e){var t=this.querySelector(".outline-label");if(location.hash="#"+t.getAttribute("href"),i){var n=this.closest(".outline-item-wrapper").classList;n.contains("outline-item-open")||n.add("outline-item-open"),c(),n.add("outline-item-active")}});var a,s,l=function(){var e=o();n=null;for(var i=0;i<t.length&&t[i][1]-e<60;i++)n=t[i]},c=function(){document.querySelectorAll(".outline-item-active").forEach(e=>e.classList.remove("outline-item-active")),document.querySelectorAll(".outline-item-single.outline-item-open").forEach(e=>e.classList.remove("outline-item-open"))},d=function(){if(n){c();var e=document.querySelector('.outline-label[href="#'+(CSS.escape?CSS.escape(n[0]):n[0])+'"]');if(e)if(i){var t=e.closest(".outline-item-open>ul>.outline-item-wrapper");if(t)t.classList.add("outline-item-active");else{for(var r=(e=e.closest(".outline-item-wrapper")).parentElement.closest(".outline-item-wrapper");r;)r=(e=r).parentElement.closest(".outline-item-wrapper");e.classList.add("outline-item-active")}}else e.closest(".outline-item-wrapper").classList.add("outline-item-active")}};window.addEventListener("scroll",function(e){a&&clearTimeout(a),a=setTimeout(function(){l(),d()},300)});var u=function(){s=setTimeout(function(){!function(){t=[];var e=o();document.querySelector("#write").querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(n=>{var i=n.getAttribute("id");t.push([i,e+n.getBoundingClientRect().y])})}(),l(),d()},300)};window.addEventListener("resize",function(e){s&&clearTimeout(s),u()}),u()})();</script><script>
const setWatermark = (str) => {
const id = '1.99654.234';
if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
const can = document.createElement('canvas');
can.width = 200;
can.height = 200;
const cans = can.getContext('2d');
cans.rotate((-20 * Math.PI) / 180);
cans.font = '16px Vedana';
cans.fillStyle = 'rgba(200, 200, 200, 0.20)';
cans.textBaseline = 'Middle';
cans.fillText(str, can.width / 10, can.height / 2);
const div = document.createElement('div');
div.id = id;
div.style.pointerEvents = 'none';
div.style.top = '15px';
div.style.left = '0px';
div.style.position = 'fixed';
div.style.zIndex = '10000000';
div.style.width = `${window.innerWidth}px`;
div.style.height = `${window.innerHeight}px`;
div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`;
document.body.appendChild(div);
return id;
};
const watermark = {
set: (str) => {
let id = setWatermark(str);
if (document.getElementById(id) === null) id = setWatermark(str);
},
del: () => {
let id = '1.99654.234';
if (document.getElementById(id) !== null) document.body.removeChild(document.getElementById(id));
},
};
function hexToUtf8(s)
{
return decodeURIComponent(
s.replace(/\s+/g, '') // remove spaces
.replace(/[0-9a-f]{2}/g, '%$&') // add '%' before each 2 characters
);
}
watermark.set(hexToUtf8('e5ada6e5898de6b2bf4954efbc8ce588b0e88bb1e6a0bce7a791e68a8021'))
</script>
<style>
.siderhidden{
position: fixed;
left: 10px;
top: 10px;
}
</style>
<div class="siderhidden">
<button onclick="siderHidden()">大纲</button>
</div>
<script>
function siderHidden() {
// 使用querySelectorAll获取所有具有特定class的元素
var elements = document.querySelectorAll('.typora-export-sidebar');
// 遍历所有元素并切换它们的显示状态
elements.forEach(function(element) {
// 检查元素的display属性是否为'none'
if (window.getComputedStyle(element).display === 'none') {
// 如果已经隐藏了,就显示出来
element.style.display = 'block'; // 或者使用元素原本的display值比如'flex'或'inline-block'等
} else {
// 如果没有隐藏,就隐藏它
element.style.display = 'none';
}
});
}
</script></body>
</html>