1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!-- Created with Inkscape (http://www.inkscape.org/) --> 3 4<svg 5 xmlns:dc="http://purl.org/dc/elements/1.1/" 6 xmlns:cc="http://creativecommons.org/ns#" 7 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8 xmlns:svg="http://www.w3.org/2000/svg" 9 xmlns="http://www.w3.org/2000/svg" 10 xmlns:xlink="http://www.w3.org/1999/xlink" 11 xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 12 xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 13 width="135.60777mm" 14 height="146.37842mm" 15 viewBox="0 0 480.49998 518.66368" 16 id="svg2" 17 version="1.1" 18 inkscape:version="0.91 r13725" 19 sodipodi:docname="stacked-listeners.svg"> 20 <defs 21 id="defs4" /> 22 <sodipodi:namedview 23 id="base" 24 pagecolor="#ffffff" 25 bordercolor="#666666" 26 borderopacity="1.0" 27 inkscape:pageopacity="0.0" 28 inkscape:pageshadow="2" 29 inkscape:zoom="1" 30 inkscape:cx="226.29668" 31 inkscape:cy="267.37792" 32 inkscape:document-units="px" 33 inkscape:current-layer="layer1" 34 showgrid="true" 35 inkscape:snap-grids="true" 36 inkscape:snap-page="false" 37 inkscape:window-width="1440" 38 inkscape:window-height="791" 39 inkscape:window-x="0" 40 inkscape:window-y="1" 41 inkscape:window-maximized="1" 42 fit-margin-top="0" 43 fit-margin-left="0" 44 fit-margin-right="0" 45 fit-margin-bottom="0"> 46 <inkscape:grid 47 type="xygrid" 48 id="grid4296" 49 originx="-40.000001" 50 originy="-409.50002" /> 51 </sodipodi:namedview> 52 <metadata 53 id="metadata7"> 54 <rdf:RDF> 55 <cc:Work 56 rdf:about=""> 57 <dc:format>image/svg+xml</dc:format> 58 <dc:type 59 rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 60 <dc:title></dc:title> 61 </cc:Work> 62 </rdf:RDF> 63 </metadata> 64 <g 65 inkscape:label="Layer 1" 66 inkscape:groupmode="layer" 67 id="layer1" 68 transform="translate(-40,-124.19849)"> 69 <rect 70 style="fill:#c0e9ac;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" 71 id="rect4614" 72 width="10" 73 height="239.99998" 74 x="60" 75 y="372.36221" 76 ry="0" /> 77 <rect 78 ry="0" 79 y="182.3622" 80 x="65.333336" 81 height="169.99998" 82 width="8.6666689" 83 id="rect4592" 84 style="fill:#c0e9ac;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" /> 85 <rect 86 style="fill:#f4c8f0;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" 87 id="rect4590" 88 width="9.3333359" 89 height="53.333351" 90 x="80" 91 y="522.36218" 92 ry="0" /> 93 <rect 94 ry="0" 95 y="442.36221" 96 x="80" 97 height="57.333321" 98 width="10" 99 id="rect4588" 100 style="fill:#f4c8f0;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" /> 101 <rect 102 style="fill:#f4c8f0;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" 103 id="rect4586" 104 width="10" 105 height="60.000008" 106 x="80" 107 y="252.3622" 108 ry="0" /> 109 <text 110 xml:space="preserve" 111 style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 112 x="54.571426" 113 y="166.21935" 114 id="text3336" 115 sodipodi:linespacing="125%"><tspan 116 sodipodi:role="line" 117 x="54.571426" 118 y="166.21935" 119 id="tspan3340" 120 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">[</tspan><tspan 121 sodipodi:role="line" 122 x="54.571426" 123 y="184.96935" 124 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 125 id="tspan3386"> {</tspan><tspan 126 sodipodi:role="line" 127 x="54.571426" 128 y="203.71935" 129 id="tspan3346" 130 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> "code": "SUNCOLS",</tspan><tspan 131 sodipodi:role="line" 132 x="54.571426" 133 y="222.46935" 134 id="tspan3348" 135 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> "name: "Sunset",</tspan><tspan 136 sodipodi:role="line" 137 x="54.571426" 138 y="241.21935" 139 id="tspan3350" 140 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> "colors": [</tspan><tspan 141 sodipodi:role="line" 142 x="54.571426" 143 y="259.96936" 144 id="tspan3352" 145 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> {</tspan><tspan 146 sodipodi:role="line" 147 x="54.571426" 148 y="278.71936" 149 id="tspan3354" 150 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> "code": "REDS",</tspan><tspan 151 sodipodi:role="line" 152 x="54.571426" 153 y="297.46936" 154 id="tspan3356" 155 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> "color": "#FF0000"</tspan><tspan 156 sodipodi:role="line" 157 x="54.571426" 158 y="316.21936" 159 id="tspan3358" 160 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> }</tspan><tspan 161 sodipodi:role="line" 162 x="54.571426" 163 y="334.96936" 164 id="tspan3360" 165 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> ]</tspan><tspan 166 sodipodi:role="line" 167 x="54.571426" 168 y="353.71936" 169 id="tspan3362" 170 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> },</tspan><tspan 171 sodipodi:role="line" 172 x="54.571426" 173 y="372.46936" 174 id="tspan3364" 175 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> {</tspan><tspan 176 sodipodi:role="line" 177 x="54.571426" 178 y="391.21936" 179 id="tspan3366" 180 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start"> "code": "WATER",</tspan><tspan 181 sodipodi:role="line" 182 x="54.571426" 183 y="409.96936" 184 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 185 id="tspan4504"> "name": "Water Colors",</tspan><tspan 186 sodipodi:role="line" 187 x="54.571426" 188 y="428.71936" 189 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 190 id="tspan4508"> "colors": [</tspan><tspan 191 sodipodi:role="line" 192 x="54.571426" 193 y="447.46936" 194 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 195 id="tspan4520"> {</tspan><tspan 196 sodipodi:role="line" 197 x="54.571426" 198 y="466.21936" 199 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 200 id="tspan4522"> "code": "BLUE",</tspan><tspan 201 sodipodi:role="line" 202 x="54.571426" 203 y="484.96936" 204 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 205 id="tspan4524"> "color": "#0000FF"</tspan><tspan 206 sodipodi:role="line" 207 x="54.571426" 208 y="503.71936" 209 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 210 id="tspan4526"> },</tspan><tspan 211 sodipodi:role="line" 212 x="54.571426" 213 y="522.46936" 214 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 215 id="tspan4528"> {</tspan><tspan 216 sodipodi:role="line" 217 x="54.571426" 218 y="541.21936" 219 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 220 id="tspan4530"> "code": "WHITE",</tspan><tspan 221 sodipodi:role="line" 222 x="54.571426" 223 y="559.96936" 224 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 225 id="tspan4532"> "color": "#FFFFFF"</tspan><tspan 226 sodipodi:role="line" 227 x="54.571426" 228 y="578.71936" 229 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 230 id="tspan4534"> }</tspan><tspan 231 sodipodi:role="line" 232 x="54.571426" 233 y="597.46936" 234 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 235 id="tspan4510"> ]</tspan><tspan 236 sodipodi:role="line" 237 x="54.571426" 238 y="616.21936" 239 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start" 240 id="tspan4514"> }</tspan><tspan 241 sodipodi:role="line" 242 x="54.571426" 243 y="634.96936" 244 id="tspan3368" 245 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15px;line-height:125%;font-family:Courier;-inkscape-font-specification:'Courier, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">]</tspan></text> 246 <text 247 xml:space="preserve" 248 style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 249 x="66" 250 y="120.3622" 251 id="text3370" 252 sodipodi:linespacing="125%"><tspan 253 sodipodi:role="line" 254 x="66" 255 y="120.3622" 256 id="tspan3378" /></text> 257 <rect 258 id="rect3390" 259 width="40" 260 height="482.0007" 261 x="350" 262 y="-632.36218" 263 style="fill:#ffeb8f;fill-opacity:1" 264 transform="scale(1,-1)" /> 265 <text 266 xml:space="preserve" 267 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 268 x="313.26022" 269 y="-366.02365" 270 id="text4192" 271 sodipodi:linespacing="125%" 272 transform="matrix(0,1,-1,0,0,0)"><tspan 273 sodipodi:role="line" 274 id="tspan4194" 275 x="313.26022" 276 y="-366.02365" 277 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">ColorGradientsSubListener</tspan></text> 278 <rect 279 style="fill:#c0e9ac;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" 280 id="rect4388" 281 width="50" 282 height="170" 283 x="400" 284 y="180.36221" 285 ry="0" /> 286 <text 287 xml:space="preserve" 288 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 289 x="193.52324" 290 y="-422.366" 291 id="text4411" 292 sodipodi:linespacing="125%" 293 transform="matrix(0,1,-1,0,0,0)"><tspan 294 sodipodi:role="line" 295 id="tspan4413" 296 x="193.52324" 297 y="-422.366">ColorGradientSubListener</tspan></text> 298 <rect 299 ry="0" 300 y="252.36221" 301 x="458.66666" 302 height="59.999992" 303 width="51.333344" 304 id="rect4475" 305 style="fill:#f4c8f0;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" /> 306 <text 307 transform="matrix(0,1,-1,0,0,0)" 308 sodipodi:linespacing="125%" 309 id="text4498" 310 y="-497.11349" 311 x="332.35168" 312 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.25px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" 313 xml:space="preserve"><tspan 314 y="-497.11349" 315 x="332.35168" 316 id="tspan4500" 317 sodipodi:role="line">ColorSubListener</tspan></text> 318 <path 319 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1" 320 d="m 499.33333,331.02887 -9.33333,-18" 321 id="path4502" 322 inkscape:connector-curvature="0" 323 sodipodi:nodetypes="cc" /> 324 <rect 325 ry="0" 326 y="367.69556" 327 x="399.33334" 328 height="244.66664" 329 width="50.666656" 330 id="rect4540" 331 style="fill:#c0e9ac;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" /> 332 <rect 333 style="fill:#f4c8f0;fill-opacity:1;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0" 334 id="rect4564" 335 width="51.333344" 336 height="59.999992" 337 x="460.66666" 338 y="441.69556" 339 ry="0" /> 340 <image 341 y="522.36218" 342 x="460" 343 id="image4583" 344 xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA8CAYAAAApK5mGAAAABHNCSVQICAgIfAhkiAAAAGtJREFU 345aIHtz8ENQEAAAEFEtKBsbV05Hv40IbGRmQp252uc9/QT674dy9cRbzNUZ6jOUJ2hOkN1huoM1Rmq 346M1RnqM5QnaE6Q3WG6gzVGaozVGeozlCdoTpDdYbqDNUZqjNUZ6jOUJ2hOkN1D3qwBNMsgR+UAAAA 347AElFTkSuQmCC 348" 349 style="image-rendering:optimizeSpeed" 350 preserveAspectRatio="none" 351 height="60" 352 width="52" /> 353 <rect 354 transform="scale(1,-1)" 355 style="fill:#ffeb8f;fill-opacity:1" 356 y="-632.36218" 357 x="40" 358 height="480.00003" 359 width="10" 360 id="rect4616" /> 361 <text 362 xml:space="preserve" 363 style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 364 x="358.66666" 365 y="133.69556" 366 id="text4624" 367 sodipodi:linespacing="125%"><tspan 368 sodipodi:role="line" 369 id="tspan4626" 370 x="358.66666" 371 y="133.69556" 372 style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.5px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start">ColorGradientsListener</tspan></text> 373 <rect 374 style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:2, 1;stroke-dashoffset:0;stroke-opacity:1" 375 id="rect4628" 376 width="180" 377 height="499.99997" 378 x="340" 379 y="142.3622" /> 380 </g> 381</svg> 382