You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2017/07/24 07:43:56 UTC

[41/51] [abbrv] [partial] struts-site git commit: Adds exported docs

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.data/s2-architecture.svg
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.data/s2-architecture.svg b/content/docs/big-picture.data/s2-architecture.svg
new file mode 100644
index 0000000..38a8d76
--- /dev/null
+++ b/content/docs/big-picture.data/s2-architecture.svg
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" stroke="black" text-rendering="auto" stroke-linecap="square" width="928" stroke-miterlimit="10" stroke-opacity="1" shape-rendering="auto" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="926" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto">
+  <!--Generated by ySVG-->
+  <defs id="genericDefs"/>
+  <g>
+    <defs id="defs1">
+      <linearGradient x1="-23.5938" gradientUnits="userSpaceOnUse" x2="-23.5938" y1="79" y2="121.5" id="linearGradient1" spreadMethod="pad">
+        <stop stop-opacity="1" stop-color="rgb(255,153,0)" offset="0%"/>
+        <stop stop-opacity="1" stop-color="rgb(255,153,0)" offset="100%"/>
+      </linearGradient>
+      <linearGradient x1="-23.5938" gradientUnits="userSpaceOnUse" x2="-23.5938" y1="129" y2="171.5" id="linearGradient2" spreadMethod="pad">
+        <stop stop-opacity="1" stop-color="rgb(255,153,0)" offset="0%"/>
+        <stop stop-opacity="1" stop-color="rgb(255,153,0)" offset="100%"/>
+      </linearGradient>
+      <linearGradient x1="-25" gradientUnits="userSpaceOnUse" x2="-25" y1="179" y2="221.5" id="linearGradient3" spreadMethod="pad">
+        <stop stop-opacity="1" stop-color="rgb(255,153,0)" offset="0%"/>
+        <stop stop-opacity="1" stop-color="rgb(255,153,0)" offset="100%"/>
+      </linearGradient>
+      <linearGradient x1="398.6825" gradientUnits="userSpaceOnUse" x2="398.6825" y1="10.1615" y2="62.6615" id="linearGradient4" spreadMethod="pad">
+        <stop stop-opacity="1" stop-color="silver" offset="0%"/>
+        <stop stop-opacity="1" stop-color="silver" offset="100%"/>
+      </linearGradient>
+      <linearGradient x1="575" gradientUnits="userSpaceOnUse" x2="575" y1="289" y2="371.5" id="linearGradient5" spreadMethod="pad">
+        <stop stop-opacity="1" stop-color="rgb(0,102,153)" offset="0%"/>
+        <stop stop-opacity="1" stop-color="rgb(0,102,153)" offset="100%"/>
+      </linearGradient>
+      <linearGradient x1="644.5464" gradientUnits="userSpaceOnUse" x2="644.5464" y1="10.1615" y2="62.6615" id="linearGradient6" spreadMethod="pad">
+        <stop stop-opacity="1" stop-color="silver" offset="0%"/>
+        <stop stop-opacity="1" stop-color="silver" offset="100%"/>
+      </linearGradient>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
+        <path d="M0 0 L928 0 L928 926 L0 926 L0 0 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
+        <path d="M-40 -49 L888 -49 L888 877 L-40 877 L-40 -49 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
+        <path d="M-45 -54 L883 -54 L883 872 L-45 872 L-45 -54 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
+        <path d="M-3.4062 -116 L924.5938 -116 L924.5938 810 L-3.4062 810 L-3.4062 -116 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
+        <path d="M-1.311 -116 L33.0492 -116 L33.0492 810 L-1.311 810 L-1.311 -116 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
+        <path d="M-899.6632 -116 L28.3368 -116 L28.3368 810 L-899.6632 810 L-899.6632 -116 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
+        <path d="M-3.4062 -592 L924.5938 -592 L924.5938 3112 L-3.4062 3112 L-3.4062 -592 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
+        <path d="M-899.6632 -592 L28.3368 -592 L28.3368 3112 L-899.6632 3112 L-899.6632 -592 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
+        <path d="M-3.4062 -156 L924.5938 -156 L924.5938 770 L-3.4062 770 L-3.4062 -156 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
+        <path d="M-1.311 -156 L33.0492 -156 L33.0492 770 L-1.311 770 L-1.311 -156 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
+        <path d="M-899.6632 -156 L28.3368 -156 L28.3368 770 L-899.6632 770 L-899.6632 -156 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
+        <path d="M-3.4062 -166 L924.5938 -166 L924.5938 760 L-3.4062 760 L-3.4062 -166 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
+        <path d="M-1.311 -166 L33.0492 -166 L33.0492 760 L-1.311 760 L-1.311 -166 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
+        <path d="M-899.6632 -166 L28.3368 -166 L28.3368 760 L-899.6632 760 L-899.6632 -166 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
+        <path d="M-3.4062 -792 L924.5938 -792 L924.5938 2912 L-3.4062 2912 L-3.4062 -792 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
+        <path d="M-899.6632 -792 L28.3368 -792 L28.3368 2912 L-899.6632 2912 L-899.6632 -792 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
+        <path d="M-3.4062 -206 L924.5938 -206 L924.5938 720 L-3.4062 720 L-3.4062 -206 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
+        <path d="M-1.311 -206 L33.0492 -206 L33.0492 720 L-1.311 720 L-1.311 -206 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
+        <path d="M-899.6632 -206 L28.3368 -206 L28.3368 720 L-899.6632 720 L-899.6632 -206 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
+        <path d="M-2 -216 L926 -216 L926 710 L-2 710 L-2 -216 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
+        <path d="M-1.2568 -216 L33.0475 -216 L33.0475 710 L-1.2568 710 L-1.2568 -216 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
+        <path d="M-899.6632 -216 L28.3368 -216 L28.3368 710 L-899.6632 710 L-899.6632 -216 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
+        <path d="M-2 -992 L926 -992 L926 2712 L-2 2712 L-2 -992 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
+        <path d="M-899.6632 -992 L28.3368 -992 L28.3368 2712 L-899.6632 2712 L-899.6632 -992 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
+        <path d="M-2 -256 L926 -256 L926 670 L-2 670 L-2 -256 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
+        <path d="M-1.2568 -256 L33.0475 -256 L33.0475 670 L-1.2568 670 L-1.2568 -256 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
+        <path d="M-899.6632 -256 L28.3368 -256 L28.3368 670 L-899.6632 670 L-899.6632 -256 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
+        <path d="M-425.6825 -47.1615 L502.3175 -47.1615 L502.3175 878.8385 L-425.6825 878.8385 L-425.6825 -47.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
+        <path d="M-74.6792 -47.1615 L76.7408 -47.1615 L76.7408 878.8385 L-74.6792 878.8385 L-74.6792 -47.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
+        <path d="M-653.7993 -47.1615 L274.2007 -47.1615 L274.2007 878.8385 L-653.7993 878.8385 L-653.7993 -47.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
+        <path d="M-425.6825 -140.7316 L502.3175 -140.7316 L502.3175 1505.4906 L-425.6825 1505.4906 L-425.6825 -140.7316 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
+        <path d="M-653.7993 -140.7316 L274.2007 -140.7316 L274.2007 1505.4906 L-653.7993 1505.4906 L-653.7993 -140.7316 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
+        <path d="M-425.6825 -97.1615 L502.3175 -97.1615 L502.3175 828.8385 L-425.6825 828.8385 L-425.6825 -97.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
+        <path d="M-74.6792 -97.1615 L76.7408 -97.1615 L76.7408 828.8385 L-74.6792 828.8385 L-74.6792 -97.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
+        <path d="M-653.7993 -97.1615 L274.2007 -97.1615 L274.2007 828.8385 L-653.7993 828.8385 L-653.7993 -97.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
+        <path d="M-602 -326 L326 -326 L326 600 L-602 600 L-602 -326 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath37">
+        <path d="M-103.4485 -326 L47.9714 -326 L47.9714 600 L-103.4485 600 L-103.4485 -326 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath38">
+        <path d="M-830.1168 -326 L97.8832 -326 L97.8832 600 L-830.1168 600 L-830.1168 -326 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath39">
+        <path d="M-602 -238.6667 L326 -238.6667 L326 378.6667 L-602 378.6667 L-602 -238.6667 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath40">
+        <path d="M-830.1168 -238.6667 L97.8832 -238.6667 L97.8832 378.6667 L-830.1168 378.6667 L-830.1168 -238.6667 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath41">
+        <path d="M-602 -406 L326 -406 L326 520 L-602 520 L-602 -406 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath42">
+        <path d="M-103.4485 -406 L47.9714 -406 L47.9714 520 L-103.4485 520 L-103.4485 -406 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath43">
+        <path d="M-830.1168 -406 L97.8832 -406 L97.8832 520 L-830.1168 520 L-830.1168 -406 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath44">
+        <path d="M-671.5464 -47.1615 L256.4536 -47.1615 L256.4536 878.8385 L-671.5464 878.8385 L-671.5464 -47.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath45">
+        <path d="M-114.7963 -47.1615 L36.6237 -47.1615 L36.6237 878.8385 L-114.7963 878.8385 L-114.7963 -47.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath46">
+        <path d="M-899.6632 -47.1615 L28.3368 -47.1615 L28.3368 878.8385 L-899.6632 878.8385 L-899.6632 -47.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath47">
+        <path d="M-671.5464 -140.7316 L256.4536 -140.7316 L256.4536 1505.4906 L-671.5464 1505.4906 L-671.5464 -140.7316 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath48">
+        <path d="M-899.6632 -140.7316 L28.3368 -140.7316 L28.3368 1505.4906 L-899.6632 1505.4906 L-899.6632 -140.7316 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath49">
+        <path d="M-671.5464 -97.1615 L256.4536 -97.1615 L256.4536 828.8385 L-671.5464 828.8385 L-671.5464 -97.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath50">
+        <path d="M-114.7963 -97.1615 L36.6237 -97.1615 L36.6237 828.8385 L-114.7963 828.8385 L-114.7963 -97.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath51">
+        <path d="M-899.6632 -97.1615 L28.3368 -97.1615 L28.3368 828.8385 L-899.6632 828.8385 L-899.6632 -97.1615 Z"/>
+      </clipPath>
+      <clipPath clipPathUnits="userSpaceOnUse" id="clipPath52">
+        <path d="M-32.9352 -20.7904 L869.7885 -20.7904 L869.7885 879.9878 L-32.9352 879.9878 L-32.9352 -20.7904 Z"/>
+      </clipPath>
+    </defs>
+    <g fill="white" transform="translate(40,49)" stroke="white">
+      <rect x="-40" width="928" height="926" y="-49" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g fill="white" transform="matrix(1,0,0,1,40,49)" stroke="white">
+      <rect x="-23.5938" width="197.1875" height="250.3125" y="599.8438" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="17" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="45.0715" xml:space="preserve" y="622.2793" clip-path="url(#clipPath2)" stroke="none">Legend</text>
+      <rect fill="none" x="-23.5938" width="197.1875" height="250.3125" y="599.8438" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="gray" transform="matrix(1,0,0,1,40,49) translate(5,5)" stroke="gray">
+      <rect x="-25" width="200" height="83.3702" y="258.3149" clip-path="url(#clipPath3)" stroke="none"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="-25" width="200" height="83.3702" y="258.3149" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="28.5039" xml:space="preserve" y="306.0469" clip-path="url(#clipPath2)" stroke="none">ActionProxy</text>
+    </g>
+    <g stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" stroke-miterlimit="1.45">
+      <rect fill="none" x="-25" width="200" height="83.3702" y="258.3149" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="gray" transform="matrix(1,0,0,1,40,49) translate(5,5)" stroke="gray">
+      <rect x="-25" width="200" height="83.3702" y="383.3149" clip-path="url(#clipPath3)" stroke="none"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="-25" width="200" height="83.3702" y="383.3149" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="21.5039" xml:space="preserve" y="421.625" clip-path="url(#clipPath2)" stroke="none">Configuration</text>
+      <text x="41.5898" xml:space="preserve" y="440.4688" clip-path="url(#clipPath2)" stroke="none">Manager</text>
+    </g>
+    <g stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" stroke-miterlimit="1.45">
+      <rect fill="none" x="-25" width="200" height="83.3702" y="383.3149" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="gray" transform="matrix(1,0,0,1,40,49) translate(5,5)" stroke="gray">
+      <rect x="-25" width="200" height="39.1492" y="505.4254" clip-path="url(#clipPath3)" stroke="none"/>
+    </g>
+    <g fill="rgb(153,204,0)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,0)">
+      <rect x="-25" width="200" height="39.1492" y="505.4254" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="35.4023" xml:space="preserve" y="531.0469" clip-path="url(#clipPath2)" stroke="none">struts.xml</text>
+      <rect fill="none" x="-25" width="200" height="39.1492" y="505.4254" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="gray" transform="matrix(1,0,0,1,40,49) translate(5,5)" stroke="gray">
+      <rect x="205" width="150" height="574.039" y="259.375" clip-path="url(#clipPath3)" stroke="none"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="205" width="150" height="574.039" y="259.375" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="211" xml:space="preserve" y="280.8438" clip-path="url(#clipPath2)" stroke="none">ActionInvocation</text>
+    </g>
+    <g stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" stroke-miterlimit="1.45">
+      <rect fill="none" x="205" width="150" height="574.039" y="259.375" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="333.8385" width="190" height="40" y="290" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="378.4869" xml:space="preserve" y="316.0469" clip-path="url(#clipPath2)" stroke="none">Interceptor 1</text>
+      <rect x="333.8385" y="290" clip-path="url(#clipPath2)" fill="none" width="190" stroke-dasharray="6,2" height="40"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="333.8385" width="190" height="40" y="342.5" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="378.4869" xml:space="preserve" y="368.5469" clip-path="url(#clipPath2)" stroke="none">Interceptor 2</text>
+      <rect x="333.8385" y="342.5" clip-path="url(#clipPath2)" fill="none" width="190" stroke-dasharray="6,2" height="40"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="333.8385" width="190" height="40" y="395" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="378.4869" xml:space="preserve" y="421.0469" clip-path="url(#clipPath2)" stroke="none">Interceptor 3</text>
+      <rect x="333.8385" y="395" clip-path="url(#clipPath2)" fill="none" width="190" stroke-dasharray="6,2" height="40"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="333.8993" width="189.8784" height="40" y="665" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="378.4869" xml:space="preserve" y="691.0469" clip-path="url(#clipPath2)" stroke="none">Interceptor 3</text>
+      <rect x="333.8993" y="665" clip-path="url(#clipPath2)" fill="none" width="189.8784" stroke-dasharray="6,2" height="40"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="333.8993" width="189.8784" height="40" y="719.9227" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="378.4869" xml:space="preserve" y="745.9695" clip-path="url(#clipPath2)" stroke="none">Interceptor 2</text>
+      <rect x="333.8993" y="719.9227" clip-path="url(#clipPath2)" fill="none" width="189.8784" stroke-dasharray="6,2" height="40"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="333.8993" width="189.8784" height="40" y="774.8454" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="378.4869" xml:space="preserve" y="800.8922" clip-path="url(#clipPath2)" stroke="none">Interceptor 1</text>
+      <rect x="333.8993" y="774.8454" clip-path="url(#clipPath2)" fill="none" width="189.8784" stroke-dasharray="6,2" height="40"/>
+    </g>
+    <g fill="rgb(153,204,0)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,0)">
+      <rect x="333.8385" width="190" height="50" y="465" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="404.0377" xml:space="preserve" y="496.0469" clip-path="url(#clipPath2)" stroke="none">Action</text>
+      <rect fill="none" x="333.8385" width="190" height="50" y="465" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="333.8385" width="190" height="65" y="585.0773" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="404.9752" xml:space="preserve" y="623.6242" clip-path="url(#clipPath2)" stroke="none">Result</text>
+    </g>
+    <g stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" stroke-miterlimit="1.45">
+      <rect fill="none" x="333.8385" width="190" height="65" y="585.0773" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="gray" transform="matrix(1,0,0,1,40,49) translate(5,5)" stroke="gray">
+      <rect x="575" width="228.1168" height="150" y="542.5773" clip-path="url(#clipPath3)" stroke="none"/>
+    </g>
+    <g fill="rgb(153,204,0)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,0)">
+      <rect x="575" width="228.1168" height="150" y="542.5773" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="637.8553" xml:space="preserve" y="585.9367" clip-path="url(#clipPath2)" stroke="none">Template</text>
+      <text x="637.8553" xml:space="preserve" y="604.7805" clip-path="url(#clipPath2)" stroke="none">- JSP</text>
+      <text x="637.8553" xml:space="preserve" y="623.6242" clip-path="url(#clipPath2)" stroke="none">- Freemarker</text>
+      <text x="637.8553" xml:space="preserve" y="642.468" clip-path="url(#clipPath2)" stroke="none">- Velocity</text>
+      <text x="637.8553" xml:space="preserve" y="661.3117" clip-path="url(#clipPath2)" stroke="none">- etc</text>
+      <rect fill="none" x="575" width="228.1168" height="150" y="542.5773" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="333.8385" width="190" height="30" y="535.0387" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="339.8385" xml:space="preserve" y="556.0855" clip-path="url(#clipPath2)" stroke="none">PreResultListener</text>
+    </g>
+    <g stroke-dasharray="6,2" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <rect fill="none" x="333.8385" width="190" height="30" y="535.0387" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="gray" transform="matrix(1,0,0,1,40,49) translate(5,5)" stroke="gray">
+      <rect x="575" width="228.1168" height="80.3204" y="419.8398" clip-path="url(#clipPath3)" stroke="none"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="575" width="228.1168" height="80.3204" y="419.8398" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="622.5506" xml:space="preserve" y="456.625" clip-path="url(#clipPath2)" stroke="none">Tag Subsystem </text>
+      <text x="622.5506" xml:space="preserve" y="475.4688" clip-path="url(#clipPath2)" stroke="none">(HTML, Forms, ..)</text>
+    </g>
+    <g stroke-dasharray="6,2" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <rect fill="none" x="575" width="228.1168" height="80.3204" y="419.8398" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(255,153,0)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(255,153,0)">
+      <rect x="0" width="150" height="30" y="635" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="22.8125" xml:space="preserve" y="656.0469" clip-path="url(#clipPath2)" stroke="none">Servlet Filters</text>
+      <rect fill="none" x="0" width="150" height="30" y="635" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(0,102,153)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,102,153)">
+      <rect x="0" width="150" height="30" y="685" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="40.6016" xml:space="preserve" y="706.0469" clip-path="url(#clipPath2)" stroke="none">WW Core</text>
+    </g>
+    <g stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" stroke-miterlimit="1.45">
+      <rect fill="none" x="0" width="150" height="30" y="685" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(153,204,255)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,255)">
+      <rect x="0" width="150" height="30" y="735" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="28.1602" xml:space="preserve" y="756.0469" clip-path="url(#clipPath2)" stroke="none">Interceptors</text>
+      <rect fill="none" x="0" width="150" height="30" y="735" clip-path="url(#clipPath2)"/>
+    </g>
+    <g fill="rgb(153,204,0)" transform="matrix(1,0,0,1,40,49)" stroke="rgb(153,204,0)">
+      <rect x="0" width="150" height="30" y="785" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="26.3867" xml:space="preserve" y="806.0469" clip-path="url(#clipPath2)" stroke="none">User created</text>
+      <rect fill="none" x="0" width="150" height="30" y="785" clip-path="url(#clipPath2)"/>
+    </g>
+    <g transform="matrix(1,0,0,1,3.4062,116)" image-rendering="optimizeQuality">
+      <image x="0" y="0" clip-path="url(#clipPath4)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAoElEQVR42u2U3QqA&#10;IAyFnVv29/7vm8ERhkRYal60A9+NkOdrrJyzWCwWy99Do++lxqWk7qSvBFKpV+Qy&#10;3QRSCUcEMPAlEtSg/CydIkExqWncRioFGGVLZAUzzrhkAtJg9AHFe2SDjCiBbhPw&#10;eD6gdAMzzqmnAF0ILCgPagGL3qJGIO1AQp6U1wi47Nvn7B/gvhDIJejtIg2NCZiA&#10;CQwXOACT5QF38sD4BwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(27.008,0,0,1,32,0)" clip-path="url(#clipPath5)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAQ0lEQVR42u3Uuw0A&#10;IAgAUfwkFpro/tNq4Q5XcJfQvwKIMDOz7JU/WP1NowGDBiwasGnAoQEz/RKiZ1jp&#10;TyhAgAABAi6iOQCDYZC1igAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,896.257,0)" clip-path="url(#clipPath6)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAtElEQVR42u2UUQuD&#10;MAyEbZzsYYPt///R4WrjKlwh9C1Xxx6Wg4NSkfsSY6YpFAqFQv+uBHu0nwlwqZ6J&#10;8N14GODqCG8u1YqzjgLcHVUrwje4dHAUwMNRfQt/wyuelxGApxOgBb/MANMzcQDc&#10;HDNwAOTqpVpwr91MfHUIFe+IaX2GCzOQzG9oK8/4HCvOydsFIRaXAHyBW0eEWGpu&#10;ALs9W+jMhrMAPURiw0cATlMABEAA/BzgA38PPBy0sBV4AAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.25,0,32)" clip-path="url(#clipPath7)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVR42u3OoQ0A&#10;IAxFQaACAYL9p6WCBcBg7ifPVDRXy9si69nM1mmcW9w8auXzAAAAAAAAAAAAAAAA&#10;AAAANrleAIukEqVhAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.25,896.257,32)" clip-path="url(#clipPath8)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARklEQVR42u3OqxEA&#10;IAwE0YP26L8PBAgEnxNpIAqzN7MmIvOKpKbcrttuueF6NON2Ms+qPg8AAAAAAAAA&#10;AAAAAAAAAAAA8ADrwAlAkUuehwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,0,40)" clip-path="url(#clipPath9)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVR42u2UUQuD&#10;MAyEG1PZw/aw//9LN1nNUjghlCHaageSgwMrePmaBCnUidU39UP9hO94x3uChvBn&#10;OYADOMAlAATuDiDGMyy9AXLRBFdBcGVxAnz+PqpHPPPeS3FDBxaIoShOxWhkzbEB&#10;IId/1JP6ZS6T0JEFhtZC4gHzn1BMzHncOo7YuITpR0feyOUtHaCD/iV2IWOxD+Fs&#10;ALuQdjGpJ0CZRyflu1wul+uC+gLhsCt+DtSVsgAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(27.008,0,0,1,32,40)" clip-path="url(#clipPath10)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARUlEQVR42u3OsQ2A&#10;MBDF0H8hFatl/z1AokmB4LZwY0vuXyVZARuBEyBAgAABs/9owEsDNg14aMBNAy4S&#10;UP1JA46YmZmB/Uo1BlQhe3TLAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,896.257,40)" clip-path="url(#clipPath11)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR42u2W3QrD&#10;IAyF082rvdre/z066P40rUvhBHKxC6Nlu8mBQ6Go+Uxi7UREV/KpilfxW7yIZ/iO&#10;d5tnsRP9WQEQAAEQAL0AFV88dYV/AmCDr/DWC5CcE/exDBeYAdGVhYTJLYEJO2Vc&#10;Oi84j2QhYbEWAE19QeCHAWDvLWgBlsaxWvMC6CecTQm6AG6O9GsJMiAygIaacHaU&#10;QH9G2DRf9+53TeKLowkPO/8W4Ow4gt+eoVAoFAoN6QO8d14KJCW2mQAAAABJRU5E&#10;rkJggg==" height="32" preserveAspectRatio="none"/>
+      <path fill="rgb(255,153,0)" d="M-23.5938 99 L872.6632 99 L872.6632 110 Q872.6632 120 862.6632 120 L-13.5938 120 Q-23.5938 120 -23.5938 110 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,36.5938,-67)" image-rendering="auto" stroke="none"/>
+      <path fill="url(#linearGradient1)" d="M-23.5938 90 Q-23.5938 80 -13.5938 80 L862.6632 80 Q872.6632 80 872.6632 90 L872.6632 100 L-23.5938 100 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,36.5938,-67)" image-rendering="auto" stroke="none"/>
+    </g>
+    <g fill="rgb(217,130,0)" stroke-width="2" transform="matrix(1,0,0,1,40,49)" stroke="rgb(217,130,0)">
+      <path fill="none" d="M-21.5938 90 Q-21.5938 82 -13.5938 82 L862.6632 82 Q870.6632 82 870.6632 90 L870.6632 110 Q870.6632 118 862.6632 118 L-13.5938 118 Q-21.5938 118 -21.5938 110 Z" clip-path="url(#clipPath2)"/>
+      <path fill="none" stroke-width="1" d="M-21.5938 90 Q-21.5938 82 -13.5938 82 L862.6632 82 Q870.6632 82 870.6632 90 L870.6632 110 Q870.6632 118 862.6632 118 L-13.5938 118 Q-21.5938 118 -21.5938 110 Z" clip-path="url(#clipPath2)" stroke="black"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="352.9527" xml:space="preserve" y="106.0469" clip-path="url(#clipPath2)" stroke="none">StrutsPrepareFilter</text>
+    </g>
+    <g transform="matrix(1,0,0,1,3.4062,166)" image-rendering="optimizeQuality">
+      <image x="0" y="0" clip-path="url(#clipPath12)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAoElEQVR42u2U3QqA&#10;IAyFnVv29/7vm8ERhkRYal60A9+NkOdrrJyzWCwWy99Do++lxqWk7qSvBFKpV+Qy&#10;3QRSCUcEMPAlEtSg/CydIkExqWncRioFGGVLZAUzzrhkAtJg9AHFe2SDjCiBbhPw&#10;eD6gdAMzzqmnAF0ILCgPagGL3qJGIO1AQp6U1wi47Nvn7B/gvhDIJejtIg2NCZiA&#10;CQwXOACT5QF38sD4BwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(27.008,0,0,1,32,0)" clip-path="url(#clipPath13)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAQ0lEQVR42u3Uuw0A&#10;IAgAUfwkFpro/tNq4Q5XcJfQvwKIMDOz7JU/WP1NowGDBiwasGnAoQEz/RKiZ1jp&#10;TyhAgAABAi6iOQCDYZC1igAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,896.257,0)" clip-path="url(#clipPath14)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAtElEQVR42u2UUQuD&#10;MAyEbZzsYYPt///R4WrjKlwh9C1Xxx6Wg4NSkfsSY6YpFAqFQv+uBHu0nwlwqZ6J&#10;8N14GODqCG8u1YqzjgLcHVUrwje4dHAUwMNRfQt/wyuelxGApxOgBb/MANMzcQDc&#10;HDNwAOTqpVpwr91MfHUIFe+IaX2GCzOQzG9oK8/4HCvOydsFIRaXAHyBW0eEWGpu&#10;ALs9W+jMhrMAPURiw0cATlMABEAA/BzgA38PPBy0sBV4AAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.25,0,32)" clip-path="url(#clipPath15)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVR42u3OoQ0A&#10;IAxFQaACAYL9p6WCBcBg7ifPVDRXy9si69nM1mmcW9w8auXzAAAAAAAAAAAAAAAA&#10;AAAANrleAIukEqVhAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.25,896.257,32)" clip-path="url(#clipPath16)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARklEQVR42u3OqxEA&#10;IAwE0YP26L8PBAgEnxNpIAqzN7MmIvOKpKbcrttuueF6NON2Ms+qPg8AAAAAAAAA&#10;AAAAAAAAAAAA8ADrwAlAkUuehwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,0,40)" clip-path="url(#clipPath17)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVR42u2UUQuD&#10;MAyEG1PZw/aw//9LN1nNUjghlCHaageSgwMrePmaBCnUidU39UP9hO94x3uChvBn&#10;OYADOMAlAATuDiDGMyy9AXLRBFdBcGVxAnz+PqpHPPPeS3FDBxaIoShOxWhkzbEB&#10;IId/1JP6ZS6T0JEFhtZC4gHzn1BMzHncOo7YuITpR0feyOUtHaCD/iV2IWOxD+Fs&#10;ALuQdjGpJ0CZRyflu1wul+uC+gLhsCt+DtSVsgAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(27.008,0,0,1,32,40)" clip-path="url(#clipPath18)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARUlEQVR42u3OsQ2A&#10;MBDF0H8hFatl/z1AokmB4LZwY0vuXyVZARuBEyBAgAABs/9owEsDNg14aMBNAy4S&#10;UP1JA46YmZmB/Uo1BlQhe3TLAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,896.257,40)" clip-path="url(#clipPath19)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR42u2W3QrD&#10;IAyF082rvdre/z066P40rUvhBHKxC6Nlu8mBQ6Go+Uxi7UREV/KpilfxW7yIZ/iO&#10;d5tnsRP9WQEQAAEQAL0AFV88dYV/AmCDr/DWC5CcE/exDBeYAdGVhYTJLYEJO2Vc&#10;Oi84j2QhYbEWAE19QeCHAWDvLWgBlsaxWvMC6CecTQm6AG6O9GsJMiAygIaacHaU&#10;QH9G2DRf9+53TeKLowkPO/8W4Ow4gt+eoVAoFAoN6QO8d14KJCW2mQAAAABJRU5E&#10;rkJggg==" height="32" preserveAspectRatio="none"/>
+      <path fill="rgb(255,153,0)" d="M-23.5938 149 L872.6632 149 L872.6632 160 Q872.6632 170 862.6632 170 L-13.5938 170 Q-23.5938 170 -23.5938 160 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,36.5938,-117)" image-rendering="auto" stroke="none"/>
+      <path fill="url(#linearGradient2)" d="M-23.5938 140 Q-23.5938 130 -13.5938 130 L862.6632 130 Q872.6632 130 872.6632 140 L872.6632 150 L-23.5938 150 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,36.5938,-117)" image-rendering="auto" stroke="none"/>
+    </g>
+    <g fill="rgb(217,130,0)" stroke-width="2" transform="matrix(1,0,0,1,40,49)" stroke="rgb(217,130,0)">
+      <path fill="none" d="M-21.5938 140 Q-21.5938 132 -13.5938 132 L862.6632 132 Q870.6632 132 870.6632 140 L870.6632 160 Q870.6632 168 862.6632 168 L-13.5938 168 Q-21.5938 168 -21.5938 160 Z" clip-path="url(#clipPath2)"/>
+      <path fill="none" stroke-width="1" d="M-21.5938 140 Q-21.5938 132 -13.5938 132 L862.6632 132 Q870.6632 132 870.6632 140 L870.6632 160 Q870.6632 168 862.6632 168 L-13.5938 168 Q-21.5938 168 -21.5938 160 Z" clip-path="url(#clipPath2)" stroke="black"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="318.9293" xml:space="preserve" y="156.0469" clip-path="url(#clipPath2)" stroke="none">Other filters (SiteMesh, etc)</text>
+    </g>
+    <g transform="matrix(1,0,0,1,2,216)" image-rendering="optimizeQuality">
+      <image x="0" y="0" clip-path="url(#clipPath20)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAoElEQVR42u2U3QqA&#10;IAyFnVv29/7vm8ERhkRYal60A9+NkOdrrJyzWCwWy99Do++lxqWk7qSvBFKpV+Qy&#10;3QRSCUcEMPAlEtSg/CydIkExqWncRioFGGVLZAUzzrhkAtJg9AHFe2SDjCiBbhPw&#10;eD6gdAMzzqmnAF0ILCgPagGL3qJGIO1AQp6U1wi47Nvn7B/gvhDIJejtIg2NCZiA&#10;CQwXOACT5QF38sD4BwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(27.052,0,0,1,32,0)" clip-path="url(#clipPath21)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAQ0lEQVR42u3Uuw0A&#10;IAgAUfwkFpro/tNq4Q5XcJfQvwKIMDOz7JU/WP1NowGDBiwasGnAoQEz/RKiZ1jp&#10;TyhAgAABAi6iOQCDYZC1igAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,897.6632,0)" clip-path="url(#clipPath22)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAtElEQVR42u2UUQuD&#10;MAyEbZzsYYPt///R4WrjKlwh9C1Xxx6Wg4NSkfsSY6YpFAqFQv+uBHu0nwlwqZ6J&#10;8N14GODqCG8u1YqzjgLcHVUrwje4dHAUwMNRfQt/wyuelxGApxOgBb/MANMzcQDc&#10;HDNwAOTqpVpwr91MfHUIFe+IaX2GCzOQzG9oK8/4HCvOydsFIRaXAHyBW0eEWGpu&#10;ALs9W+jMhrMAPURiw0cATlMABEAA/BzgA38PPBy0sBV4AAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.25,0,32)" clip-path="url(#clipPath23)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVR42u3OoQ0A&#10;IAxFQaACAYL9p6WCBcBg7ifPVDRXy9si69nM1mmcW9w8auXzAAAAAAAAAAAAAAAA&#10;AAAANrleAIukEqVhAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.25,897.6632,32)" clip-path="url(#clipPath24)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARklEQVR42u3OqxEA&#10;IAwE0YP26L8PBAgEnxNpIAqzN7MmIvOKpKbcrttuueF6NON2Ms+qPg8AAAAAAAAA&#10;AAAAAAAAAAAA8ADrwAlAkUuehwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,0,40)" clip-path="url(#clipPath25)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVR42u2UUQuD&#10;MAyEG1PZw/aw//9LN1nNUjghlCHaageSgwMrePmaBCnUidU39UP9hO94x3uChvBn&#10;OYADOMAlAATuDiDGMyy9AXLRBFdBcGVxAnz+PqpHPPPeS3FDBxaIoShOxWhkzbEB&#10;IId/1JP6ZS6T0JEFhtZC4gHzn1BMzHncOo7YuITpR0feyOUtHaCD/iV2IWOxD+Fs&#10;ALuQdjGpJ0CZRyflu1wul+uC+gLhsCt+DtSVsgAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(27.052,0,0,1,32,40)" clip-path="url(#clipPath26)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARUlEQVR42u3OsQ2A&#10;MBDF0H8hFatl/z1AokmB4LZwY0vuXyVZARuBEyBAgAABs/9owEsDNg14aMBNAy4S&#10;UP1JA46YmZmB/Uo1BlQhe3TLAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,897.6632,40)" clip-path="url(#clipPath27)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR42u2W3QrD&#10;IAyF082rvdre/z066P40rUvhBHKxC6Nlu8mBQ6Go+Uxi7UREV/KpilfxW7yIZ/iO&#10;d5tnsRP9WQEQAAEQAL0AFV88dYV/AmCDr/DWC5CcE/exDBeYAdGVhYTJLYEJO2Vc&#10;Oi84j2QhYbEWAE19QeCHAWDvLWgBlsaxWvMC6CecTQm6AG6O9GsJMiAygIaacHaU&#10;QH9G2DRf9+53TeKLowkPO/8W4Ow4gt+eoVAoFAoN6QO8d14KJCW2mQAAAABJRU5E&#10;rkJggg==" height="32" preserveAspectRatio="none"/>
+      <path fill="rgb(255,153,0)" d="M-25 199 L872.6632 199 L872.6632 210 Q872.6632 220 862.6632 220 L-15 220 Q-25 220 -25 210 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,38,-167)" image-rendering="auto" stroke="none"/>
+      <path fill="url(#linearGradient3)" d="M-25 190 Q-25 180 -15 180 L862.6632 180 Q872.6632 180 872.6632 190 L872.6632 200 L-25 200 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,38,-167)" image-rendering="auto" stroke="none"/>
+    </g>
+    <g fill="rgb(217,130,0)" stroke-width="2" transform="matrix(1,0,0,1,40,49)" stroke="rgb(217,130,0)">
+      <path fill="none" d="M-23 190 Q-23 182 -15 182 L862.6632 182 Q870.6632 182 870.6632 190 L870.6632 210 Q870.6632 218 862.6632 218 L-15 218 Q-23 218 -23 210 Z" clip-path="url(#clipPath2)"/>
+      <path fill="none" stroke-width="1" d="M-23 190 Q-23 182 -15 182 L862.6632 182 Q870.6632 182 870.6632 190 L870.6632 210 Q870.6632 218 862.6632 218 L-15 218 Q-23 218 -23 210 Z" clip-path="url(#clipPath2)" stroke="black"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="351.3746" xml:space="preserve" y="206.0469" clip-path="url(#clipPath2)" stroke="none">StrutsExecuteFilter</text>
+    </g>
+    <g transform="matrix(1,0,0,1,425.6825,47.1615)" image-rendering="optimizeQuality">
+      <image x="0" y="0" clip-path="url(#clipPath28)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAoElEQVR42u2U3QqA&#10;IAyFnVv29/7vm8ERhkRYal60A9+NkOdrrJyzWCwWy99Do++lxqWk7qSvBFKpV+Qy&#10;3QRSCUcEMPAlEtSg/CydIkExqWncRioFGGVLZAUzzrhkAtJg9AHFe2SDjCiBbhPw&#10;eD6gdAMzzqmnAF0ILCgPagGL3qJGIO1AQp6U1wi47Nvn7B/gvhDIJejtIg2NCZiA&#10;CQwXOACT5QF38sD4BwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(6.1287,0,0,1,32,0)" clip-path="url(#clipPath29)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAQ0lEQVR42u3Uuw0A&#10;IAgAUfwkFpro/tNq4Q5XcJfQvwKIMDOz7JU/WP1NowGDBiwasGnAoQEz/RKiZ1jp&#10;TyhAgAABAi6iOQCDYZC1igAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,228.1168,0)" clip-path="url(#clipPath30)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAtElEQVR42u2UUQuD&#10;MAyEbZzsYYPt///R4WrjKlwh9C1Xxx6Wg4NSkfsSY6YpFAqFQv+uBHu0nwlwqZ6J&#10;8N14GODqCG8u1YqzjgLcHVUrwje4dHAUwMNRfQt/wyuelxGApxOgBb/MANMzcQDc&#10;HDNwAOTqpVpwr91MfHUIFe+IaX2GCzOQzG9oK8/4HCvOydsFIRaXAHyBW0eEWGpu&#10;ALs9W+jMhrMAPURiw0cATlMABEAA/BzgA38PPBy0sBV4AAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.5625,0,32)" clip-path="url(#clipPath31)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVR42u3OoQ0A&#10;IAxFQaACAYL9p6WCBcBg7ifPVDRXy9si69nM1mmcW9w8auXzAAAAAAAAAAAAAAAA&#10;AAAANrleAIukEqVhAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.5625,228.1168,32)" clip-path="url(#clipPath32)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARklEQVR42u3OqxEA&#10;IAwE0YP26L8PBAgEnxNpIAqzN7MmIvOKpKbcrttuueF6NON2Ms+qPg8AAAAAAAAA&#10;AAAAAAAAAAAA8ADrwAlAkUuehwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,0,50)" clip-path="url(#clipPath33)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVR42u2UUQuD&#10;MAyEG1PZw/aw//9LN1nNUjghlCHaageSgwMrePmaBCnUidU39UP9hO94x3uChvBn&#10;OYADOMAlAATuDiDGMyy9AXLRBFdBcGVxAnz+PqpHPPPeS3FDBxaIoShOxWhkzbEB&#10;IId/1JP6ZS6T0JEFhtZC4gHzn1BMzHncOo7YuITpR0feyOUtHaCD/iV2IWOxD+Fs&#10;ALuQdjGpJ0CZRyflu1wul+uC+gLhsCt+DtSVsgAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(6.1287,0,0,1,32,50)" clip-path="url(#clipPath34)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARUlEQVR42u3OsQ2A&#10;MBDF0H8hFatl/z1AokmB4LZwY0vuXyVZARuBEyBAgAABs/9owEsDNg14aMBNAy4S&#10;UP1JA46YmZmB/Uo1BlQhe3TLAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,228.1168,50)" clip-path="url(#clipPath35)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR42u2W3QrD&#10;IAyF082rvdre/z066P40rUvhBHKxC6Nlu8mBQ6Go+Uxi7UREV/KpilfxW7yIZ/iO&#10;d5tnsRP9WQEQAAEQAL0AFV88dYV/AmCDr/DWC5CcE/exDBeYAdGVhYTJLYEJO2Vc&#10;Oi84j2QhYbEWAE19QeCHAWDvLWgBlsaxWvMC6CecTQm6AG6O9GsJMiAygIaacHaU&#10;QH9G2DRf9+53TeKLowkPO/8W4Ow4gt+eoVAoFAoN6QO8d14KJCW2mQAAAABJRU5E&#10;rkJggg==" height="32" preserveAspectRatio="none"/>
+      <path fill="silver" d="M398.6825 35.1615 L626.7993 35.1615 L626.7993 51.1615 Q626.7993 61.1615 616.7993 61.1615 L408.6825 61.1615 Q398.6825 61.1615 398.6825 51.1615 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,-385.6825,1.8385)" image-rendering="auto" stroke="none"/>
+      <path fill="url(#linearGradient4)" d="M398.6825 21.1615 Q398.6825 11.1615 408.6825 11.1615 L616.7993 11.1615 Q626.7993 11.1615 626.7993 21.1615 L626.7993 36.1615 L398.6825 36.1615 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,-385.6825,1.8385)" image-rendering="auto" stroke="none"/>
+    </g>
+    <g fill="rgb(163,163,163)" stroke-width="2" transform="matrix(1,0,0,1,40,49)" stroke="rgb(163,163,163)">
+      <path fill="none" d="M400.6825 21.1615 Q400.6825 13.1615 408.6825 13.1615 L616.7993 13.1615 Q624.7993 13.1615 624.7993 21.1615 L624.7993 51.1615 Q624.7993 59.1615 616.7993 59.1615 L408.6825 59.1615 Q400.6825 59.1615 400.6825 51.1615 Z" clip-path="url(#clipPath2)"/>
+      <path fill="none" stroke-width="1" d="M400.6825 21.1615 Q400.6825 13.1615 408.6825 13.1615 L616.7993 13.1615 Q624.7993 13.1615 624.7993 21.1615 L624.7993 51.1615 Q624.7993 59.1615 616.7993 59.1615 L408.6825 59.1615 Q400.6825 59.1615 400.6825 51.1615 Z" clip-path="url(#clipPath2)" stroke="black"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="438.8581" xml:space="preserve" y="42.2084" clip-path="url(#clipPath2)" stroke="none">HttpServletRequest</text>
+    </g>
+    <g transform="matrix(1,0,0,1,602,326)" image-rendering="optimizeQuality">
+      <image x="0" y="0" clip-path="url(#clipPath36)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAoElEQVR42u2U3QqA&#10;IAyFnVv29/7vm8ERhkRYal60A9+NkOdrrJyzWCwWy99Do++lxqWk7qSvBFKpV+Qy&#10;3QRSCUcEMPAlEtSg/CydIkExqWncRioFGGVLZAUzzrhkAtJg9AHFe2SDjCiBbhPw&#10;eD6gdAMzzqmnAF0ILCgPagGL3qJGIO1AQp6U1wi47Nvn7B/gvhDIJejtIg2NCZiA&#10;CQwXOACT5QF38sD4BwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(6.1287,0,0,1,32,0)" clip-path="url(#clipPath37)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAQ0lEQVR42u3Uuw0A&#10;IAgAUfwkFpro/tNq4Q5XcJfQvwKIMDOz7JU/WP1NowGDBiwasGnAoQEz/RKiZ1jp&#10;TyhAgAABAi6iOQCDYZC1igAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,228.1168,0)" clip-path="url(#clipPath38)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAtElEQVR42u2UUQuD&#10;MAyEbZzsYYPt///R4WrjKlwh9C1Xxx6Wg4NSkfsSY6YpFAqFQv+uBHu0nwlwqZ6J&#10;8N14GODqCG8u1YqzjgLcHVUrwje4dHAUwMNRfQt/wyuelxGApxOgBb/MANMzcQDc&#10;HDNwAOTqpVpwr91MfHUIFe+IaX2GCzOQzG9oK8/4HCvOydsFIRaXAHyBW0eEWGpu&#10;ALs9W+jMhrMAPURiw0cATlMABEAA/BzgA38PPBy0sBV4AAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1.5,0,32)" clip-path="url(#clipPath39)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVR42u3OoQ0A&#10;IAxFQaACAYL9p6WCBcBg7ifPVDRXy9si69nM1mmcW9w8auXzAAAAAAAAAAAAAAAA&#10;AAAANrleAIukEqVhAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1.5,228.1168,32)" clip-path="url(#clipPath40)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARklEQVR42u3OqxEA&#10;IAwE0YP26L8PBAgEnxNpIAqzN7MmIvOKpKbcrttuueF6NON2Ms+qPg8AAAAAAAAA&#10;AAAAAAAAAAAA8ADrwAlAkUuehwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,0,80)" clip-path="url(#clipPath41)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVR42u2UUQuD&#10;MAyEG1PZw/aw//9LN1nNUjghlCHaageSgwMrePmaBCnUidU39UP9hO94x3uChvBn&#10;OYADOMAlAATuDiDGMyy9AXLRBFdBcGVxAnz+PqpHPPPeS3FDBxaIoShOxWhkzbEB&#10;IId/1JP6ZS6T0JEFhtZC4gHzn1BMzHncOo7YuITpR0feyOUtHaCD/iV2IWOxD+Fs&#10;ALuQdjGpJ0CZRyflu1wul+uC+gLhsCt+DtSVsgAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(6.1287,0,0,1,32,80)" clip-path="url(#clipPath42)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARUlEQVR42u3OsQ2A&#10;MBDF0H8hFatl/z1AokmB4LZwY0vuXyVZARuBEyBAgAABs/9owEsDNg14aMBNAy4S&#10;UP1JA46YmZmB/Uo1BlQhe3TLAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,228.1168,80)" clip-path="url(#clipPath43)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR42u2W3QrD&#10;IAyF082rvdre/z066P40rUvhBHKxC6Nlu8mBQ6Go+Uxi7UREV/KpilfxW7yIZ/iO&#10;d5tnsRP9WQEQAAEQAL0AFV88dYV/AmCDr/DWC5CcE/exDBeYAdGVhYTJLYEJO2Vc&#10;Oi84j2QhYbEWAE19QeCHAWDvLWgBlsaxWvMC6CecTQm6AG6O9GsJMiAygIaacHaU&#10;QH9G2DRf9+53TeKLowkPO/8W4Ow4gt+eoVAoFAoN6QO8d14KJCW2mQAAAABJRU5E&#10;rkJggg==" height="32" preserveAspectRatio="none"/>
+      <path fill="rgb(0,102,153)" d="M575 329 L803.1168 329 L803.1168 360 Q803.1168 370 793.1168 370 L585 370 Q575 370 575 360 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,-562,-277)" image-rendering="auto" stroke="none"/>
+      <path fill="url(#linearGradient5)" d="M575 300 Q575 290 585 290 L793.1168 290 Q803.1168 290 803.1168 300 L803.1168 330 L575 330 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,-562,-277)" image-rendering="auto" stroke="none"/>
+    </g>
+    <g fill="rgb(0,87,130)" stroke-width="2" transform="matrix(1,0,0,1,40,49)" stroke="rgb(0,87,130)">
+      <path fill="none" d="M577 300 Q577 292 585 292 L793.1168 292 Q801.1168 292 801.1168 300 L801.1168 360 Q801.1168 368 793.1168 368 L585 368 Q577 368 577 360 Z" clip-path="url(#clipPath2)"/>
+      <path fill="none" stroke-width="1" d="M577 300 Q577 292 585 292 L793.1168 292 Q801.1168 292 801.1168 300 L801.1168 360 Q801.1168 368 793.1168 368 L585 368 Q577 368 577 360 Z" clip-path="url(#clipPath2)" stroke="black"/>
+    </g>
+    <g font-size="16" stroke-linecap="butt" transform="matrix(1,0,0,1,40,49)" fill="white" font-family="sans-serif" stroke="white" stroke-miterlimit="1.45">
+      <text x="635.1483" xml:space="preserve" y="336.0469" clip-path="url(#clipPath2)" stroke="none">ActionMapper</text>
+    </g>
+    <g transform="matrix(1,0,0,1,671.5464,47.1615)" image-rendering="optimizeQuality">
+      <image x="0" y="0" clip-path="url(#clipPath44)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAoElEQVR42u2U3QqA&#10;IAyFnVv29/7vm8ERhkRYal60A9+NkOdrrJyzWCwWy99Do++lxqWk7qSvBFKpV+Qy&#10;3QRSCUcEMPAlEtSg/CydIkExqWncRioFGGVLZAUzzrhkAtJg9AHFe2SDjCiBbhPw&#10;eD6gdAMzzqmnAF0ILCgPagGL3qJGIO1AQp6U1wi47Nvn7B/gvhDIJejtIg2NCZiA&#10;CQwXOACT5QF38sD4BwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(6.1287,0,0,1,32,0)" clip-path="url(#clipPath45)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAQ0lEQVR42u3Uuw0A&#10;IAgAUfwkFpro/tNq4Q5XcJfQvwKIMDOz7JU/WP1NowGDBiwasGnAoQEz/RKiZ1jp&#10;TyhAgAABAi6iOQCDYZC1igAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,228.1168,0)" clip-path="url(#clipPath46)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAtElEQVR42u2UUQuD&#10;MAyEbZzsYYPt///R4WrjKlwh9C1Xxx6Wg4NSkfsSY6YpFAqFQv+uBHu0nwlwqZ6J&#10;8N14GODqCG8u1YqzjgLcHVUrwje4dHAUwMNRfQt/wyuelxGApxOgBb/MANMzcQDc&#10;HDNwAOTqpVpwr91MfHUIFe+IaX2GCzOQzG9oK8/4HCvOydsFIRaXAHyBW0eEWGpu&#10;ALs9W+jMhrMAPURiw0cATlMABEAA/BzgA38PPBy0sBV4AAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.5625,0,32)" clip-path="url(#clipPath47)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAP0lEQVR42u3OoQ0A&#10;IAxFQaACAYL9p6WCBcBg7ifPVDRXy9si69nM1mmcW9w8auXzAAAAAAAAAAAAAAAA&#10;AAAANrleAIukEqVhAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,0.5625,228.1168,32)" clip-path="url(#clipPath48)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARklEQVR42u3OqxEA&#10;IAwE0YP26L8PBAgEnxNpIAqzN7MmIvOKpKbcrttuueF6NON2Ms+qPg8AAAAAAAAA&#10;AAAAAAAAAAAA8ADrwAlAkUuehwAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,0,50)" clip-path="url(#clipPath49)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAr0lEQVR42u2UUQuD&#10;MAyEG1PZw/aw//9LN1nNUjghlCHaageSgwMrePmaBCnUidU39UP9hO94x3uChvBn&#10;OYADOMAlAATuDiDGMyy9AXLRBFdBcGVxAnz+PqpHPPPeS3FDBxaIoShOxWhkzbEB&#10;IId/1JP6ZS6T0JEFhtZC4gHzn1BMzHncOo7YuITpR0feyOUtHaCD/iV2IWOxD+Fs&#10;ALuQdjGpJ0CZRyflu1wul+uC+gLhsCt+DtSVsgAAAABJRU5ErkJggg==" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(6.1287,0,0,1,32,50)" clip-path="url(#clipPath50)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAARUlEQVR42u3OsQ2A&#10;MBDF0H8hFatl/z1AokmB4LZwY0vuXyVZARuBEyBAgAABs/9owEsDNg14aMBNAy4S&#10;UP1JA46YmZmB/Uo1BlQhe3TLAAAAAElFTkSuQmCC" height="32" preserveAspectRatio="none"/>
+      <image x="0" y="0" transform="matrix(1,0,0,1,228.1168,50)" clip-path="url(#clipPath51)" width="32" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAu0lEQVR42u2W3QrD&#10;IAyF082rvdre/z066P40rUvhBHKxC6Nlu8mBQ6Go+Uxi7UREV/KpilfxW7yIZ/iO&#10;d5tnsRP9WQEQAAEQAL0AFV88dYV/AmCDr/DWC5CcE/exDBeYAdGVhYTJLYEJO2Vc&#10;Oi84j2QhYbEWAE19QeCHAWDvLWgBlsaxWvMC6CecTQm6AG6O9GsJMiAygIaacHaU&#10;QH9G2DRf9+53TeKLowkPO/8W4Ow4gt+eoVAoFAoN6QO8d14KJCW2mQAAAABJRU5E&#10;rkJggg==" height="32" preserveAspectRatio="none"/>
+      <path fill="silver" d="M644.5464 35.1615 L872.6632 35.1615 L872.6632 51.1615 Q872.6632 61.1615 862.6632 61.1615 L654.5464 61.1615 Q644.5464 61.1615 644.5464 51.1615 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,-631.5464,1.8385)" image-rendering="auto" stroke="none"/>
+      <path fill="url(#linearGradient6)" d="M644.5464 21.1615 Q644.5464 11.1615 654.5464 11.1615 L862.6632 11.1615 Q872.6632 11.1615 872.6632 21.1615 L872.6632 36.1615 L644.5464 36.1615 Z" clip-path="url(#clipPath2)" transform="matrix(1,0,0,1,-631.5464,1.8385)" image-rendering="auto" stroke="none"/>
+    </g>
+    <g fill="rgb(163,163,163)" stroke-width="2" transform="matrix(1,0,0,1,40,49)" stroke="rgb(163,163,163)">
+      <path fill="none" d="M646.5464 21.1615 Q646.5464 13.1615 654.5464 13.1615 L862.6632 13.1615 Q870.6632 13.1615 870.6632 21.1615 L870.6632 51.1615 Q870.6632 59.1615 862.6632 59.1615 L654.5464 59.1615 Q646.5464 59.1615 646.5464 51.1615 Z" clip-path="url(#clipPath2)"/>
+      <path fill="none" stroke-width="1" d="M646.5464 21.1615 Q646.5464 13.1615 654.5464 13.1615 L862.6632 13.1615 Q870.6632 13.1615 870.6632 21.1615 L870.6632 51.1615 Q870.6632 59.1615 862.6632 59.1615 L654.5464 59.1615 Q646.5464 59.1615 646.5464 51.1615 Z" clip-path="url(#clipPath2)" stroke="black"/>
+    </g>
+    <g font-size="16" stroke-miterlimit="1.45" font-family="sans-serif" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <text x="678.722" xml:space="preserve" y="42.2084" clip-path="url(#clipPath2)" stroke="none">HttpServletResponse</text>
+    </g>
+    <g fill="white" transform="matrix(1,0,0,1,40,49)" stroke="white">
+      <rect x="-15.9992" width="276.7133" height="102.323" y="-33.6274" clip-path="url(#clipPath2)" stroke="none"/>
+      <image x="0" y="0" transform="translate(-6.1426,-27.6274) scale(1.028,1.028)" clip-path="url(#clipPath52)" width="250" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAABMCAYAAABEf6pVAAAgAElEQVR42u1dCXgU&#10;VbY+HZKQAAmBIGswBAMCgvIQGBQGAojiPHnwFB7LfKIyyvBcUEd0QHAEH3wyjk8Q&#10;YUb90FHkQ1l8oqIiWyJKCIssEyBhEVwCASRkBUJY+tV/O6e5Xanuruqu6u5Ane/r&#10;L52ku6ruPee/Z7nnnEtkk0022WSTTTbVfnLYU2CTTbWPsrKynNu3b6eCggLq3Lkz&#10;de/enbp27eoICdCPHPnRWVJaSsWVDmoU5xR/w/sWSXHUsUN7e1GxyaYgafHixc6Z&#10;M2eK9+lt2lDd8nI6n5BAe/LzKSkpiaZPn07Dhg1zmAb0X4vLnbn7j1D+kWP02pIs&#10;8bcTp8upWeMEOnz0lPtzsdFRFBMTI/4OGjGwK7VulkQd0lrSLe1aUXJysr0A2GST&#10;HyovL3M+8sh4ocFvzcmh9rExHv+/rLyyz5+nzOua0oQJEwB4R1BA35DzL+fanH20&#10;fP0uKjhxmqouXhZgBuG9XqofX1eAH8DP6JRM7du1owZJyRR1ucoGv002SZSb+y/n&#10;6NFjqENKCvXb+A0BbScuXaLdFy6So08fqrvpO+qhKNP4qCgqu3yZFjS5jqD1H3zw&#10;QYdhoOflH3BOe+tL2n3ouIfGNoNk0P9XRke6vnWK+LsNeJuudSosPObs2LET3XWm&#10;gvoqYD6nADmrXwat++Ybuueee6iNYr5/9913lK+Y7g+dOUPpMdF07OIlej02lioq&#10;Ktz4qaPnZn
 //cLVz4muf0ObcH6m4/Kzpg7mgPBiuu+vAUfoy5wCVKu/TWybR81Mm&#10;T586der0V155ZYbNcpuuRYqPj5ueFBNL/X7+mQouXqRFra+n5q1a0bp162jcuHGO&#10;7OzsGYo5P2PVqlXT/7JqFd2qmO9N6tShfOVz+NvChQtn+NXo8MMnvPQOrdl6kC5c&#10;uGDINA+G2rZqQrekN6fxd98kTPrExISgNDzGUfDTYREYhNsBQpzg0dGDbYuhFtG1&#10;yMfMzA3CbO/RpQtlbt5M06ZNo8mTJ2uO9+GHH3aW/PNd6l+3Lq2/7Xa6/e67adKk&#10;SQ6fQJdBfubc+bAMcv6zw6lrakNq1DiZEhPqU1xcnF+ww8XI3HlYvF+/NV+4GiC1&#10;u4HF5NDnsx1FRUVO202IPFL4WKzwMcnmI9HatWudOTk5NGrUSGrXzvvu1bBhw5zJ&#10;n39O3erG0tcZ/WnM2LHKd0aJz0d5+9Jr738RVpCDgbxSF58uoqqqC36/g0Bhzz+8&#10;To//bYV4ffLNHiEYvmIKJ38torKycmJBsSn8pPCxWOFjks1HFw0aNMjxwgsvOHyB&#10;vKSkxJmVlUWto13e+GHF1E9PT3f/P8obYOYv/zZsIAe9PXWMYNqxY8eovKKCsD9f&#10;WVnpl5F6npl3CXgRwbVtsEcUJdl8NEZz586l/n360HWKf46A3aFDh5BE4/AKdJjs&#10;42ctCQrk0Mb/2a+zeOE9oup6CczDdwb0utmRmZlFpWWlVF5WJv6nR6sbJSwk586e&#10;pcrzVWIhsal20rXMx/nz5zsXLlxIPdetFb/npLeDye7xmRpAX756k9gfN0IA8p/H&#10;3kE/fDyNLu9Y6IDPNG/SCJr2QH9aO28C5S97nvYueU743AC/L+Aj4Df7gR5iVd67&#10;b48lEyMHFcVColgM7B7YWr32kM1HQrDN+eabb9Jjp
 36lxKgo1/bb8eMiaCdTdA3f&#10;fEmWoeg6AP7yU6McL29aQBmd1jpff/11Z0lpCS18Z2FNe6xhkoikPzZyAHHSjVZw&#10;Zfjw+xwrVnzsxOdBCYmJlk4WLIaEBg1s5NRyutb4iODbzp07adwPh6iuAvLzTidl&#10;DbyDhrduDf/c4RXo8M3veHSebhP7tafvFQGzr9cgKphNeMmgZmqQkOB+n5+HbZF9&#10;lJ6YQAueGEg/FF0SiwsD/k9jMmjke8865y+YL67RMLGh+HtcXDzFxsaYHlWtKC93&#10;3wNmX6KNl1pJ1xIfFf/bqYCc6lRV0bDN2RTlcFCFosk/796DmsfHk6Lha2DEw3Tn&#10;vUk99PSYAQLk77z7rlMN8JSU1tSqVYp4dejYSTAAf8NP/juooOAXqnvumAA3LAOO&#10;tMM3x3V4gcAqHVc3VmyvWUEw+2yq/XQt8HHVqlXOXr16Ucf9+TQgK1MAOFdxVeYk&#10;NRIVbCtWrNBUhB5AhyktRzJ9+eQw16HJAVY1wPET5nbLli0FSG9IT6emTZuK3/mF&#10;zzD4Afb0xLO0aMpQca2jRwsEyPE/XAf76GZrcxTgMOE+8O9sqn10LfFx+vQXnQ8+&#10;+CD9vqSEMmJiRCHL+lu700cKxuCnz5071ys+otWTpsc/v7NnO/p4E7lNdda+DEyA&#10;GqY2tLAw8xWQIkDS9Lom4idMK4AXgRMsBPgO/CtETuGb833c17JAmyO3vlzSBFh8&#10;bKp9dK3wccKEPzoVbNDE8jJKVvAEU311r9vEwrZr1y7kvPtUgm71jVpyvVtqA3t2&#10;oOzszU7ZBwfIMcnXX5+qAL+hAupkkbqKV6tWrRxpaW0cACt+x//watGihXjhO6zp&#10;AW62BnjBwHfM9s1ZEyBwaGv02q/Rr2Y+Hjx4wPnRR0vp94cOUnKdOiLn/R/NW9BN&#10;nTv
 T9u3bHf5A7qHRj5wo0x2EA0H7sjZnTR5fr57Qvt6AqfU3bIPEVlaK70HT4xoc&#10;fPN1rWCJFzU5aGhT7aNrgY8zZ86ijFgFC1XnhSb/p2INz509253eqoeijd7Um2kP&#10;Exya3Cgw+bMAPCKlnOxgVeBNTdAEsEiwUFVWnnNn35mxuOzctds58/1Mkae95b1n&#10;dc0Ldj4WLN3gkX6MmAjcJWxNduvRy1DNPsby8y8FtDmvkH45UUIHfjouLDIzC0Fg&#10;DUJRIJiL6yNlFfkUoQSDlXyUiQtr5PkEcS4+irFA7VObuxus3Ng6WVedhhYVF58W&#10;ZapTFJOdHA76rm8/erhnT0MgBzlkAdO7tYakl9G9WxMSWjioBjMbPnigA9JLKJn1&#10;9j9M/F8XrdN9rcEd4uhAeQNqn1BB8c2u5AWDSWoa1KuTyNbTIwjovAOwQuDlOft4&#10;zlNeiy8w/8hIxDYjrCZ5QZUbe+A6SEbihVB9HRT1FJZUis4/KAYBYdFg7cfXBhAD&#10;KQTB+E6dKCQUDnGxCcxntdsnX1/rHpHORzVhXhet3iEC1lrjlXmmfp/SrLFYALDA&#10;3taxBaWkttW9WG/enO2cPn0G/ce3G6no0iWal5BIp06dMvz80YGA7YtN+0TSC2lk&#10;rlldPYQiB7NodT6sh0oStW75e9yAkgEqA401pNY4odW+ysmn28bO0iy+wDUhLCi+&#10;gEvC14HmQV3B0GfecguP2mqSf4ewIKBZVn5GVPSx1mLrgZuDgLSeQ76W/Cx6+AZw&#10;YnwQdJQt+7LwQMg7F3va0nNGOh/VdPToUefEV5cTiqXkhdLXvKrfc0EOnke2znBt&#10;bws2065du6lRrCuofezSZerTpw+tXLmy+n+7nGgtdfz4cdFiSlkAxP8zMjKoefPm&#10;Ds1gHDdz1Gu+Q2NVJt4ofkfEHHnGtT31EO
 PyxsTxQ3u5waFVXDNo4pv0pzn/5zN9&#10;GBoBZiUXX+BaECJoL72B0JF39hDgwY7FyV9PiWeBll2WlScAjkUYz6CnC5DRQhAk&#10;NuHaeFZvc+VpTpeK8WJRCmX+eTB8VFtZ/Sa8IebU2yIcSEwBgB8+Y6XgPdwqX8+x&#10;f38+XVizRrwvVPxzdJLp3LkzPusEoCdPnkxLP/yQcrdupeM7d4ptNlStzZ4926kJ&#10;9H/reovDSPEJHhb+yaGyeu6/QQCvVkpLa+PATgPAwYIrM4f75/kSBJh9CDKePHmS&#10;CgsLhfZVax1fhIQirPx79+SK6DIWVzxL1dkytwbXA0AmvoZevundfnVbDMo48QLY&#10;I0UJ+OOjbL3AyuI5tSKIiIUZTTSwYHtbbKOjo+lSXRcu6yk6+qb4eLotL49mKZbY&#10;rKrz9N+HfxDZcUie6b9zB43YuoWmXrxA7733HuXk5DhrAB0Ek8IIQUghvB9u+kVE&#10;4cFQrJRXW0EBACZMp+qSWRZcPUFKmSA0+C4soLEvf2oI5CD01MPcIqEI1/D2LHoJ&#10;yU58DT0alzv56iXxjNXWXiQoAT18ZE3+5/mfW16mDX4iXoD58WZZpaa2oVhFc4P6&#10;KIAfoGj4rgrIk+p47wKH4pa01FTas2cPaQJdK3jhV1gUTYZgD8COSKRYKZUHhv9x&#10;tQAegRSMhUtm1YJrZJyYI8xVIA02xw7uRtu/3yHem53uqUfjylloeoifkfe29fQT&#10;CCcfOdYSbJm2XkJgEHEbXyW2w4ffR2s2bqQv+/yW1ja5Ttdrde8+9O2mTTR48GBt&#10;oOPGRsx31mTsd2AV/N/lWwhBKV/mSG0jLICwVFA4oRZc/snaQo+fC5/PCHGNPg7B&#10;cBUFmUcs8HrIqEaXwQ7tGal8lGnSvJWGy7QDIeAM2hxuGJfY8hzJmGnRoqVj27at&
 #10;NOr+++mWhx6iruPG+X31HjhQNJ5ISUlxB+Q8ou44UAHmu1GTUh1ogIbHdXg7gaOL&#10;tbWfF/rOw1Jh4lJIjAlMwYIGbaFHS7Mvb3QxhZk36b0ir1V9gRBXfHGSkh4fvTaT&#10;Nz6ypbH74FGCNjfKH61F3p8scBo513WAOKCtziHx1ULKGyFI5+Hrqz+AsH+wvdux&#10;9WIV4P0lYkR1e1i3BXFDgzK6+dbb3b/jOUFIcsAuBEAELXrXnQtFDr5cbiueJSpW&#10;5fbs0QXaQAj97tlsVwtqsAQBQ7KTHo1++Kg5Jm0k8TG2XiIlN0pwTJn7kVOv3COf&#10;AfcZ2reLSPFmTcxWHv7GOQ1avRd+1yWRZir/X/P1V+6/YcENdNH2R9Fqwe18UydF&#10;exRRMD3jWJit0PCsQRG1ZtOLK+hAj8zP1n2tgxuXOZSX8JNgNkHg4S9dKDtBO/a5&#10;rokyXGg+XnnlVF8kPYjgR2KCyIIKNlDEB1hgB4T9RbhBMPfxNzwLFxDJzxGqLEIz&#10;TdpI4yNkEltpegidkpBZ+KrCn82bc2jGSzPEosTWFrL00IBl2bIPRTLZrSkNaciU&#10;oVQZVd8N+gH9B9CBg65EJtk6s8ry9fDRr1NWNdwIwgZg6ilZNWLSw4dHUsenG3OD&#10;Cthh1UP1G/uYTPJWn17CCg+GfPbZSlq7bo0QBPjBEAp+QTDc5beojZeaYGAFx09o&#10;D6PxDfa/IThov4XSX2xHQUggPIs+eJ8unNwvGnRgrvhZRG1B9XNwz/tQEDK8zKRI&#10;4uP+X4p0uSbom8B9GMAfZIcC3FymjXvIPzlOkZefR7lbMhXQx4hybPANCxsvOtxz&#10;wSrSzIxDKuszI34jzNE5SzaYto/IgIdrgPRJPqDBSComPoPPi7LXpk09ylyblxcY&#10;fiZuUyU3uuAVVv4/m8pyj/lgTVt
 o8Y9mjKbu3W4RrbMgNHLpLwjPBIFloVAXEIWS&#10;AvXRwRvwKpL5iJRhzvbzRUi4Qcs0rRJt+T64hxzsw7jwGYCegc+85OexymzXBHrj&#10;xo1TT58+/RPKR4f0xEkY93q0ejLLBGShab+vSGwbGUnFZHOZzR0IPSbr5IX6yl9y&#10;DT+Pup5e7fvKFXXqgyTYP0trlmgICND+KHQBQYNzI0y14LDAyoIKYKgLiOBfWg30&#10;QH10+dnV/I0UPuqNn6SltXGwqa7Vh4EJ9wB4OZKO/8GlQPm1vADgGWUXzKqAtaZG&#10;h6+O1QUP0DXV1ccNGjjQaLyWD1910aXd27Zy5WUP6Zkq9hH1+O/qije4ARD8YGqR&#10;uZ5eTLrUNINNTI6ye7M8IADpQyY79QJhxYvDiP06b5qBBVWOisvlu7K/++oHa2uV&#10;jx5pfEQhjR6CfMqNT2WQ49lxD74+3DosKELmRTQ9XpOfek8hMh3o8NUx+RyJvSG5&#10;gpr2bi2CaWYCnrchEJxAOi1MeTShYOb7G7gsKK4I+MGAnsEjOKNMPJpieLuXWabt&#10;XXcOEn6ebKarO/QIQVAJqpaQ4n0oNDp8dLNP0o1EPvoMxC3/VjFDbqS4sv2e/nW1&#10;v+8NsLyY8QJwBehxpjxXQECXfSjZxKBjxwQYAXgucDDDf2fhydrXnDIk01SvKc+f&#10;QepisM/CK3AgE2/UtOXEDZcLkOIBcm9xgHDmIhj10TkAZhTw4eAjdk28Vaapgf74&#10;iN/WiD/4M73DnUMSrSfwhZUKBQBiYIpZ1TTmjEerZjMAD7CL1VKZxCGSb2VF8wAt&#10;c89tFgdhQgUSrJK3y7R870giM/fRI42P2DXRG1BGtaE48be4jNqn1lNchbMujW5R&#10;swszyO/+GR5a9HpTVkgEF0SEtDo6iu6tAPynM0eIBIJgCVFPmPHYA8U2Uy
 jO0sI4&#10;EAU1I/nEaIqoHB2Wt8siNYPQCrM9UviILjBGtg+5vhzKCQVKqETEnjoXdUVa6reu&#10;jXIIHqLLADs0DjdzxD4hJhhbP+g4s+7vEwXgA91/h1UA6wBFH3LRgZXFEFi0zGoq&#10;GIxpG47tMiNmNSiQPIFQUbB8RHYcEpaMEjQ8F3Y9NGcDDXn2XUJgFFmMkQR4Q4gU&#10;YEdnVwXw2H7jXu2cGHBk33YBeNbwgQAeYEfRBxgHzc51w1ZqAncMQhUoCZVG97X9&#10;ZCXJMYLaTsHyEQHo+/p21F2cpJZZAJ5BD9MejSXGz/yAlq7ZJjL2wg16w0h0a3fR&#10;trmJJuCh4ZHLC8Bj4owCHhP39ld73TEB0aXEQhOeq4dc/l3g6aTBJJQIrWJhwsS1&#10;QMHyMTWtrdDqwWSEqtO/kQ0KLQ/AswyHA/ABj8jtu1cDnv13AL5jh44uM0oRYJyM&#10;ijPajJp9MIUap7QT1xBdSiw8Dpd95FD76KxRrT5E8lqhYPmInHckb/17706mPRNr&#10;eQStUQKL1lHhAHxQyewAOwPedSiDS8PD3+TDGECI0mNLwohZhAlCWqJcz4ykA/RH&#10;s1IThNJHtymy+AhZhls65f7+pgSXZS3PwTvUeqCYRU/PuogBuhbgGyQle5j0OHcN&#10;gEcyv9FgB5JzYB3IWp0rxszWBMLcwyESIfTRbYo8PoptuUYNRa0HCljMKuxiAtgf&#10;e2M9/fzzTyFtzmLqKAB2BDVkH15kKFWb9AC7kZUSxS9wCWStbrb5zkUGMPmwkITD&#10;R7cpcvgIGeaqOqRlL37uroACdL4I2h0xqFBtIZsOdPWEAfBs0mPi2rRNF1l1ev11&#10;TAhnOF0tLaVtinzivBG4oIgTIVdk2fN3m2rOQ7Mj4SxUYI+yetJkwMMkuiG5TsBB&#10;K6HVz1tjupvho9ume/hN
 dzP4eCXu1ER0qOESWpjz383/gzDpzdDyCNCJar0QgD0q&#10;VExgkwj15yC9vg/20I0mdgRCZuyjGzXd0YnkaqZwjM8MPspgR4IYrFGuL0duB3rP&#10;oY/A1oVPuEEfiC8v2n9H1a+RHFargQ6CZgfY0UjRaG68WZFxf9cOxke3NXr4/XQz&#10;+CiDXStBDPTj4UO0e9f37o4xX857XJj2RreR0VpKTg6zyjWNCjUzwAA+G0wPsY/u&#10;Nt1NDshxJ1Qz9tEjORfcDApFr/NI4KOWZtfKFxEtqapBylmh6DOg15eHFYDaDrlh&#10;hVUHXYQc6EZBCitAnappdjNEs6yFSM4FV9PVGNC0yupT54vAnGcNj4VFzgqFGY6s&#10;UJj0/ohrO65vnSKenU87ssJXjw41M9CEzwhwyg0sFkYOimRSt20KxWGAWMkrwwwK&#10;CFOkUqTyUW6QIfiouKEwtaGFuQ2We6EpuyA0u78mLWoXVm/rbVOAjuwz7IdbwUT4&#10;JHpNXPi85TVM/3ivGh0H1gVq8olrh6h1MsohD9kutVeKdD7KhUfcOQYLC0AfX1pa&#10;3feuVHRNCsjqxVHTVgP9VEnFTzgD+76n5zpxBjpObzGrogp9ynG8sF6th6DdN0eP&#10;OlesWOGxWlth8sHXsmKCtSgSEmvQT91q4QqH6R4MH6HgKkqKRP+/QEHPTVpuUDT7&#10;egPXQINQvMfzcwtsS4Geu/+I0LjwHRA0A9hwhCwOXoAvoR6cEZ8QZXt6GwzCpEFw&#10;A2mCTP4CLYGYfJ4uwbkajN+xLUf4YnyoghmkZamEPFYSVd/Q59He6Y5H5xni9+LF&#10;i0NmupvBx9fe/0K0N4eSm/nH34nTXYxqeowb1kTmzsMBu6dWnFNXA+gLlm5w985i&#10;wPNJK+jzjt5aYHqLpDh38z1/wMfnAXIjTSXxDP37Z1BmZpan6e6
 jOQOiokaF99s1&#10;n3js08N33blrtxOnnsKywRzA14KwcJ59sBZOJGh08LmvorhYC8LHrNRohYS5WJaV&#10;J84kCzQGoNXX3ReFg4/4Oz4HueezBwB49Ejsfms3TQ3uDeywXNFVVs/uEp/BpjcO&#10;FSg51Ctf23sme91GAfi43Q40PQMfpO65heNwsvYVie2DQHrKgSkfz3lKmDR86gX3&#10;VPNlWiX0fsxpZBuIM5wwHhCaXqifFc8yb9II4YP56vSp9964J05mQX9wjIvHBgHn&#10;PvFG6es1a513T15q6Dui75kyblhOiBwjkixcrBNlonIQRUWBnsOHbkPYchIxiQDG&#10;F2o+erNYoHFhgaEgC6cNw5X1BXq0g0Z7KfjnehQbovM4FAKnvrAsoIOTyCQ1sQmJ&#10;h0ZfvnqTz71S1vIg1889NSZELRR6OmtqEUynaQ/0d278JssjEOevOYPRBoae49Em&#10;CDuEA2mKeAa8j7QTYmMSmxn+DhZgjFuteWBxBLtnjoVerdExb0bcm1DwkVtMT3jp&#10;Hc3vYB7wHOgaAwDjubCYoGZD3a0Wi+PEV5cLC1jv/KH+HWWrfEKu2XkATB776Mi9&#10;DZRcE3JKc3EwSi8Oay38Iwa5u3mijmgqr+hmkkhVPF8lcpKRvSTyksvPBFRPbHbZ&#10;o3vckqbRS8wbjE9+mZEYA2sOfFPnQOidr5DxUTHxEYADOPXIOBZHWAuP/20FwQIY&#10;+sxbwq3BT/wNWlzv/A3uEGfJmfc+gY6+VpGQ2YXBv/iXFx3Z2ZuFQMhN+fX4SPCp&#10;rKBFq11HFiOpQeQlVzfCkI9O1nN2l1nn2Gn5hmZWVwVLMF3lzjmYMyMUMj4qwMeJ&#10;tXrB6Tpl6HINBRfI4jhp4nixE4WaAKubhEapJyCchHOuP3hjhhg8TsQM5ORQFM2Y&#10;XT/sFtxqswpJE
 RCSouJSqjpbZjmI9RA0JbZDrSa92X8wk7mAKRAKFR+xYMOStcrS&#10;8hWDGtDrZseGzA3uk3p4YeQTXi0BOgIN4dQIAPlnb88U7z/77NMrPku1Nq/Oefdr&#10;9qHDjRVmH0wyPIdIs6xu5vhrSYUbZHpNUhYo+Phma3T0JreKh3hu1GT/9fEhuj7L&#10;ZrJMRvK4Q8VHLNiBFFkFu1giKAgrms+ElxWaFck+bqBjdZn2QH93b/ZQm+s5n/xD&#10;RBp571U+1wqRdmXw2Pbxu+wiow/jsGIM2KpxB5gUbdC8cQNDASY18UpuFkFAMHYz&#10;NSFAi+vtXDSJhg+/z6FHqwM0+B7vJQeSgx5KPqJHHOTeCgtCC+Rb33lS8GrN1195&#10;nNRjZW9/D+AgIQb74zABv5o9MuA6WyNCNOeBLvTlkvkONMuTQc6H1YtzrBMTdIFc&#10;Hgd8PLOFBNtNeC5ubXXpsvFqI4AAGgSMNrteG1odW1hvTx1jCu8wfyi/xFYgBBBb&#10;nb8e3CIiz76ujXs/PWYAPTp6sKNDxysdVY1WHoaKj3WiXEk6y/9ntKVyD5BvXDBe&#10;BOBkWWdtbuVxXDVGI47kjXVZlaizRc8saFyzAY7Iet7S5+nJJ590YA8Yq5smyF0m&#10;u6EMEwTI4ONBSMzoBgJBgwBgX19O/ICAyMLL98FP+YXv8wvPg60ZLGyyRufTU83Q&#10;6jirHUKLNttGx47P4xn3LnlOjBcLP059xT4vFiY8szeTGuOb/+xw2rxoKr381CjB&#10;V5im8plokchHmSB3kHs+hMSsikRgKH/Z8yIzD/PJATg+5hmyboVvzqR5vCuEENsP&#10;MGvgx/Dh7Tk52bR43V4qLHKdnHK2bgvdN6p3vpD63pJG993RjYYNHUqNGiUp19tK&#10;27ZtdX+GTxSVQQ7BVT5boPz7CeW10s9twL3HldcLhYXH
 xRYYum2C0J9L75HPnEgC&#10;QI68s4d41v0HfqC9e3IV37qgxsmnfF45AN+ihScIiotdWhvbONjOgU8IEw1bPNhW&#10;4WtxkoRyr1nKxxGsMJoaVUd53a+8Ziljb4mxg4excfWorMohiokQiJL3zBmwnPg0&#10;tG8X8fxFpWfpYN4ewRu2OtjEBB0qqycSofgamCf+LuYJcw5Z4YUMY2RhNpoIgliG&#10;WXzEfeEXe+Oj4Jck9/w/mPqrPl9FGw5VGfblAfBx9/YXbg/uLSs09dnqVp67pwl0&#10;CKxrn/icEEj3cTfKQ2GFhcCyoH695cr+48GCk9Qu5cpKGd8sXdTmomXz7bffJu6F&#10;iDoSBHjv0OOgQY1jgwMdOMYh6nqLS6no1Ek34/j5ZT9NrBAxZ0Rras6F5gWPhYK1&#10;mdriYJ8qLa2Ng+/J88MH/2kdfSQzGtdCVppZjJafAwsLtpLU93GZ0pXuBBL+HI9V&#10;jiHIJaAcGcbYkKLM4AEQwVOeJ7PGGGo+uto5eco9eAgZxvOjGCgvP48+XufapTpQ&#10;3oCOH84V75u37ULtE1yxiLt+004B93CRCQiZ//7778X9wwFyTaDz5LAW4oFDEHil&#10;Y4arzGt3tBDf4ww2FKXwpPFAtYRHnnArBF4GnrywyCQD05ewQztBKzOD2D+WBUst&#10;LCwwchWelvViFrPVYGfeyQsPC716rFoLMJu1ImCkLMQsE1gceGwyybzlxTvQtM5Q&#10;8pEXP8g9a3f5mnxPLCb4njqVlrEDGeDFT2s+reK7IaCrtTsPnKtqWHDkiZWF2Rup&#10;hVyswNW+ktakWS3wID7RVP3T2zOzsHtbhdUWkTpRBPfnfVwGjZmLm7dnUQutN15p&#10;jRckaz0uxdRSAN54q14QI5mParnH3DHvfMm7v3vL82KG1Woa0NUaXh48R1FlQWYh&#10;9rWVoi
 XkVgBcS0jU1onWQsVnv8tagoWCAxI+ELoAAADWSURBVEpgEI7Z9dacQz1f&#10;bBKqg54MGqvH7s060+KVzB8er8wjmeQFrWZQsOb3gh1juPjIlXjyfWXga91fBrba&#10;GuKF3Yw5MRXoWoNnRostIwn88laKmvFaAh6qwfpiGjOfGSgLQzDPrCeJJlSMlrWU&#10;vPAwn+SIuN7xai1oVvM23HzUUnZM/Azys1i16FkOdL3CrN4vVWuDcFV9eVuoWAC4&#10;hDGSntmq8ctzoJWNpXe88jVDuXCFi4/e5lDP/cMlQ7VecK1YqK4GQNt8DC0fbTmy&#10;ySabwk7/D3ovr7gEPpveAAAAAElFTkSuQmCC" height="76" preserveAspectRatio="none"/>
+    </g>
+    <g stroke-width="3" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,40,49)" stroke-linecap="butt">
+      <path fill="none" d="M75 355.4351 L75 491.6732" clip-path="url(#clipPath2)"/>
+      <path d="M75 341.6851 L67.5 356.6851 L82.5 356.6851 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path d="M75 505.4232 L82.5 490.4232 L67.5 490.4232 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M175 300 L373.6881 300 L373.6881 451.2326" clip-path="url(#clipPath2)"/>
+      <path d="M373.6881 464.9826 L381.1881 449.9826 L366.1881 449.9826 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M499.0873 515.0261 L499.0873 571.2944" clip-path="url(#clipPath2)"/>
+      <path d="M499.0873 585.0444 L506.5873 570.0444 L491.5873 570.0444 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M523.8516 595.9246 L561.2145 595.9246" clip-path="url(#clipPath2)"/>
+      <path d="M574.9645 595.9246 L559.9645 588.4246 L559.9645 603.4246 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M602.9152 542.5589 L602.9152 343.1718 L777.2321 343.1718 L777.2321 528.7929" clip-path="url(#clipPath2)"/>
+      <path d="M777.2321 542.5429 L784.7321 527.5429 L769.7321 527.5429 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M574.9927 635.0773 L537.5682 635.0773" clip-path="url(#clipPath2)"/>
+      <path d="M523.8182 635.0773 L538.8182 642.5773 L538.8182 627.5773 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M75 220.0366 L75 244.5649" clip-path="url(#clipPath2)"/>
+      <path d="M75 258.3149 L82.5 243.3149 L67.5 243.3149 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M606.6034 61.1749 L606.6034 276.2495" clip-path="url(#clipPath2)"/>
+      <path d="M606.6034 289.9995 L614.1034 274.9995 L599.1034 274.9995 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M766.4542 289.975 L766.4542 233.7585" clip-path="url(#clipPath2)"/>
+      <path d="M766.4542 220.0085 L758.9542 235.0085 L773.9542 235.0085 Z" clip-path="url(#clipPath2)" stroke="none"/>
+      <path fill="none" d="M369.802 650.0857 L369.802 791.5945 L256.9931 791.5945 L256.9931 861.3539 L844.1918 861.3539 L844.1918 74.9313" clip-path="url(#clipPath2)"/>
+      <path d="M844.1918 61.1813 L836.6918 76.1813 L851.6918 76.1813 Z" clip-path="url(#clipPath2)" stroke="none"/>
+    </g>
+  </g>
+</svg>

http://git-wip-us.apache.org/repos/asf/struts-site/blob/124e36c4/content/docs/big-picture.html
----------------------------------------------------------------------
diff --git a/content/docs/big-picture.html b/content/docs/big-picture.html
new file mode 100644
index 0000000..0eb8844
--- /dev/null
+++ b/content/docs/big-picture.html
@@ -0,0 +1,151 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License. 
+-->
+<html>
+<head>
+    <link type="text/css" rel="stylesheet" href="https://struts.apache.org/css/default.css">
+    <style type="text/css">
+        .dp-highlighter {
+            width:95% !important;
+        }
+    </style>
+    <style type="text/css">
+        .footer {
+            background-image:      url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
+            background-repeat:     repeat-x;
+            background-position:   left top;
+            padding-top:           4px;
+            color:                 #666;
+        }
+    </style>
+    <script type="text/javascript" language="javascript">
+        var hide = null;
+        var show = null;
+        var children = null;
+
+        function init() {
+            /* Search form initialization */
+            var form = document.forms['search'];
+            if (form != null) {
+                form.elements['domains'].value = location.hostname;
+                form.elements['sitesearch'].value = location.hostname;
+            }
+
+            /* Children initialization */
+            hide = document.getElementById('hide');
+            show = document.getElementById('show');
+            children = document.all != null ?
+                    document.all['children'] :
+                    document.getElementById('children');
+            if (children != null) {
+                children.style.display = 'none';
+                show.style.display = 'inline';
+                hide.style.display = 'none';
+            }
+        }
+
+        function showChildren() {
+            children.style.display = 'block';
+            show.style.display = 'none';
+            hide.style.display = 'inline';
+        }
+
+        function hideChildren() {
+            children.style.display = 'none';
+            show.style.display = 'inline';
+            hide.style.display = 'none';
+        }
+    </script>
+    <title>Big Picture</title>
+</head>
+<body onload="init()">
+<table border="0" cellpadding="2" cellspacing="0" width="100%">
+    <tr class="topBar">
+        <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
+            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a href="core-developers-guide.html">Core Developers Guide</a>&nbsp;&gt;&nbsp;<a href="big-picture.html">Big Picture</a>
+        </td>
+        <td align="right" valign="middle" nowrap>
+            <form name="search" action="https://www.google.com/search" method="get">
+                <input type="hidden" name="ie" value="UTF-8" />
+                <input type="hidden" name="oe" value="UTF-8" />
+                <input type="hidden" name="domains" value="" />
+                <input type="hidden" name="sitesearch" value="" />
+                <input type="text" name="q" maxlength="255" value="" />
+                <input type="submit" name="btnG" value="Google Search" />
+            </form>
+        </td>
+    </tr>
+</table>
+
+<div id="PageContent">
+    <div class="pageheader" style="padding: 6px 0px 0px 0px;">
+        <!-- We'll enable this once we figure out how to access (and save) the logo resource -->
+        <!--img src="/wiki/images/confluence_logo.gif" style="float: left; margin: 4px 4px 4px 10px;" border="0"-->
+        <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts 2 Documentation</div>
+        <div style="margin: 0px 10px 8px 10px"  class="pagetitle">Big Picture</div>
+
+        <div class="greynavbar" align="right" style="padding: 2px 10px; margin: 0px;">
+            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=13859">
+                <img src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Edit Page"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=13859">Edit Page</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">
+                <img src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Browse Space"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">Browse Space</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=13859">
+                <img src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Add Page"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=13859">Add Page</a>
+            &nbsp;
+            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=13859">
+                <img src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif"
+                     height="16" width="16" border="0" align="absmiddle" title="Add News"></a>
+            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=13859">Add News</a>
+        </div>
+    </div>
+
+    <div class="pagecontent">
+        <div class="wiki-content">
+            <div id="ConfluenceContent"><p>The diagram describes the framework's architecture.</p>
+
+<p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="big-picture.data/Struts2-Architecture.png"></span></p>
+
+<p>In the diagram, an initial request goes to the Servlet container (such as Jetty or Resin) which is passed through a standard filter chain. The chain includes the (optional) <strong>ActionContextCleanUp</strong> filter, which is useful when integrating technologies such as <a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33343">SiteMesh Plugin</a>. Next, the required <strong>FilterDispatcher</strong> is called, which in turn consults the <a shape="rect" href="actionmapper.html">ActionMapper</a> to determine if the request should invoke an action.</p>
+
+<p>If the ActionMapper determines that an Action should be invoked, the FilterDispatcher delegates control to the <strong>ActionProxy</strong>. The ActionProxy consults the framework <a shape="rect" href="configuration-files.html">Configuration Files</a> manager (initialized from the <a shape="rect" href="strutsxml.html">struts.xml</a> file). Next, the ActionProxy creates an <strong>ActionInvocation</strong>, which is responsible for the command pattern implementation. This includes invoking any <strong>Interceptors</strong> (the <em>before</em> clause) in advance of invoking the <strong>Action</strong> itself.</p>
+
+<p>Once the Action returns, the ActionInvocation is responsible for looking up the proper <strong>result</strong> associated with the <strong>Action result code</strong> mapped in <code>struts.xml</code>. The result is then executed, which often (but not always, as is the case for <a shape="rect" href="action-chaining.html">Action Chaining</a>) involves a template written in <a shape="rect" href="jsp.html">JSP</a> or <a shape="rect" href="freemarker.html">FreeMarker</a> to be rendered. While rendering, the templates can use the <a shape="rect" href="struts-tags.html">Struts Tags</a> provided by the framework. Some of those components will work with the ActionMapper to render proper URLs for additional requests.</p>
+
+<div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>All objects in this architecture (Actions, <a shape="rect" href="result-types.html">Results</a>, <a shape="rect" href="interceptors.html">Interceptors</a>, and so forth) are created by an <a shape="rect" href="objectfactory.html">ObjectFactory</a>. This ObjectFactory is pluggable. We can provide our own ObjectFactory for any reason that requires knowing when objects in the framework are created. A popular ObjectFactory implementation uses Spring as provided by the <a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33274">Spring Plugin</a>.</p></div></div>
+<p>Interceptors are executed again (in reverse order, calling the <em>after</em> clause). Finally, the response returns through the filters configured in the <code>web.xml</code>. If the ActionContextCleanUp filter is present, the FilterDispatcher will <em>not</em> clean up the ThreadLocal <strong>ActionContext</strong>. If the ActionContextCleanUp filter is not present, the FilterDispatcher will cleanup all ThreadLocals.</p>
+
+<h2 id="BigPicture-Next:">Next: <a shape="rect" href="objectfactory.html">ObjectFactory</a></h2></div>
+        </div>
+
+        
+    </div>
+</div>
+<div class="footer">
+    Generated by CXF SiteExporter
+</div>
+</body>
+</html>