Relative Units - CSS Fundamentals

Relative Units - CSS Fundamentals

                        PHA+SW4gdGhlIHdlYiBlbnZpcm9ubWVudCwgdGhlIHVzZXIgY2FuIGhhdmUgdGhlaXIgYnJvd3NlciB3aW5kb3cgc2V0IHRvIGFueSBudW1iZXIgb2Ygc2l6ZXMsIGFuZCB0aGUgQ1NTIGhhcyB0byBhcHBseSB0byBpdC4gQWxzbywgdXNlcnMgY2FuIHJlc2l6ZSB0aGUgcGFnZSBhZnRlciBpdOKAmXMgb3BlbmVkLCBhbmQgdGhlIENTUyBuZWVkcyB0byBhZGp1c3QgdG8gbmV3IGNvbnN0cmFpbnMuIFRoaXMgbWVhbnMgdGhhdCB0aGUgYnJvd3NlciBtdXN0IGNhbGN1bGF0ZSB0aG9zZSB3aGVuIHRoZSBwYWdlIGlzIHJlbmRlcmVkIG9uc2NyZWVuLiBSZWxhdGl2ZSB1bml0cyBhcmUgb25lIG9mIHRoZSB0b29scyBDU1MgcHJvdmlkZXMgdG8gd29yayBmb3IgdGhlIDxlbT5yZXNwb25zaXZlPC9lbT4gZGVzaWduLjwvcD4KCjxoMiBpZD0icGl4ZWxzLXBvaW50cy1hbmQtcGljYXMiPlBpeGVscywgUG9pbnRzLCBhbmQgUGljYXM8L2gyPgoKPHA+Q1NTIHN1cHBvcnRzIHNldmVyYWwgYWJzb2x1dGUgbGVuZ3RoIHVuaXRzLCB0aGUgbW9zdCBjb21tb24gZm9yIHdoaWNoLCBhbmQgdGhlIG1vc3QgYmFzaWMsIGlzIHRoZSBwaXhlbCAocHgpLiBMZXNzIGNvbW1vbiBhYnNvbHV0ZSB1bml0cyBhcmUgbW0gKG1pbGxpbWV0ZXIpLCBjbSAoY2VudGltZXRlciksIGluLiAoaW5jaCksIHB0IChwb2ludCDigJQgdHlwb2dyYXBoaWMgdGVybSBmb3IgMS83MiBvZiBhbiBpbmNoKSwgYW5kIHBjIChwaWNhIOKAlCB0eXBvZ3JhcGhpYyB0ZXJtIGZvciAxMiBwb2ludHMpLiBBbnkgb2YgdGhlc2UgdW5pdHMgY2FuIGJlIHRyYW5zbGF0ZWQgZGlyZWN0bHkgdG8gYW5vdGhlciBpZiB5b3Ugd2FudCB0byB3b3JrIG91dCB0aGUgbWF0aDo8L3A+Cgo8c3BhbiBjbGFzcz0ia2F0ZXgtZGlzcGxheSI+PHNwYW4gY2xhc3M9ImthdGV4Ij48c3BhbiBjbGFzcz0ia2F0ZXgtbWF0aG1sIj48bWF0aCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIgZGlzcGxheT0iYmxvY2siPjxzZW1hbnRpY3M+PG1yb3c+PG1uPjE8L21uPjxtdGV4dD7CoDwvbXRleHQ+PG1pPmk8L21pPjxtaT5uPC9taT48bWkgbWF0aHZhcmlhbnQ9Im5vcm1hbCI+LjwvbWk+PG1vPj08L21vPjxtbj4yNS40PC9tbj48bXRleHQ+wqA8L210ZXh0PjxtaT5tPC9taT48bWk+bTwvbWk+PG1vPj08L21vPjxtbj4yLjU0PC9tbj48bXRleHQ+wqA8L210ZXh0PjxtaT5jPC9taT48bWk+bTwvbWk+PG1vPj08L21vPjxtbj42PC9tbj48bXRleHQ+wqA8L210ZXh0PjxtaT5wPC9taT48bWk+YzwvbWk+PG1vPj08L21vPjxtbj43MjwvbW4+PG10ZXh0PsKgPC9tdGV4dD48bWk+cDwvbWk+PG1pPnQ8L21pPjxtbz49PC9tbz48bW4+OTY8L21uPjxtdGV4dD7CoDwvbXRleHQ+PG1pPnA8L21pPjxtaT54PC9taT48L21yb3c+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4Ij4xXCBpbi4gPSAyNS40XCBtbSA9IDIuNTRcIGNtID0gNlwgcGMgPSA3MlwgcHQgPSA5NlwgcHg8L2Fubm90YXRpb24+PC9zZW1hbnRpY3M+PC9tYXRoPjwvc3Bhbj48c3BhbiBjbGFzcz0ia2F0ZXgtaHRtbCIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuIGNsYXNzPSJiYXNlIj48c3BhbiBjbGFzcz0ic3RydXQiIHN0eWxlPSJoZWlnaHQ6MC42NTk1MmVtO3ZlcnRpY2FsLWFsaWduOjBlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIj7CoDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj5pPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPm48L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjI3Nzc3Nzc3Nzc3Nzc3NzhlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibXJlbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjAuMjc3Nzc3Nzc3Nzc3Nzc3OGVtOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYmFzZSI+PHNwYW4gY2xhc3M9InN0cnV0IiBzdHlsZT0iaGVpZ2h0OjAuNjQ0NDRlbTt2ZXJ0aWNhbC1hbGlnbjowZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjI8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjU8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjQ8L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSI+wqA8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+bTwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj5tPC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yNzc3Nzc3Nzc3Nzc3Nzc4ZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1yZWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjI3Nzc3Nzc3Nzc3Nzc3NzhlbTsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDowLjY0NDQ0ZW07dmVydGljYWwtYWxpZ246MGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4yPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj41PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj40PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiPsKgPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPmM8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+bTwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjAuMjc3Nzc3Nzc3Nzc3Nzc3OGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtcmVsIj49PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yNzc3Nzc3Nzc3Nzc3Nzc4ZW07Ij48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJiYXNlIj48c3BhbiBjbGFzcz0ic3RydXQiIHN0eWxlPSJoZWlnaHQ6MC44Mzg4ODAwMDAwMDAwMDAxZW07dmVydGljYWwtYWxpZ246LTAuMTk0NDRlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Njwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIj7CoDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj5wPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPmM8L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjI3Nzc3Nzc3Nzc3Nzc3NzhlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibXJlbCI+PTwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjAuMjc3Nzc3Nzc3Nzc3Nzc3OGVtOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYmFzZSI+PHNwYW4gY2xhc3M9InN0cnV0IiBzdHlsZT0iaGVpZ2h0OjAuODM4ODgwMDAwMDAwMDAwMWVtO3ZlcnRpY2FsLWFsaWduOi0wLjE5NDQ0ZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjc8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjI8L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSI+wqA8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+cDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj50PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yNzc3Nzc3Nzc3Nzc3Nzc4ZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1yZWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjI3Nzc3Nzc3Nzc3Nzc3NzhlbTsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDowLjgzODg4MDAwMDAwMDAwMDFlbTt2ZXJ0aWNhbC1hbGlnbjotMC4xOTQ0NGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj45PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj42PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiPsKgPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPnA8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+eDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+Cgo8cD50aGVyZWZvcmUsIDE2IHB4IGlzIHRoZSBzYW1lIGFzIDEyIHB0ICg8c3BhbiBjbGFzcz0ia2F0ZXgiPjxzcGFuIGNsYXNzPSJrYXRleC1tYXRobWwiPjxtYXRoIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIj48c2VtYW50aWNzPjxtcm93PjxtZnJhYz48bW4+MTY8L21uPjxtbj45NjwvbW4+PC9tZnJhYz48bW8+w5c8L21vPjxtbj43MjwvbW4+PC9tcm93Pjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCI+XGZyYWN7MTZ9ezk2fVx0aW1lc3s3Mn08L2Fubm90YXRpb24+PC9zZW1hbnRpY3M+PC9tYXRoPjwvc3Bhbj48c3BhbiBjbGFzcz0ia2F0ZXgtaHRtbCIgYXJpYS1oaWRkZW49InRydWUiPjxzcGFuIGNsYXNzPSJiYXNlIj48c3BhbiBjbGFzcz0ic3RydXQiIHN0eWxlPSJoZWlnaHQ6MS4xOTAxMDhlbTt2ZXJ0aWNhbC1hbGlnbjotMC4zNDVlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+PHNwYW4gY2xhc3M9Im1vcGVuIG51bGxkZWxpbWl0ZXIiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibWZyYWMiPjxzcGFuIGNsYXNzPSJ2bGlzdC10IHZsaXN0LXQyIj48c3BhbiBjbGFzcz0idmxpc3QtciI+PHNwYW4gY2xhc3M9InZsaXN0IiBzdHlsZT0iaGVpZ2h0OjAuODQ1MTA4ZW07Ij48c3BhbiBzdHlsZT0idG9wOi0yLjY1NTAwMDAwMDAwMDAwMDJlbTsiPjxzcGFuIGNsYXNzPSJwc3RydXQiIHN0eWxlPSJoZWlnaHQ6M2VtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzaXppbmcgcmVzZXQtc2l6ZTYgc2l6ZTMgbXRpZ2h0Ij48c3BhbiBjbGFzcz0ibW9yZCBtdGlnaHQiPjxzcGFuIGNsYXNzPSJtb3JkIG10aWdodCI+OTwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtdGlnaHQiPjY8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9InRvcDotMy4yM2VtOyI+PHNwYW4gY2xhc3M9InBzdHJ1dCIgc3R5bGU9ImhlaWdodDozZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9ImZyYWMtbGluZSIgc3R5bGU9ImJvcmRlci1ib3R0b20td2lkdGg6MC4wNGVtOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBzdHlsZT0idG9wOi0zLjM5NGVtOyI+PHNwYW4gY2xhc3M9InBzdHJ1dCIgc3R5bGU9ImhlaWdodDozZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9InNpemluZyByZXNldC1zaXplNiBzaXplMyBtdGlnaHQiPjxzcGFuIGNsYXNzPSJtb3JkIG10aWdodCI+PHNwYW4gY2xhc3M9Im1vcmQgbXRpZ2h0Ij4xPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG10aWdodCI+Njwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InZsaXN0LXMiPuKAizwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InZsaXN0LXIiPjxzcGFuIGNsYXNzPSJ2bGlzdCIgc3R5bGU9ImhlaWdodDowLjM0NWVtOyI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ibWNsb3NlIG51bGxkZWxpbWl0ZXIiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjIyMjIyMjIyMjIyMjIyMjJlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibWJpbiI+w5c8L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjIyMjIyMjIyMjIyMjIyMjJlbTsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDowLjY0NDQ0ZW07dmVydGljYWwtYWxpZ246MGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj48c3BhbiBjbGFzcz0ibW9yZCI+Nzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+KS4gRGVzaWduZXJzIGFyZSBvZnRlbiBtb3JlIGZhbWlsaWFyIHdpdGggdGhlIHVzZSBvZiBwb2ludHMsIHdoZXJlIGRldmVsb3BlcnMgYXJlIG1vcmUgYWNjdXN0b21lZCB0byBwaXhlbHMuPC9wPgoKPHA+UGl4ZWwgaXMgYSBzbGlnaHRseSBtaXNsZWFkaW5nIG5hbWUg4oCUIGEgQ1NTIHBpeGVsIGRvZXMgbm90IHN0cmljdGx5IGVxdWF0ZSB0byBhIG1vbml0b3LigJlzIHBpeGVsLiBUaGlzIGlzIG5vdGFibHkgdGhlIGNhc2Ugb24gaGlnaC1yZXNvbHV0aW9uIGRpc3BsYXlzLiBBbHRob3VnaCB0aGUgQ1NTIG1lYXN1cmVtZW50cyBjYW4gYmUgc2NhbGVkIGEgYml0LCBkZXBlbmRpbmcgb24gdGhlIGJyb3dzZXIsIHRoZSBvcGVyYXRpbmcgc3lzdGVtLCBhbmQgdGhlIGhhcmR3YXJlLCA5NiBweCBpcyB1c3VhbGx5IGluIHRoZSBiYWxscGFyayBvZiAxIHBoeXNpY2FsIGluY2ggb25zY3JlZW4sIHRob3VnaCB0aGlzIGNhbiB2YXJ5IG9uIGNlcnRhaW4gZGV2aWNlcyBvciB3aXRoIGEgdXNlcuKAmXMgcmVzb2x1dGlvbiBzZXR0aW5ncy48L3A+Cgo8aDIgaWQ9ImVtcy1hbmQtcmVtcyI+RW1zIGFuZCBSZW1zPC9oMj4KCjxwPkVtcywgdGhlIG1vc3QgY29tbW9uIHJlbGF0aXZlIGxlbmd0aCB1bml0LCBhcmUgYSBtZWFzdXJlIHVzZWQgaW4gdHlwb2dyYXBoeSwgcmVmZXJpbmcgdG8gYSBzcGVjaWZpZWQgZm9udCBzaXplLiBJbiBDU1MsIDEgZW0gbWVhbnMgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgY3VycmVudCBlbGVtZW50OyBpdHMgZXhhY3QgdmFsdWUgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgZWxlbWVudCB5b3XigJlyZSBhcHBseWluZyBpdCB0by48L3A+Cgo8cD5Gb3IgZXhhbXBsZTo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibmMiPi5wYWRkZWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTZweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPnBhZGRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5UaGlzIHJ1bGVzZXQgc3BlY2lmaWVzIGEgZm9udCBzaXplIG9mIDE2IHB4LCB3aGljaCBiZWNvbWVzIHRoZSBlbGVtZW504oCZcyBsb2NhbCBkZWZpbml0aW9uIGZvciAxIGVtLiBUaGVuIHRoZSBjb2RlIHVzZXMgZW1zIHRvIHNwZWNpZnkgdGhlIHBhZGRpbmcgb2YgdGhlIGVsZW1lbnQsIHByb2R1Y2luZyBhIHJlbmRlcmVkIHBhZGRpbmcgb2YgMTYgcHguIElmIGFub3RoZXIgc2VsZWN0b3IgdGFyZ2V0cyB0aGUgc2FtZSBlbGVtZW50IGFuZCBvdmVycmlkZXMgaXQgd2l0aCBhIGRpZmZlcmVudCBmb250IHNpemUsIGl04oCZbGwgY2hhbmdlIHRoZSBsb2NhbCBtZWFuaW5nIG9mIGVtLCBhbmQgdGhlIGNvbXB1dGVkIHBhZGRpbmcgd2lsbCBjaGFuZ2UgdG8gcmVmbGVjdCB0aGF0LjwvcD4KCjxibG9ja3F1b3RlPgogIDxwPlZhbHVlcyBkZWNsYXJlZCB1c2luZyByZWxhdGl2ZSB1bml0cyBhcmUgZXZhbHVhdGVkIGJ5IHRoZSBicm93c2VyIHRvIGFuIGFic29sdXRlIHZhbHVlLCBjYWxsZWQgPGVtPmNvbXB1dGVkIHZhbHVlPC9lbT4uPC9wPgo8L2Jsb2NrcXVvdGU+Cgo8aDMgaWQ9InVzaW5nLWVtcy10by1kZWZpbmUtZm9udC1zaXplIj5Vc2luZyBFbXMgdG8gRGVmaW5lIEZvbnQtc2l6ZTwvaDM+Cgo8cD5XaGVuIGl0IGNvbWVzIHRvIHRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj5mb250LXNpemU8L2NvZGU+IHByb3BlcnR5LCBlbXMgaGF2ZSBiZWhhdmUgYSBsaXR0bGUgZGlmZmVyZW50bHkuIElmIHlvdSBkZWNsYXJlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPmZvbnQtc2l6ZTogMS4yZW08L2NvZGU+LCB3aGF0IGRvZXMgdGhhdCBtZWFuPyBBIGZvbnQgc2l6ZSBjYW7igJl0IGVxdWFsIDEuMiB0aW1lcyBpdHNlbGYuIEluc3RlYWQsIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPmZvbnQtc2l6ZTwvY29kZT4gZW1zIGFyZSBkZXJpdmVkIGZyb20gdGhlIDxlbT5pbmhlcml0ZWQ8L2VtPiBmb250IHNpemUuPC9wPgoKPHA+SWYgeW91IGtub3cgdGhlIHBpeGVsLWJhc2VkIGZvbnQgc2l6ZSB5b3XigJlkIGxpa2UsIGJ1dCB3YW50IHRvIHNwZWNpZnkgdGhlIGRlY2xhcmF0aW9uIGluIGVtcywgaGVyZeKAmXMgYSBzaW1wbGUgZm9ybXVsYTogZGl2aWRlIHRoZSBkZXNpcmVkIHBpeGVsIHNpemUgYnkgdGhlIHBhcmVudCAoaW5oZXJpdGVkKSBwaXhlbCBzaXplLiBGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgYSAxMCBweCBmb250IGFuZCB5b3VyIGVsZW1lbnQgaXMgaW5oZXJpdGluZyBhIDEyIHB4IGZvbnQsIDxzcGFuIGNsYXNzPSJrYXRleCI+PHNwYW4gY2xhc3M9ImthdGV4LW1hdGhtbCI+PG1hdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiPjxzZW1hbnRpY3M+PG1yb3c+PG1uPjEwPC9tbj48bWkgbWF0aHZhcmlhbnQ9Im5vcm1hbCI+LzwvbWk+PG1uPjEyPC9tbj48bW8+PTwvbW8+PG1uPjAuODMzMzwvbW4+PG10ZXh0PsKgPC9tdGV4dD48bWk+ZTwvbWk+PG1pPm08L21pPjwvbXJvdz48YW5ub3RhdGlvbiBlbmNvZGluZz0iYXBwbGljYXRpb24veC10ZXgiPjEwLzEyID0gMC44MzMzXCBlbTwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9zcGFuPjxzcGFuIGNsYXNzPSJrYXRleC1odG1sIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDoxZW07dmVydGljYWwtYWxpZ246LTAuMjVlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Lzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mjwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjAuMjc3Nzc3Nzc3Nzc3Nzc3OGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtcmVsIj49PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yNzc3Nzc3Nzc3Nzc3Nzc4ZW07Ij48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJiYXNlIj48c3BhbiBjbGFzcz0ic3RydXQiIHN0eWxlPSJoZWlnaHQ6MC42NDQ0NGVtO3ZlcnRpY2FsLWFsaWduOjBlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+ODwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIj7CoDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj5lPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPm08L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+LiBJZiB5b3Ugd2FudCBhIDE2IHB4IGZvbnQgYW5kIHRoZSBwYXJlbnQgZm9udCBpcyAxMiBweCwgPHNwYW4gY2xhc3M9ImthdGV4Ij48c3BhbiBjbGFzcz0ia2F0ZXgtbWF0aG1sIj48bWF0aCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI+PHNlbWFudGljcz48bXJvdz48bW4+MTY8L21uPjxtaSBtYXRodmFyaWFudD0ibm9ybWFsIj4vPC9taT48bW4+MTI8L21uPjxtbz49PC9tbz48bW4+MS4zMzMzPC9tbj48bXRleHQ+wqA8L210ZXh0PjxtaT5lPC9taT48bWk+bTwvbWk+PC9tcm93Pjxhbm5vdGF0aW9uIGVuY29kaW5nPSJhcHBsaWNhdGlvbi94LXRleCI+MTYvMTIgPSAxLjMzMzNcIGVtPC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD48L3NwYW4+PHNwYW4gY2xhc3M9ImthdGV4LWh0bWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0iYmFzZSI+PHNwYW4gY2xhc3M9InN0cnV0IiBzdHlsZT0iaGVpZ2h0OjFlbTt2ZXJ0aWNhbC1hbGlnbjotMC4yNWVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj42PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4vPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4yPC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yNzc3Nzc3Nzc3Nzc3Nzc4ZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1yZWwiPj08L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjI3Nzc3Nzc3Nzc3Nzc3NzhlbTsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDowLjY0NDQ0ZW07dmVydGljYWwtYWxpZ246MGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4zPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4zPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4zPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4zPC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiPsKgPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPmU8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+bTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj4uPC9wPgoKPGJsb2NrcXVvdGU+CiAgPHA+SXTigJlzIGhlbHBmdWwgdG8ga25vdyB0aGF0LCBmb3IgbW9zdCBicm93c2VycywgdGhlIGRlZmF1bHQgZm9udCBzaXplIGlzIDxzdHJvbmc+MTYgcHg8L3N0cm9uZz4uIFRlY2huaWNhbGx5LCBpdOKAmXMgdGhlIGtleXdvcmQgdmFsdWUgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+bWVkaXVtPC9jb2RlPiB0aGF0IGNhbGN1bGF0ZXMgdG8gMTYgcHguPC9wPgo8L2Jsb2NrcXVvdGU+Cgo8aDMgaWQ9ImVtcy1mb3ItZm9udC1zaXplLXRvZ2V0aGVyLXdpdGgtZW1zLWZvci1vdGhlci1wcm9wZXJ0aWVzIj5FbXMgZm9yIEZvbnQtc2l6ZSBUb2dldGhlciB3aXRoIEVtcyBmb3IgT3RoZXIgUHJvcGVydGllczwvaDM+Cgo8cD5XaGF0IG1ha2VzIGVtcyB0cmlja3kgaXMgd2hlbiB5b3UgdXNlIHRoZW0gZm9yIGJvdGggZm9udCBzaXplIGFuZCBhbnkgb3RoZXIgcHJvcGVydGllcyBvbiB0aGUgc2FtZSBlbGVtZW50LiBXaGVuIHlvdSBkbyB0aGlzLCB0aGUgYnJvd3NlciBtdXN0IGNhbGN1bGF0ZSB0aGUgZm9udCBzaXplIGZpcnN0LCBhbmQgdGhlbiBpdCB1c2VzIHRoYXQgdmFsdWUgdG8gY2FsY3VsYXRlIHRoZSBvdGhlciB2YWx1ZXMuIEJvdGggcHJvcGVydGllcyBjYW4gaGF2ZSB0aGUgc2FtZSBkZWNsYXJlZCB2YWx1ZSwgYnV0IHRoZXnigJlsbCBoYXZlIGRpZmZlcmVudCBjb21wdXRlZCB2YWx1ZXMuIEZvciBleGFtcGxlOjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJudCI+Ym9keTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXNpemU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xNnB4PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJuYyI+LnBhZGRpbmc8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MS4yZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJjIj4vKiBldmFsdWF0ZXMgdG8gMTkuMnB4ICovPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+cGFkZGluZzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjEuMmVtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0iYyI+LyogZXZhbHVhdGVzIHRvIDIzLjA0cHggKi88L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5iYWNrZ3JvdW5kLWNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+I2NjYzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPkluIHRoaXMgZXhhbXBsZSwgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+cGFkZGluZzwvY29kZT4gaGFzIGEgc3BlY2lmaWVkIHZhbHVlIG9mIDEuMiBlbS4gVGhpcyBtdWx0aXBsaWVkIGJ5IDE5LjIgcHggKHRoZSBjb21wdXRlZCBmb250IHNpemUgb2YgdGhlIGVsZW1lbnQpIHByb2R1Y2VzIGEgY2FsY3VsYXRlZCB2YWx1ZSBvZiAyMy4wNCBweC48L3A+Cgo8aDMgaWQ9InRoZS1zaHJpbmtpbmctZm9udC1wcm9ibGVtIj5UaGUgU2hyaW5raW5nIEZvbnQgUHJvYmxlbTwvaDM+Cgo8cD5FbXMgY2FuIHByb2R1Y2UgdW5leHBlY3RlZCByZXN1bHRzIHdoZW4geW91IHVzZSB0aGVtIHRvIHNwZWNpZnkgdGhlIGZvbnQgc2l6ZXMgb2YgbXVsdGlwbGUgbmVzdGVkIGVsZW1lbnRzLiBUbyBrbm93IHRoZSBleGFjdCB2YWx1ZSBmb3IgZWFjaCBlbGVtZW50LCB5b3XigJlsbCBuZWVkIHRvIGtub3cgaXRzIGluaGVyaXRlZCBmb250IHNpemUsIHdoaWNoLCBpZiBkZWZpbmVkIG9uIHRoZSBwYXJlbnQgZWxlbWVudCBpbiBlbXMsIHJlcXVpcmVzIHlvdSB0byBrbm93IHRoZSBwYXJlbnQgZWxlbWVudOKAmXMgaW5oZXJpdGVkIHNpemUsIGFuZCBzbyBvbiB1cCB0aGUgdHJlZS48L3A+Cgo8cD5UaGlzIGJlY29tZXMgcXVpY2tseSBhcHBhcmVudCB3aGVuIHlvdSB1c2UgZW1zIGZvciB0aGUgZm9udCBzaXplIG9mIGxpc3RzIGFuZCB0aGVuIG5lc3QgbGlzdHMgc2V2ZXJhbCBsZXZlbHMgZGVlcCwgbGlrZSB0aGlzOjwvcD4KCjxwPjxpbWcgc3JjPSIvYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmciIGFsdD0ibGlzdHMgdXNpbmcgZW1zIGFzIGZvbnQtc2l6ZSIgZGF0YS1zcmM9Imh0dHBzOi8vaS5sb2xpLm5ldC8yMDE5LzA2LzI3LzVkMTRjNzVkZDIwYTgxNDQ4Mi5wbmciPjwvcD4KCjxwPndpdGggQ1NTIGRlZmluZWQgbGlrZTo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibnQiPmJvZHk8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MTZweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+Cgo8c3BhbiBjbGFzcz0ibnQiPnVsPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmZvbnQtc2l6ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPi44ZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5CeSBub3csIGl0IHNob3VsZCBiZSBjbGVhciB0aGF0IGVtcyBhcmUgbmljZSBmb3IgZWxlbWVudCBzaXppbmcsIGJ1dCB3aGVuIGl0IGNvbWVzIHRvIGZvbnQgc2l6ZSwgdGhleSBjYW4gZ2V0IGNvbXBsaWNhdGVkLiBUaGFua2Z1bGx5LCB0aGVyZSBpcyBhIGJldHRlciBvcHRpb24g4oCUIHJlbXMuPC9wPgoKPGgzIGlkPSJ1c2luZy1yZW1zLWZvci1mb250LXNpemUiPlVzaW5nIFJlbXMgZm9yIEZvbnQtc2l6ZTwvaDM+Cgo8cD5XaGVuIHRoZSBicm93c2VyIHBhcnNlcyBhbiBIVE1MIGRvY3VtZW50LCBpdCBjcmVhdGVzIGEgcmVwcmVzZW50YXRpb24gaW4gbWVtb3J5IG9mIGFsbCB0aGUgZWxlbWVudHMgb24gdGhlIHBhZ2UuIFRoaXMgcmVwcmVzZW50YXRpb24gaXMgY2FsbGVkIDxlbT5ET008L2VtPiAoRG9jdW1lbnQgT2JqZWN0IE1vZGVsKS4gSXTigJlzIGEgdHJlZSBzdHJ1Y3R1cmUsIHdoZXJlIGVhY2ggZWxlbWVudCBpZiByZXByZXNlbnRlZCBieSBhIG5vZGUuIFRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4mbHQ7aHRtbCZndDs8L2NvZGU+IGVsZW1lbnQgaXMgdGhlIHRvcC1sZXZlbCAob3Igcm9vdCkgbm9kZS4gQmVuZWF0aCBpdCBhcmUgaXRzIGNoaWxkIG5vZGVzLCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4mbHQ7aGVhZCZndDs8L2NvZGU+IGFuZCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4mbHQ7Ym9keSZndDs8L2NvZGU+LiBBbmQgYmVuZWF0aCB0aG9zZSBhcmUgdGhlaXIgY2hpbGRyZW4sIHRoZW4gdGhlaXIgY2hpbGRyZW4sIGFuZCBzbyBvbi48L3A+Cgo8cD5UaGUgcm9vdCBub2RlIGlzIHRoZSBhbmNlc3RvciBvZiBhbGwgb3RoZXIgZWxlbWVudHMgaW4gdGhlIGRvY3VtZW50LiBJdCBoYXMgYSBzcGVjaWFsIHBzZXVkby1jbGFzcyBzZWxlY3RvciAoPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+OnJvb3Q8L2NvZGU+KSB0aGF0IHlvdSBjYW4gdXNlIHRvIHRhcmdldCBpdC4gVGhpcyBpcyBlcXVpdmFsZW50IHRvIHVzaW5nIHRoZSB0eXBlIHNlbGVjdG9yIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPmh0bWw8L2NvZGU+IHdpdGggdGhlIHNwZWNpZmljaXR5IG9mIGEgY2xhc3MgcmF0aGVyIHRoYW4gYSB0YWcuPC9wPgoKPHA+PGVtPlJlbTwvZW0+IGlzIHNob3J0IGZvciByb29tIGVtLiBJbnN0ZWFkIG9mIGJlaW5nIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGVsZW1lbnQsIHJlbXMgYXJlIHJlbGF0aXZlIHRvIHRoZSByb290IGVsZW1lbnQuIE5vIG1hdHRlciB3aGVyZSB5b3UgYXBwbHkgaXQgaW4gdGhlIGRvY3VtZW50LCAxLjIgcmVtIGhhcyB0aGUgc2FtZSBjb21wdXRlZCB2YWx1ZTogMS4yIHRpbWVzIHRoZSBmb250IHNpemUgb2YgdGhlIHJvb3QgZWxlbWVudC48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibmQiPjpyb290PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmZvbnQtc2l6ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjFlbTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImMiPi8qIHNldCB0byBicm93c2VyJ3MgZGVmYXVsdCBvZiAxNnB4ICovPC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJudCI+dWw8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+LjhlbTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9ImMiPi8qIGV2YWx1YXRlZCB0byBiZSAxMi44cHggKi88L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8YmxvY2txdW90ZT4KICA8cD48c3Ryb25nPkFjY2Vzc2liaWxpdHk6IHVzZSByZWxhdGl2ZSB1bml0cyBmb3IgZm9udCBzaXplPC9zdHJvbmc+PC9wPgoKICA8cD5Tb21lIGJyb3dzZXJzIHByb3ZpZGUgdHdvIHdheXMgZm9yIHRoZSB1c2VyIHRvIGN1c3RvbWl6ZSB0aGUgc2l6ZSBvZiB0ZXh0OjwvcD4KCiAgPG9sPgogICAgPGxpPgo8c3Ryb25nPlpvb208L3N0cm9uZz4uIEJ5IHByZXNzaW5nIDxrYmQ+Y3RybCs8L2tiZD4gb3IgPGtiZD5jdHJsLTwva2JkPiwgdGhlIHVzZXIgY2FuIHpvb20gdGhlIHBhZ2UgdXAgb3IgZG93bi4gVGhpcyB2aXN1YWxseSBzY2FsZXMgYWxsIGZvbnRzIGFuZCBpbWFnZXMgYW5kIGdlbmVyYWxseSBtYWtlcyBldmVydGhpbmcgb24gdGhlIHBhZ2UgbGFyZ2VyIG9yIHNtYWxsZXIuIEluIG1vc3QgYnJvd3NlcnMsIHRoaXMgY2hhbmdlIGlzIHRlbXBvcmFyeSBhbmQgaXMgb25seSBhcHBsaWVkIHRvIHRoZSBjdXJyZW50IHRhYi48L2xpPgogICAgPGxpPgo8c3Ryb25nPlNldCBkZWZhdWx0IGZvbnQgc2l6ZTwvc3Ryb25nPi4gSW4gYnJvd3NlcuKAmXMgc2V0dGluZ3MsIHlvdSBjYW4gcGVybWFuZW50bHkgY2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgc2l6ZSBmb3IgdGV4dC4gVGhlIGNhdGNoIGlzIHRoYXQgdGhpcyBzZXR0aW5nIGRvZXMgbm90IHJlc2l6ZSBmb250cyBkZWZpbmVkIHVzaW5nIHBpeGVscyBvciBvdGhlciBhYnNvbHV0ZSB1bml0cy48L2xpPgogIDwvb2w+CjwvYmxvY2txdW90ZT4KCjxwPlJlbXMgc2ltcGxpZnkgYSBsb3Qgb2YgY29tcGxleGl0aWVzIGludm9sdmVkIHdpdGggZW1zLiBJbiBmYWN0LCB0aGV5IG9mZmVyIGEgZ29vZCBtaWRkbGUgZ3JvdW5kIGJldHdlZW4gcGl4ZWxzIGFuZCBlbXMgYnkgcHJvdmlkaW5nIHRoZSBiZW5lZml0cyBvZiByZWxhdGl2ZSB1bml0cywgYnV0IGVhc2llciB0byB3b3JrIHdpdGguIERvZXMgdGhpcyBtZWFuIHlvdSBzaG91bGQgdXNlIHJlbXMgZXZlcnl3aGVyZSBhbmQgYWJhbmRvbiB0aGUgb3RoZXIgb3B0aW9ucz88L3A+Cgo8cD5JbiBDU1MsIGFnYWluLCB0aGUgYW5zd2VyIGlzIG9mdGVuLCDigJxpdCBkZXBlbmRz4oCdLiBSZW1zIGFyZSBidXQgb25lIHRvb2wgaW4geW91ciB0b29sIGJveC4gQW4gaW1wb3J0YW50IHBhcnQgb2YgbWFzdGVyaW5nIENTUyBpcyBsZWFybmluZyB3aGVuIHRvIHVzZSB3aGljaCB0b29sLiBJdOKAmXMgbmljZSB0byB1c2UgcmVtcyBmb3IgZm9udCBzaXplcywgcGl4ZWxzIGZvciBib3JkZXJzLCBhbmQgZW1zIGZvciBtb3N0IG90aGVyIG1lYXN1cmVzLCBlc3BlY2lhbGx5IHBhZGRpbmdzLCBtYXJnaW5zLCBhbmQgYm9yZGVyIHJhZGl1cy4gVGhpcyB3YXksIGZvbnQgc2l6ZXMgYXJlIHByZWRpY3RhYmxlLCBidXQgeW914oCZbGwgc3RpbGwgZ2V0IHRoZSBwb3dlciBvZiBlbXMgc2NhbGluZyB5b3VyIHBhZGRpbmdzIGFuZCBtYXJnaW5zLiBQaXhjZWxzIG1ha2Ugc2Vuc2UgZm9yIGJvcmRlcnMsIHBhcnRpY3VsYXJseSB3aGVuIHlvdSB3YW50IGEgbmljZSBmaW5lIGxpbmUuPC9wPgoKPGgyIGlkPSJzdG9wLXRoaW5raW5nLWluLXBpeGVscyI+U3RvcCBUaGlua2luZyBpbiBQaXhlbHM8L2gyPgoKPHA+T25lIHBhdHRlcm4sIG9yIHJhdGhlciwgYW50aXBhcnR0ZXJuLCB0aGF0IGhhcyBiZWVuIGNvbW1vbiBmb3IgdGhlIHBhc3Qgc2V2ZXJhbCB5ZWFycyBpcyB0byByZXNldCB0aGUgZm9udCBzaXplIGF0IHRoZSBwYWdl4oCZcyByb290IHRvIC42MjUgZW0gb3IgNjIuNSUuIFRoaXMgdGFrZXMgdGhlIGJyb3dzZXLigJlzIGRlZmF1bHQgc2l6ZSwgMTYgcHgsIGFuZCBzY2FsZXMgaXQgZG93biB0byAxMCBweC4gVGhpcyBwcmFjdGlzZSBzaW1wbGlmaWVzIHRoZSBtYXRoLjwvcD4KCjxwPkluaXRpYWxseSwgdGhpcyBtYXkgYmUgY29udmVuaWVudCwgYnV0IHRoZXJlIGFyZSB0d28gcHJvYmxlbXMgd2l0aCB0aGlzIGFwcHJvYWNoLiBGaXJzdCwgaXQgZm9yY2VzIHlvdSB0byB3cml0ZSBhIGxvdCBvZiBkdXBsaWNhdGUgc3R5bGVzLiAxMCBweCBpcyB0b28gc21hbGwgZm9yIG1vc3QgdGV4dCwgc28geW914oCZbGwgaGF2ZSB0byBvdmVycmlkZSBpdCB0aHJvdWdob3V0IHRoZSBwYWdlLiBUaGUgc2Vjb25kIHByb2JsZW0gaXMgdGhhdCB3aGVuIHlvdSBkbyB0aGlzLCB5b3XigJlyZSBzdGlsbCB0aGlua2luZyBpbiBwaXhlbHMuIFlvdSBtaWdodCB0eXBlIDEuNCByZW0gaW50byB5b3VyIENTUywgYnV0IGluIHlvdXIgbWluZCwgeW914oCZcmUgc3RpbGwgdGhpbmtpbmcg4oCcMTQgcGl4ZWxz4oCdLiBPbiBhIHJlc3BvbnNpdmUgd2ViLCB5b3Ugc2hvdWxkIGdldCBjb21mb3J0YWJsZSB3aXRoIOKAnGZ1enp54oCdIHZhbHVlcy4gSXQgZG9lc27igJl0IG1hdHRlciBob3cgbWFueSBwaXhlbHMgMS41IGVtIGV2YWx1YXRlcyB0bzsgYWxsIHlvdSBuZWVkIHRvIGtub3cgaXMgdGhhdCBpdOKAmXMgYSBiaXQgYmlnZ2VyIHRoYW4gdGhlIGluaGVyaXRlZCBmb250IHNpemUuPC9wPgoKPGgzIGlkPSJzZXR0aW5nLWEtc2FuZS1kZWZhdWx0LWZvbnQtc2l6ZSI+U2V0dGluZyBhIFNhbmUgRGVmYXVsdCBGb250IFNpemU8L2gzPgoKPHA+TGV04oCZcyBzYXkgeW91IHdhbnQgeW91ciBkZWZhdWx0IGZvbnQgc2l6ZSB0byBiZSAxNCBweC4gSW5zdGVhZCBvZiBzZXR0aW5nIGEgMTAgcHggZGVmYXVsdCB0aGVuIG92ZXJyaWRpbmcgaXQgdGhyb3VnaCB0aGUgcGFnZSwgc2V0IHRoYXQgdmFsdWUgYXQgdGhlIHJvb3QuIFRoZSBkZXNpcmVkIHZhbHVlIGRpdmlkZWQgYnkgdGhlIGluaGVyaXRlZCB2YWx1ZSDigJQgaW4gdGhpcyBjYXNlLCB0aGUgYnJvd3NlcuKAmXMgZGVmYXVsdCDigJQgIGlzIDE0LzE2LCB3aGljaCBlcXVhbHMgMC44NzU6PC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im5kIj46cm9vdDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXNpemU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4wLjg3NWVtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+Tm93IHlvdXIgZGVzaXJlZCBmb250IHNpemUgaXMgYXBwbGllZCB0byB0aGUgd2hvbGUgcGFnZS4gWW91IHdvbuKAmXQgbmVlZCB0byBzcGVjaWZ5IGl0IGVsc2V3aGVyZS4gWW914oCZbGwgb25seSBuZWVkIHRvIGNoYW5nZSBpdCBpbiBwbGFjZXMgd2hlcmUgdGhlIGRlc2lnbiBkZXZpYXRlcyBmcm9tIHRoaXMsIHN1Y2ggYXMgaGVhZGluZ3MuPC9wPgoKPGgzIGlkPSJtZWRpYS1xdWVyeSI+TWVkaWEgUXVlcnk8L2gzPgoKPHA+TGV04oCZcyBtYWtlIHRoaXMgYSBiaXQgZnVydGhlci4gWW91IGNhbiB1c2Ugc29tZSA8ZW0+bWVkaWEgcXVlcmllczwvZW0+IHRvIGNoYW5nZSB0aGUgYmFzZSBmb250IHNpemUsIGRlcGVuZGluZyBvbiB0aGUgc2NyZWVuIHNpemUuPC9wPgoKPGJsb2NrcXVvdGU+CiAgPHA+PGVtPm1lZGlhIHF1ZXJ5PC9lbT4g4oCUIEFuIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPkBtZWRpYTwvY29kZT4gcnVsZSB1c2VkIHRvIHNwZWNpZnkgc3R5bGVzIHRoYXQgd2lsbCBiZSBhcHBsaWVkIG9ubHkgdG8gY2VydGFpbiBzY3JlZW4gc2l6ZSBvciBtZWRpYSB0eXBlcyAoPGVtPmUuZy48L2VtPiBwcmludCBvciBzY3JlZW4pLiBUaGlzIGlzIGEga2V5IGNvbXBvbmVudCBvZiByZXNwb25zaXZlIGRlc2lnbi48L3A+CjwvYmxvY2txdW90ZT4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuZCI+OnJvb3Q8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MC43NWVtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJrIj5AbWVkaWE8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5taW4td2lkdGg8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj44MDBweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+IDxzcGFuIGNsYXNzPSJjIj4vKiBhcHBsaWVzIG9ubHkgdG8gc2NyZWVucyA4MDBweCBhbmQgd2lkZXIgKi88L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5kIj46cm9vdDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibmwiPmZvbnQtc2l6ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjAuODc1ZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgoKPHNwYW4gY2xhc3M9ImsiPkBtZWRpYTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPm1pbi13aWR0aDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjEyMDBweDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+IDxzcGFuIGNsYXNzPSJjIj4vKiBhcHBsaWVzIG9ubHkgdG8gc2NyZWVucyAxMjAwcHggYW5kIHdpZGVyICovPC9zcGFuPgogIDxzcGFuIGNsYXNzPSJuZCI+OnJvb3Q8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXNpemU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5JZiB5b3UgYXJlIGRpc2NpcGxpbmVkIGVub3VnaCB0byBzdHlsZSB5b3VyIGVudGlyZSBwYWdlIGluIHJlbGF0aXZlIHVuaXRzIGxpa2UgdGhpcywgdGhlIGVudGlyZSBwYWdlIHdpbGwgc2NhbGUgdXAgYW5kIGRvd24gYmFzZWQgb24gdGhlIHZpZXdwb3J0IHNpemUuPC9wPgoKPGgzIGlkPSJyZXNpemluZy1hLXNpbmdsZS1jb21wb25lbnQiPlJlc2l6aW5nIGEgU2luZ2xlIENvbXBvbmVudDwvaDM+Cgo8cD5Gb3IgZXhhbXBsZSwgeW91IGhhdmUgYSBwYW5lbCBhbmQgd2FudCBhIGxhcmdlciB2ZXJzaW9uOjwvcD4KCjxwPjxpbWcgc3JjPSIvYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmciIGFsdD0icGFuZWwsIHNpemVzIiBkYXRhLXNyYz0iaHR0cHM6Ly9pLmxvbGkubmV0LzIwMTkvMDYvMjgvNWQxNTg2NWM3NzViNzU5MTgwLnBuZyI+PC9wPgoKPHA+WW91IGNhbiBvbmx5IGFkZCBhIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPmxhcmdlPC9jb2RlPiBjbGFzcyB0byB0aGUgc2Vjb25kIHBhbmVsOiA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4mbHQ7ZGl2IGNsYXNzPSJwYW5lbCBsYXJnZSImZ3Q7PC9jb2RlPi48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jc3MgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ibmMiPi5wYW5lbDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXNpemU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xcmVtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+cGFkZGluZzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjFlbTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmJvcmRlcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjFweDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5iIj5zb2xpZDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPiM5OTk8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5ib3JkZXItcmFkaXVzPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MC41ZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgoKPHNwYW4gY2xhc3M9Im5jIj4ucGFuZWw8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mZ3Q7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibnQiPmgyPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPm1hcmdpbi10b3A8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MC44ZW08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5mb250LXdlaWdodDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5iIj5ib2xkPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+dGV4dC10cmFuc2Zvcm08L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYiI+dXBwZXJjYXNlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+Rmlyc3QsIGFkZCB0aGUgZGVjbGFyYXRpb24gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+Zm9udC1zaXplOiAxcmVtPC9jb2RlPiB0byB0aGUgcGFyZW50IGVsZW1lbnQgb2YgZWFjaCBwYW5lbC4gVGhpcyBtZWFucyBlYWNoIHBhbmVsIHdpbGwgZXN0YWJsaXNoIGEgcHJlZGljdGFibGUgZm9udCBzaXplIGZvciBpdHNlbGYsIG5vIG1hdHRlciB3aGVyZSBpdOKAmXMgcGxhY2VkIG9uIHRoZSBwYWdlLiBTZWNvbmQsIHJlZGVmaW5lIHRoZSBoZWFkaW5n4oCZcyBmb250IHNpemUgdXNpbmcgRW1zIHJhdGhlciB0aGFuIHJlbXMgdG8gbWFrZSBpdCByZWxhdGl2ZSB0byB0aGUgcGFyZW504oCZcyBmb250IHNpemUgdGhhdCBqdXN0IGVzdGFibGlzaGVkLjwvcD4KCjxwPkZvciB0aGUgbGFyZ2VyIHZlcnNpb24gb2YgdGhlIHBhbmVsLCBhbGwgeW91IGhhdmUgdG8gZG8gaXMgb3ZlcnJpZGUgdGhlIHBhcmVudCBlbGVtZW504oCZcyAxIHJlbSB3aXRoIGFub3RoZXIgdmFsdWUuIEJlY2F1c2UgYWxsIHRoZSBjb21wb25lbnTigJlzIG1lYXN1cmVtZW50cyBhcmUgcmVsYXRpdmUgdG8gdGhpcywgb3ZlcnJpZGluZyBpdCB3aWxsIHJlc2l6ZSB0aGUgZW50aXJlIHBhbmVsOjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuYyI+LnBhbmVsLmxhcmdlPC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmZvbnQtc2l6ZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPjEuMnJlbTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9InAiPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxoMiBpZD0idmlld3BvcnQtcmVsYXRpdmUtdW5pdHMiPlZpZXdwb3J0LXJlbGF0aXZlIFVuaXRzPC9oMj4KCjxwPlRoZXJlIGFyZSBhbHNvIDxlbT52aWV3cG9ydC1yZWxhdGl2ZSB1bml0czwvZW0+IGZvciBkZWZpbmluZyBsZW5ndGhzIHJlbGF0aXZlIHRvIHRoZSBicm93c2Vy4oCZcyB2aWV3cG9ydC48L3A+Cgo8YmxvY2txdW90ZT4KICA8cD48ZW0+dmlld3BvcnQ8L2VtPiDigJQgVGhlIGZyYW1lZCBhcmVhIGluIHRoZSBicm93c2VyIHdpbmRvdyB3aGVyZSB0aGUgd2ViIHBhZ2UgaXMgdmlzaWJsZS4gVGhpcyBleGNsdWRlcyB0aGUgYnJvd3NlcuKAmXMgYWRkcmVzcyBiYXIsIHRvb2xiYXJzLCBhbmQgc3RhdHVzIGJhciwgaWYgcHJlc2VudC48L3A+CjwvYmxvY2txdW90ZT4KCjx1bD4KICA8bGk+CjxlbT52aDwvZW0+IOKAlCAxLzEwMCBvZiB0aGUgdmlld3BvcnQgaGVpZ2h0PC9saT4KICA8bGk+CjxlbT52dzwvZW0+IOKAlCAxLzEwMCBvZiB0aGUgdmlld3BvcnQgd2lkdGg8L2xpPgogIDxsaT4KPGVtPnZtaW48L2VtPiDigJQgMS8xMDAgb2YgdGhlIHNtYWxsZXIgZGltZW5zaW9uLCBoZWlnaHQgb3Igd2lkdGg8L2xpPgogIDxsaT4KPGVtPnZtYXg8L2VtPiDigJQgMS8xMDAgb2YgdGhlIGxhcmdlciBkaW1lbnNpb24sIGhlaWdodCBvciB3aWR0aDwvbGk+CjwvdWw+Cgo8cD5UaGUgdmlld3BvcnQtcmVsYXRpdmUgbGVuZ3RocyBhcmUgZ3JlYXQgZm9yIHRoaW5ncyBsaWtlIG1ha2luZyBhIGxhcmdlIGhlcm8gaW1hZ2UgZmlsbCB0aGUgc2NyZWVuLiBZb3UgY2FuIHBsYWNlIGFuIGltYWdlIGluc2lkZSBhIGxvbmcgY29udGFpbmVyLCBidXQgc2V0dGluZyB0aGUgaW1hZ2UgaGVpZ2h0IHRvIDEwMCB2aCwgbWFrZXMgaXQgZXhhY3RseSB0aGUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydC48L3A+Cgo8aDMgaWQ9InVzaW5nLXZ3LWZvci1mb250LXNpemUiPlVzaW5nIHZ3IGZvciBGb250IFNpemU8L2gzPgoKPHA+Q29uc2lkZXIgd2hhdCB3b3VsZCBoYXBwZW4gaWYgeW91IGFwcGxpZWQgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+Zm9udC1zaXplOiAydnc8L2NvZGU+IHRvIGFuIGVsZW1lbnQuIE9uIGEgZGVza3RvcCBtb25pdG9yIGF0IDEsMjAwIHB4LCB0aGlzIGV2YWx1YXRlcyB0byAyNCBweCAoMiUgb2YgMSwyMDApLiBPbiBhIHRhYmxldCB3aXRoIGEgc2NyZWVuIHdpZHRoIG9mIDc2OCBweCwgaXQgZXZhbHVhdGVzIHRvIGFib3V0IDE1IHB4ICgyJSBvZiA3NjgpLiBVbmZvcnR1bmF0ZWx5LCBpdCBzY2FsZXMgYWxsIHRoZSB3YXkgZG93biB0byA3LjUgcHggb24gYW4gaVBob25lIDYuPC9wPgoKPGgzIGlkPSJ1c2luZy1jYWxjLWZvci1mb250LXNpemUiPlVzaW5nIGNhbGMoKSBmb3IgRm9udCBTaXplPC9oMz4KCjxwPlRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj5jYWxjKCk8L2NvZGU+IGZ1bmN0aW9uIGxldHMgeW91IGRvIGJhc2ljIGFyaXRobWV0aWMgd2l0aCB0d28gb3IgbW9yZSB2YWx1ZXMuIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgY29tYmluaW5nIHZhbHVlcyB0aGF0IGFyZSBtZWFzdXJlZCBpbiBkaWZmZXJlbnQgdW5pdHMuIFRoaXMgZnVuY3Rpb24gc3VwcG9ydHMgYWRkaXRpb24gKCspLCBzdWJ0cmFjdGlvbiAoLSksIG11bHRpcGxpY2F0aW9uICgqKSBhbmQgZGl2aXNpb24gKC8pLiBUaGUgYWRkaXRpb24gYW5kIHN1YnRyYWN0aW9uIG9wZXJhdG9ycyBtdXN0IGJlIHN1cnJvdW5kZWQgYnkgd2hpdGVzcGFjZSwgZm9yIGV4YW1wbGUsIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPmNhbGMoMWVtICsgMTBweCk8L2NvZGU+LjwvcD4KCjxwPlVzZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj5jYWxjKCk8L2NvZGU+IHRvIGNvbWJpbmUgZW1zIHdpdGggdncgdW5pdHMsIGFzOjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuZCI+OnJvb3Q8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+Y2FsYzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibSI+MC41ZW08L3NwYW4+IDxzcGFuIGNsYXNzPSJlcnIiPis8L3NwYW4+IDxzcGFuIGNsYXNzPSJtIj4xdnc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhlIDAuNSBlbSBoZXJlIG9wZXJhdGVzIGFzIGEgc29ydCBvZiBtaW5pbXVtIGZvbnQgc2l6ZSwgYW5kIHRoZSAxIHZ3IGFkZHMgYSByZXBzb25zaXZlIHNjYWxhci4gVGhpc+KAmWxsIGdpdmUgeW91IGEgYmFzZSBmb250IHNpemUgdGhhdCBzY2FsZXMgZnJvbSAxMS43NSBweCBvbiBhbiBpUGhvbmUgNiB1cCB0byAyMCBweCBpbiBhIDEsMjAwIHB4IGJyb3dzZXIgd2luZG93LiBJdCBzaG91bGQgYXV0b21hdGljYWxseSByZXNpemUgdGhlIGZvbnQgc2l6ZSB3aGVuIHlvdSByZXNpemUgdGhlIGJyb3dzZXIgd2luZG93LCBob3dldmVyLCBJIGZvdW5kIGl0IHdhcyBub3Qgd29ya2luZyBvbiBTYWZhcmkgKFZlcnNpb24gMTIuMS4xICgxNDYwNy4yLjYuMS4xKSksIHlvdSBoYXZlIHRvIHJlZnJlc2ggdGhlIHBhZ2UgdG8gYWRqdXN0IHRoZSBmb250IHNpemUuPC9wPgoKPGgyIGlkPSJ1bml0bGVzcy1udW1iZXJzLWFuZC1saW5lLWhlaWdodCI+VW5pdGxlc3MgTnVtYmVycyBhbmQgTGluZS1oZWlnaHQ8L2gyPgoKPHA+U29tZSBwcm9wZXJ0aWVzIGFsbG93IGZvciA8ZW0+dW5pdGxlc3M8L2VtPiB2YWx1ZXMuIFByb3BlcnRpZXMgdGhhdCBzdXBwb3J0IHRoaXMgaW5jbHVkZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj5saW5lLWhlaWdodDwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPnotaW5kZXg8L2NvZGU+LCBhbmQgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+Zm9udC13ZWlnaHQ8L2NvZGU+ICg3MDAgaXMgZXF1aXZhbGVudCB0byBib2xkOyA0MDAgaXMgZXF1aXZhbGVudCB0byBub3JtYWwsIGFuZCBzbyBvbikuIFlvdSBjYW4gYWxzbyB1c2UgdGhlIHVuaXRsZXNzIHZhbHVlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjA8L2NvZGU+IGFueXdoZXJlIGEgbGVuZ3RoIHVuaXQgKHN1Y2ggYXMgcHgsIGVtLCBvciByZW0pIGlzIHJlcXVpcmVkIGJlY2F1c2UsIGluIHRoZXNlIGNhc2VzLCB0aGUgdW5pdCBkb2VzIG5vdCBtYXR0ZXIuPC9wPgoKPGJsb2NrcXVvdGU+CiAgPHA+QSB1bml0bGVzcyA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4wPC9jb2RlPiBjYW4gb25seSBiZSB1c2VkIGZvciA8ZW0+bGVuZ3RoPC9lbT4gdmFsdWVzIGFuZCBwZXJjZW50YWdlcywgc3VjaCBhcyBpbiBwYWRkaW5ncywgYm9yZGVycywgYW5kIHdpZHRocy4gSXQgY2Fu4oCZdCBiZSB1c2VkIGZvciBhbmd1bGFyIHZhbHVlcywgc3VjaCBhcyBkZWdyZWVzIG9yIHRpbWUtYmFzZWQgdmFsdWVzIGxpa2Ugc2Vjb25kcy48L3A+CjwvYmxvY2txdW90ZT4KCjxwPlRoZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj5saW5lLWhlaWdodDwvY29kZT4gcHJvcGVydHkgaXMgdW51c3VhbCBpbiB0aGF0IGl0IGFjY2VwdHMgYm90aCB1bml0cyBhbmQgdW5pdGxlc3MgdmFsdWVzLiBZb3Ugc2hvdWxkIHR5cGljYWxseSB1c2UgdW5pdGxlc3MgbnVtYmVycyBiZWNhdXNlIHRoZXnigJlyZSBpbmhlcml0ZWQgZGlmZmVyZW50bHkuPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5ib2R5PC9zcGFuPiA8c3BhbiBjbGFzcz0icCI+ezwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmxpbmUtaGVpZ2h0PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MS4yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJuYyI+LmVsZW1lbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+Zm9udC1zaXplPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+MmVtPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPi5lbGVtZW50PC9jb2RlPiBpbmhlcml0cyBhIGxpbmUgaGVpZ2h0IG9mIDEuMi4gQmVjYXVzZSB0aGUgZm9udCBzaXplIGlzIDMyIHB4ICg8c3BhbiBjbGFzcz0ia2F0ZXgiPjxzcGFuIGNsYXNzPSJrYXRleC1tYXRobWwiPjxtYXRoIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIj48c2VtYW50aWNzPjxtcm93Pjxtbj4yPC9tbj48bXRleHQ+wqA8L210ZXh0PjxtaT5lPC9taT48bWk+bTwvbWk+PG1vPsOXPC9tbz48bW4+MTY8L21uPjxtdGV4dD7CoDwvbXRleHQ+PG1pPnA8L21pPjxtaT54PC9taT48L21yb3c+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4Ij4yXCBlbVx0aW1lczE2XCBweDwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9zcGFuPjxzcGFuIGNsYXNzPSJrYXRleC1odG1sIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDowLjcyNzc3ZW07dmVydGljYWwtYWxpZ246LTAuMDgzMzNlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mjwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIj7CoDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj5lPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPm08L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjIyMjIyMjIyMjIyMjIyMjJlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibWJpbiI+w5c8L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSIgc3R5bGU9Im1hcmdpbi1yaWdodDowLjIyMjIyMjIyMjIyMjIyMjJlbTsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDowLjgzODg4MDAwMDAwMDAwMDFlbTt2ZXJ0aWNhbC1hbGlnbjotMC4xOTQ0NGVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj42PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiPsKgPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwiPnA8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+eDwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj4pLCB0aGUgbGluZSBoZWlnaHQgaXMgY2FsY3VsYXRlZCBsb2NhbGx5IHRvIDM4LjQgcHggKDxzcGFuIGNsYXNzPSJrYXRleCI+PHNwYW4gY2xhc3M9ImthdGV4LW1hdGhtbCI+PG1hdGggeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiPjxzZW1hbnRpY3M+PG1yb3c+PG1uPjMyPC9tbj48bXRleHQ+wqA8L210ZXh0PjxtaT5wPC9taT48bWk+eDwvbWk+PG1vPsOXPC9tbz48bW4+MS4yPC9tbj48L21yb3c+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4Ij4zMlwgcHhcdGltZXMgMS4yPC9hbm5vdGF0aW9uPjwvc2VtYW50aWNzPjwvbWF0aD48L3NwYW4+PHNwYW4gY2xhc3M9ImthdGV4LWh0bWwiIGFyaWEtaGlkZGVuPSJ0cnVlIj48c3BhbiBjbGFzcz0iYmFzZSI+PHNwYW4gY2xhc3M9InN0cnV0IiBzdHlsZT0iaGVpZ2h0OjAuODM4ODgwMDAwMDAwMDAwMWVtO3ZlcnRpY2FsLWFsaWduOi0wLjE5NDQ0ZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjM8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQiPjI8L3NwYW4+PHNwYW4gY2xhc3M9Im1zcGFjZSI+wqA8L3NwYW4+PHNwYW4gY2xhc3M9Im1vcmQgbWF0aG5vcm1hbCI+cDwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCBtYXRobm9ybWFsIj54PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yMjIyMjIyMjIyMjIyMjIyZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1iaW4iPsOXPC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yMjIyMjIyMjIyMjIyMjIyZW07Ij48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJiYXNlIj48c3BhbiBjbGFzcz0ic3RydXQiIHN0eWxlPSJoZWlnaHQ6MC42NDQ0NGVtO3ZlcnRpY2FsLWFsaWduOjBlbTsiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibW9yZCI+Mjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj4pLiBUaGlzIHdpbGwgbGVhdmUgYW4gYXBwcm9wcmlhdGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gbGluZXMgb2YgdGV4dC48L3A+Cgo8cD5XaGVuIGFuIGVsZW1lbnQgaGFzIGEgdmFsdWUgZGVmaW5lZCB1c2luZyBhIDxlbT5sZW5ndGg8L2VtPiAocHgsIGVtLCByZW0sIGFuZCBzbyBmb3J0aCksIGl0cyBjb21wdXRlZCB2YWx1ZSBpcyBpbmhlcml0ZWQgYnkgY2hpbGQgZWxlbWVudHMuIFdoZW4gdW5pdHMgc3VjaCBhcyBlbXMgYXJlIHNwZWNpZmllZCBmb3IgYSBsaW5lIGhlaWdodCwgdGhlaXIgdmFsdWUgaXMgY2FsY3VsYXRlZCwgYW5kIHRoYXQgY2FsY3VsYXRlZCB2YWx1ZSBpcyBwYXNzZWQgZG93biB0byBhbnkgaW5oZXJpdGluZyBjaGlsZHJlbi48L3A+Cgo8YmxvY2txdW90ZT4KICA8cD48ZW0+bGVuZ3RoPC9lbT4g4oCUIFRoZSBmb3JtYWwgbmFtZSBmb3IgYSBDU1MgdmFsdWUgdGhhdCBkZW5vdGVzIGEgZGlzdGFuY2UgbWVhc3VyZW1lbnQuIEl04oCZcyBhIG51bWJlciBmb2xsb3dlZCBieSBhIHVuaXQsIHN1Y2ggYXMgNSBweC4gTGVuZ3RoIGNvbWVzIGluIHR3byBmbGF2b3JzOiBhYnNvbHV0ZSBhbmQgcmVsYXRpdmUuIFBlcmNlbnRhZ2VzIGFyZSBzaW1pbGFyIHRvIGxlbmd0aHMsIGJ1dCBzdHJpY3RseSBzcGVha2luZywgdGhleeKAmXJlIDxzdHJvbmc+Tk9UPC9zdHJvbmc+IGNvbnNpZGVyZWQgbGVuZ3Rocy48L3A+CjwvYmxvY2txdW90ZT4KCjxwPldoZW4geW91IHVzZSBhIHVuaXRsZXNzIG51bWJlciwgdGhhdCBkZWNsYXJlZCB2YWx1ZSBpcyBpbmhlcml0ZWQsIG1lYW5pbmcgaXRzIGNvbXB1dGVkIHZhbHVlIGlzIHJlY2FsY3VsYXRlZCBmb3IgZWFjaCBpbmhlcml0aW5nIGNoaWxkIGVsZW1lbnQuIFRoaXMgd2lsbCBhbG1vc3QgYWx3YXlzIGJlIHRoZSByZXN1bHQgeW91IHdhbnQuPC9wPgoKPGgyIGlkPSJjdXN0b20tcHJvcGVydGllcy1ha2EtY3NzLXZhcmlhYmxlcyI+Q3VzdG9tIFByb3BlcnRpZXMgKDxlbT5ha2EuPC9lbT4gQ1NTIFZhcmlhYmxlcyk8L2gyPgoKPHA+SW4gMjAxNSwgYSBsb25nLWF3YWl0ZWQgQ1NTIHNwZWNpZmljYXRpb24gdGl0bGVkIDxlbT5DdXN0b20gUHJvcGVydGllcyBmb3IgQ2FzY2FkaW5nIFZhcmlhYmxlczwvZW0+IHdhcyBwdWJsaXNoZWQgYXMgYSBDYW5kaWF0ZSBSZWNvbW1lbmRhdGlvbi4gVGhpcyBzcGVjaWZpY2F0aW9uIGludHJvZHVjZWQgdGhlIGNvbmNlcHQgb2YgdmFyaWFibGVzIHRvIHRoZSBsYW5ndWFnZSwgd2hpY2ggZW5hYmxlZCBhIG5ldyBsZXZlbCBvZiBkeW5hbWljLCBjb250ZXh0LWJhc2VkIHN0eWxlcy4gWW91IGNhbiBkZWNsYXJlIGEgdmFyaWFibGUgYW5kIGFzc2lnbiBpdCBhIHZhbHVlOyB0aGVuIHlvdSBjYW4gcmVmZXJlbmNlIHRoaXMgdmFsdWUgdGhyb3VnaG91dCB5b3VyIHN0eWxlc2hlZXQuIFlvdSBjYW4gdXNlIHRoaXMgdG8gcmVkdWNlIHJlcGV0aXRpb24gaW4geW91ciBzdHlsZXNoZWV0LCBhcyB3ZWxsIGFzIHNvbWUgb3RoZXIgYmVuZWZpY2lhbCBhcHBsaWNhdGlvbnMuPC9wPgoKPHA+QXQgcHJlc2VudCwgc3VwcG9ydCBmb3IgY3VzdG9tIHByb3BlcnRpZXMgaGFzIHJvbGxlZCBvdXQgaW4gYWxsIG1ham9yIGJyb3dzZXJzIGV4Y2VwdCBJRSwgY2hlY2sgPGEgaHJlZj0iaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtdmFyaWFibGVzIj5odHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy12YXJpYWJsZXM8L2E+IGZvciB1cC10by1kYXRlIHN1cHBvcnQgaW5mb3JtYXRpb24uPC9wPgoKPGJsb2NrcXVvdGU+CiAgPHA+SWYgeW91IGhhcHBlbiB0byB1c2UgYSBDU1MgcHJlcHJvY2Vzc29yIHRoYXQgc3VwcG9ydHMgaXRzIG93biB2YXJpYWJsZXMsIHN1Y2ggYXMgU2FzcyBvciBMZXNzLCB5b3UgbWF5IGJlIHRlbXB0ZWQgdG8gZGlzcmVnYXJkIENTUyB2YXJpYWJsZXMuIEhvd2V2ZXIsIHRoZSBuZXcgQ1NTIHZhcmlhYmxlcyBhcmUgZGlmZmVyZW50IGluIG5hdHVyZSBhbmQgYXJlIGZhciBtb3JlIHZlcnN0aWxlIHRoYW4gYW55dGhpbmcgYSBwcmVwcm9jZXNzb3IgY2FuIGFjY29tcGxpc2guPC9wPgo8L2Jsb2NrcXVvdGU+Cgo8cD5UbyBkZWZpbmUgYSBjdXN0b20gcHJvcGVydHksIHlvdSBkZWNsYXJlIGl0IG11Y2ggbGlrZSBhbnkgb3RoZXIgQ1NTIHByb3BlcnR5OjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuZCI+OnJvb3Q8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJweSI+LS1tYWluLWZvbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjo8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5IZWx2ZXRpY2E8L3NwYW4+PHNwYW4gY2xhc3M9InAiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5BcmlhbDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5iIj5zYW5zLXNlcmlmPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj47PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhlIG5hbWUgbXVzdCBiZWdpbiB3aXRoIHR3byBoeXBoZW5zICg8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4tLTwvY29kZT4pIHRvIGRpc3Rpbmd1aXNoIGl0IGZyb20gQ1NTIHByb3BlcnRpZXMsIGZvbGxvd2VkIGJ5IHdoYXRldmVyIG5hbWUgeW914oCZZCBsaWtlIHRvIHVzZS4gQnkgaXRzZWxmLCB0aGlzIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGRvZXNu4oCZdCBkbyBhbnl0aGluZyB1bnRpbCB3ZSB1c2UgaXQuPC9wPgoKPHA+QSBmdW5jdGlvbiA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj52YXIoKTwvY29kZT4gYWxsb3dzIHRoZSB1c2Ugb2YgdmFyaWFibGVzLjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJudCI+cDwvc3Bhbj4gPHNwYW4gY2xhc3M9InAiPns8L3NwYW4+CiAgPHNwYW4gY2xhc3M9Im5sIj5mb250LWZhbWlseTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnZhcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+LS1tYWluLWZvbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPnZhcigpPC9jb2RlPiBmdW5jdGlvbiBhY2NlcHRzIGEgc2Vjb25kIHBhcmFtZXRlciwgd2hpY2ggc3BlY2lmaWVzIGEgZmFsbGJhY2sgdmFsdWUuIElmIHRoZSB2YXJpYWJsZSBzcGVjaWZpZWQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlciBpcyBub3QgZGVmaW5lZCwgdGhlbiB0aGUgc2Vjb25kIHZhbHVlIGlzIHVzZWQuIElmIGEgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLXBsYWludGV4dCBoaWdobGlnaHRlci1yb3VnZSI+dmFyKCk8L2NvZGU+IGZ1bmN0aW9uIGV2YWx1YXRlcyB0byBhbiBpbnZhbGlkIHZhbHVlLCB0aGUgcHJvcGVydHkgd2lsbCBiZSBzZXQgdG8gaXRzIGluaXRpYWwgdmFsdWUuPC9wPgoKPGgzIGlkPSJjaGFuZ2luZy1jdXN0b20tcHJvcGVydGllcy1keW5hbWljYWxseSI+Q2hhbmdpbmcgQ3VzdG9tIFByb3BlcnRpZXMgRHluYW1pY2FsbHk8L2gzPgoKPHA+WW91IGNhbiBkZWZpbmUgdGhlIHNhbWUgdmFyaWFibGUgaW5zaWRlIG11bHRpcGxlIHNlbGVjdG9ycywgYW5kIHRoZSB2YXJpYWJsZSB3aWxsIGhhdmUgYSBkaWZmZXJlbnQgdmFsdWUgZm9yIHZhcmlvdXMgcGFydHMgb2YgdGhlIHBhZ2UuPC9wPgoKPHA+Rm9yIGV4YW1wbGUsIHlvdSBjYW4gZGVmaW5lIGEgdmFyaWFibGUgYXMgYmxhY2ssIGFuZCB0aGVuIHJlZGVmaW5lIGl0IGFzIHdoaXRlIGluc2lkZSBhIHBhcnRpY3VsYXIgY29udGFpbmVyLiBUaGVuLCBhbnkgc3R5bGVzIGJhc2VkIG9uIHRoYXQgdmFyaWFibGUgd2lsbCBkeW5hbWljYWxseSByZXNvbHZlIHRvIGJsYWNrIGlmIHRoZXkgYXJlIG91dHNpZGUgdGhlIGNvbnRhaW5lciBhbmQgdG8gd2hpdGUgaWYgaW5zaWRlLjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWNzcyBoaWdobGlnaHRlci1yb3VnZSI+PGRpdiBjbGFzcz0iaGlnaGxpZ2h0Ij48cHJlIGNsYXNzPSJoaWdobGlnaHQiPjxjb2RlPjxzcGFuIGNsYXNzPSJuZCI+OnJvb3Q8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJweSI+LS1tYWluLWJnPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+I2ZmZjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icHkiPi0tbWFpbi1jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPiMwMDA8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgoKPHNwYW4gY2xhc3M9Im5jIj4ucGFuZWw8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJubCI+YmFja2dyb3VuZC1jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnZhcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+LS1tYWluLWJnPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pOzwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibmwiPmNvbG9yPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+dmFyPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj4tLW1haW4tY29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPgo8c3BhbiBjbGFzcz0icCI+fTwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJuYyI+LmRhcms8L3NwYW4+IDxzcGFuIGNsYXNzPSJwIj57PC9zcGFuPgogIDxzcGFuIGNsYXNzPSJweSI+LS1tYWluLWJnPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj46PC9zcGFuPiA8c3BhbiBjbGFzcz0ibSI+IzMzMzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0icHkiPi0tbWFpbi1jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im0iPiNmZmY8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJwIj59PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo8cD5Gb3IgY29udGV4dHMgbGlrZTo8L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1odG1sIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij4mbHQ7ZGl2PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmEiPmNsYXNzPTwvc3Bhbj48c3BhbiBjbGFzcz0icyI+InBhbmVsIjwvc3Bhbj48c3BhbiBjbGFzcz0ibnQiPiZndDs8L3NwYW4+CiAgLi4uCjxzcGFuIGNsYXNzPSJudCI+Jmx0Oy9kaXYmZ3Q7PC9zcGFuPgoKPHNwYW4gY2xhc3M9Im50Ij4mbHQ7ZGl2PC9zcGFuPiA8c3BhbiBjbGFzcz0ibmEiPmNsYXNzPTwvc3Bhbj48c3BhbiBjbGFzcz0icyI+ImRhcmsiPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+Jmd0Ozwvc3Bhbj4KICA8c3BhbiBjbGFzcz0ibnQiPiZsdDtkaXY8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYSI+Y2xhc3M9PC9zcGFuPjxzcGFuIGNsYXNzPSJzIj4icGFuZWwiPC9zcGFuPjxzcGFuIGNsYXNzPSJudCI+Jmd0Ozwvc3Bhbj4KICAgIC4uLgogIDxzcGFuIGNsYXNzPSJudCI+Jmx0Oy9kaXYmZ3Q7PC9zcGFuPgo8c3BhbiBjbGFzcz0ibnQiPiZsdDsvZGl2Jmd0Ozwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+VGhlIHNlY29uZCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtcGxhaW50ZXh0IGhpZ2hsaWdodGVyLXJvdWdlIj4ucGFuZWw8L2NvZGU+IHdpbGwgaGF2ZSBhIGRhcmsgYmFja2dyb3VuZCBhbmQgd2hpdGUgdGV4dC4gVGhpcyBpcyBiZWNhdXNlIHdoZW4gdGhlIHBhbmVsIHVzZXMgdGhlc2UgdmFyaWFibGVzLCB0aGV54oCZbGwgcmVzb2x2ZSB0byB0aGUgdmFsdWVzIGRlZmluZWQgb24gdGhlIGRhcmsgY29udGFpbmVyLCByYXRoZXIgdGhhbiBvbiB0aGUgcm9vdC48L3A+Cgo8aDMgaWQ9ImNoYW5naW5nLWN1c3RvbS1wcm9wZXJ0aWVzLXdpdGgtamF2YXNjcmlwdCI+Q2hhbmdpbmcgQ3VzdG9tIFByb3BlcnRpZXMgd2l0aCBKYXZhU2NyaXB0PC9oMz4KCjxwPlRoZSBmb2xsb3dpbmcgc2NyaXB0IHNob3dzIGhvdyB0byBhY2Nlc3MgYW5kIHNldCBhIHByb3BlcnR5IG9uIGFuIGVsZW1lbnQuPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtanMgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ia2QiPmxldDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5yb290RWxlbWVudDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuYiI+ZG9jdW1lbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5kb2N1bWVudEVsZW1lbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPjs8L3NwYW4+CjxzcGFuIGNsYXNzPSJrZCI+bGV0PC9zcGFuPiA8c3BhbiBjbGFzcz0ibngiPnN0eWxlczwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJueCI+Z2V0Q29tcHV0ZWRTdHlsZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPnJvb3RFbGVtZW50PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pOzwvc3Bhbj4KPHNwYW4gY2xhc3M9ImtkIj5sZXQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJueCI+bWFpbkNvbG9yPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5zdHlsZXM8L3NwYW4+PHNwYW4gY2xhc3M9InAiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5nZXRQcm9wZXJ0eVZhbHVlPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJkbCI+Jzwvc3Bhbj48c3BhbiBjbGFzcz0iczEiPi0tbWFpbi1iZzwvc3Bhbj48c3BhbiBjbGFzcz0iZGwiPic8L3NwYW4+PHNwYW4gY2xhc3M9InAiPik7PC9zcGFuPgo8c3BhbiBjbGFzcz0ibngiPmNvbnNvbGU8L3NwYW4+PHNwYW4gY2xhc3M9InAiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5sb2c8L3NwYW4+PHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im5iIj5TdHJpbmc8L3NwYW4+PHNwYW4gY2xhc3M9InAiPig8L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5tYWluQ29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9InAiPikuPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+dHJpbTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+KCkpOzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImMxIj4vLyB0cmltcyB3aGl0ZXNwYWNlLCBsb2dzICIjZmZmIjwvc3Bhbj4KCjxzcGFuIGNsYXNzPSJueCI+cm9vdEVsZW1lbnQ8L3NwYW4+PHNwYW4gY2xhc3M9InAiPi48L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5zdHlsZTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPnNldFByb3BlcnR5PC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJkbCI+Jzwvc3Bhbj48c3BhbiBjbGFzcz0iczEiPi0tbWFpbi1iZzwvc3Bhbj48c3BhbiBjbGFzcz0iZGwiPic8L3NwYW4+PHNwYW4gY2xhc3M9InAiPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJkbCI+Jzwvc3Bhbj48c3BhbiBjbGFzcz0iczEiPiMzMzM8L3NwYW4+PHNwYW4gY2xhc3M9ImRsIj4nPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj4pOzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImMxIj4vLyBzZXQgIi0tbWFpbi1iZyI8L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPldpdGggdGhpcyB0ZWNobmlxdWUsIHlvdSBjYW4gdXNlIG9ubHkgYSBmZXcgbGluZXMgb2YgSmF2YVNjcmlwdCB0aGF0IG1ha2UgY2hhbmdlcyB0aGF04oCZbGwgYWZmZWN0IGEgbGFyZ2UgbnVtYmVyIG9mIGVsZW1lbnRzIG9uIHRoZSBwYWdlLjwvcD4KCjxwPkJlIGF3YXJlIHRoYXQgYW55IGRlY2xhcmF0aW9uIHVzaW5nIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1wbGFpbnRleHQgaGlnaGxpZ2h0ZXItcm91Z2UiPnZhcigpPC9jb2RlPiB3aWxsIGJlIGlnbm9yZWQgYnkgb2xkIGJyb3dzZXJzIHRoYXQgZG9u4oCZdCB1bmRlcnN0YW5kIGl0LiBQcm92aWRlIGEgZmFsbGJhY2sgYmVoYXZpb3IgZm9yIHRob3NlIGJyb3dzZXJzIHdoZW4gcG9zc2libGUuPC9wPgoKPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtY3NzIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9Im50Ij5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im50Ij5ibGFjazwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4KPHNwYW4gY2xhc3M9Im50Ij5jb2xvcjwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ojwvc3Bhbj4gPHNwYW4gY2xhc3M9Im50Ij52YXI8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPig8L3NwYW4+PHNwYW4gY2xhc3M9Im50Ij4tLW1haW4tY29sb3I8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPik7PC9zcGFuPgo8L2NvZGU+PC9wcmU+PC9kaXY+PC9kaXY+Cgo=
                        
Ads by Google

林宏

Frank Lin

Hey, there! This is Frank Lin (@flinhong), one of the 1.4 billion 🇨🇳. This 'inDev. Journal' site holds the exploration of my quirky thoughts and random adventures through life. Hope you enjoy reading and perusing my posts.

YOU MAY ALSO LIKE

Using Liquid in Jekyll - Live with Demos

Web Notes

2016.08.20

Using Liquid in Jekyll - Live with Demos

Liquid is a simple templating language that Jekyll uses to process pages on your site. With Liquid you can output an modify variables, have logic statements inside your pages and loop over content.

Setup an IKEv2 server with StrongSwan

Tutorials

2020.01.09

Setup an IKEv2 server with StrongSwan

IKEv2, or Internet Key Exchange v2, is a protocol that allows for direct IPSec tunneling between two points. In IKEv2 implementations, IPSec provides encryption for the network traffic. IKEv2 is natively supported on some platforms (OS X 10.11+, iOS 9.1+, and Windows 10) with no additional applications necessary, and it handles client hiccups quite smoothly.

Practising closures in JavaScript

JavaScript Notes

2018.12.17

Practising closures in JavaScript

JavaScript is a very function-oriented language. As we know, functions are first class objects and can be easily assigned to variables, passed as arguments, returned from another function invocation, or stored into data structures. A function can access variable outside of it. But what happens when an outer variable changes? Does a function get the most recent value or the one that existed when the function was created? Also, what happens when a function invoked in another place - does it get access to the outer variables of the new place?