{"id":12778,"date":"2024-02-29T08:00:41","date_gmt":"2024-02-29T08:00:41","guid":{"rendered":"https:\/\/drewfrederic.com\/?p=12778"},"modified":"2026-05-09T09:18:42","modified_gmt":"2026-05-09T09:18:42","slug":"scottish-shepherds-pie","status":"publish","type":"post","link":"https:\/\/drewfrederic.com\/?p=12778","title":{"rendered":"Scottish Shepherd&#8217;s Pie Recipe &#8211; Grandmother Sinclair&#8217;s Version"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">One of the most iconic comfort foods I have ever enjoyed is &#8216;Shepherd&#8217;s Pie&#8217;. It is a very common casserole here in Maine and throughout the New England region. It is an all-in-one meal that includes seasoned lamb or beef, vegetables, and mashed potato. From what I understand it is &#8216;Shepherd&#8217;s Pie&#8217; when made with lamb and it is &#8216;Cottage Pie&#8217; when made with beef.  The recipe is very flexible and can be twisted up however one desires. My mom always used creamed corn as the main vegetable along with the ground beef, mashed potato, and spices. I am not a creamed corn type of guy.  I prefer my grandmother&#8217;s recipe which is the Scottish version.  She hailed from the village of Lybster, Caithness, Scotland. I recently made my grandmother Sinclairs version and my Mom enjoyed it immensely. My grammie Sinclair stressed this meal is prepared by using what she has on hand in her pantry and ice box. But, the base is always the same: a meat consisting of lamb or beef, vegetables, and mashed potato. Go ahead and make your tummy happy and try this version!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>*Note<\/em>: My grandmother never called it &#8216;Cottage Pie&#8217; so I have not. I am sure her mom\/grandmother used lamb and after immigrating to New England the switch was made to beef since lamb was scarce. I always make it with beef for the same reason. Plus, when I do see it in the grocery store, it is quite pricey.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized has-custom-border\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"810\" data-attachment-id=\"12777\" data-permalink=\"https:\/\/drewfrederic.com\/?attachment_id=12777\" data-orig-file=\"https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?fit=1852%2C2000&amp;ssl=1\" data-orig-size=\"1852,2000\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;1.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 11 Pro Max&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1708517523&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.25&quot;,&quot;iso&quot;:&quot;50&quot;,&quot;shutter_speed&quot;:&quot;0.0083333333333333&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"4570af81-5180-46b3-a454-cd485f5558f3-1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?fit=750%2C810&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=750%2C810&#038;ssl=1\" alt=\"\" class=\"wp-image-12777\" style=\"border-width:2px;border-radius:18px;width:373px;height:auto\" srcset=\"https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=948%2C1024&amp;ssl=1 948w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=278%2C300&amp;ssl=1 278w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=139%2C150&amp;ssl=1 139w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=768%2C829&amp;ssl=1 768w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=1422%2C1536&amp;ssl=1 1422w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=1200%2C1296&amp;ssl=1 1200w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?resize=1568%2C1693&amp;ssl=1 1568w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?w=1852&amp;ssl=1 1852w, https:\/\/i0.wp.com\/drewfrederic.com\/wp-content\/uploads\/2024\/02\/4570af81-5180-46b3-a454-cd485f5558f3-1.jpg?w=1500&amp;ssl=1 1500w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><br \/><span style=\"text-decoration: underline\"><strong>Ingredients<\/strong><\/span>:<br \/>2-3 tablespoons olive oil (use the oil you have on hand)<br \/>1 pound of ground lamb or ground beef<br \/>1 medium onion, chopped (I like red onion, the flavor is spot on)<br \/>2 large carrots, diced<br \/>3 ribs celery, diced<br \/>2 cloves garlic, minced (optional)<br \/>2 tablespoons tomato paste (I use one 6 ounce can)<br \/>2 tablespoons Worcestershire sauce<br \/>Salt and pepper to taste<br \/>1 teaspoon dried oregano<br \/>1 teaspoon dried parsley<br \/>1 teaspoon dried thyme (or use 3 teaspoons of an Italian dried herb mix)<br \/>1 cup beef broth<br \/>1\/2 cup red wine (I do not use so I add another 1\/2 cup of beef broth)<br \/>1 cup frozen peas (optional and hardly have on hand)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><span style=\"text-decoration: underline;\">Mashed Potato<\/span><\/strong><br \/>2 large russet potatoes, peeled<br \/>2 medium sized sweet potatoes, peeled (this is my twist, use 3 large russets if not using the sweet potatoes)<br \/>4 tablespoons butter<br \/>1 cup cheddar cheese, grated (optional)<br \/>1\/4 to 1\/2 cup of Parmesan cheese, finely grated, set aside some for the top (optional)<br \/>1\/2 cup or less of milk, (I like my mashed potatoes a wee bit stiff so I use less milk)<br \/>Salt and pepper to taste<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><span style=\"text-decoration: underline;\">Directions<\/span><\/strong>:<br \/>1. Heat the oil in a large cast iron fry pan over medium-high heat, add the ground lamb or beef and cook through. Break it all up with a wooden spoon while cooking. Once it is browned\/cooked, add the onion and cook for 2-3 minutes. Add the carrots, garlic, celery, and tomato paste. Saut\u00e9 for another 4-5 minutes, stirring occasionally. Add salt, pepper, oregano, parsley, and thyme and stir well. Add Worcestershire sauce, beef broth, and red wine. Stir and bring to a simmer. When the sauce begins to bubble, reduce heat to low, cover the pan with a lid and cook for 4-5 minutes. Add the frozen peas and cook for 4-5 minutes or until peas are cooked. Remove from heat and set aside. I bake my Shepherd&#8217;s Pie in the same cast iron pan with which I cooked the meat and veggies .  I use a large 12 inch cast iron pan.<br \/>2. Preheat oven to 400 degrees F.<br \/>3. Meanwhile, in a large pot of cold salted water add the potatoes and boil until tender. Drain and mash the potatoes with butter, warm milk, salt, and pepper.  Add the cheeses.<br \/>4. Top the meat\/vegetable mixture with the mashed potato and gently spread out evenly. Add more Parmesan cheese to the top. Sometimes I will add grated cheddar cheese on top as well. Bake for 20-25 minutes until the top is golden brown. At the end, I like to use the broiler to get a crispy top which only takes about 5 minutes. Keep your eye on the dish if using the broiler.<br \/>5. Let it sit for 15-20 minutes before serving.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>*NOTE<\/strong>: You can bake this dish in a 9&#215;9 baking dish or a large casserole. You do not have to use the cheeses. Sometimes I use chopped green beans, diced turnip, or diced parsnips in my vegetable mixture. I have also made &#8216;<a href=\"https:\/\/drewfrederic.com\/?p=12092\">Colcannon<\/a>&#8216; and used this as my topping and I have used mashed &#8216;Cauliflower&#8217; as my topping.  You can use whatever vegetables combo or topping you desire. Enjoy!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cheers, Drew Frederic <\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most iconic comfort foods I have ever enjoyed is &#8216;Shepherd&#8217;s Pie&#8217;. It is a very common casserole here in Maine and throughout the New England region. It is an all-in-one meal that includes seasoned lamb or beef, vegetables, and mashed potato. From what I understand it is &#8216;Shepherd&#8217;s Pie&#8217; when made with<a class=\"more-link\" href=\"https:\/\/drewfrederic.com\/?p=12778\">Continue reading <span class=\"screen-reader-text\">&#8220;Scottish Shepherd&#8217;s Pie Recipe &#8211; Grandmother Sinclair&#8217;s Version&#8221;<\/span><\/a><\/p>\n","protected":false},"author":65103359,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"{\"document\":\"AAAH1Y2u9BTRDNoKCBQCKDiCBhwEFAIuAh4DAKICqAUEAwEEAwAEAgUAAwAEAwAEBgMCBQADAAQCIAgCBgMBBgQDAJQBCAMACAQDAgcBLgQiAgQCGggDAQwCPAIElgGaAQKgAQMGDgYDAgS8FwgCMAKuAqgEmAEJAAYCCAYFAQIWKpIEAwAOEIQBDAIEAg4CJAMBCAIMAh4CLAgCBAMDDpYMArQGApQHrgUIAgQCBgqGAYAEBgMCBAI0tgQCrAgCvAKMAYYEARAsAgECCgKCBb4BugKoBQggJiIGHpQBMiwQGAoZAASGAZIBmgECoAEewhwBAkoArBwBAgoBC0oAKgECCgKkBggCMAKuAtAKAQJKAJwSAQIKApIBlgEQ+gIBAkoAtggBAgoCsgkCtAYCvAWYAZYDELAQ1iwBAkoAsCwBAgoCvAMCoAIcPg7ICAECSgCGCQECCgJCAQJKzPcBAJ4BmvcByHAIAQC8CahmCiYIAhQgCAQOGhcABOLwAbTxARw+FuQFHpQBFvhjjmgGzGicZRw+FvztAQYIAhADAAYCBAgCBAiwhgGSbPryAQKS8wEuVJYBCgMGBAMBdqABBNIBDAIFAAoEArQBcN5vHohwHBrOAfL2AQgCCAYCsvcBLgTsE8pcrHHAAsb3AQoOBAKs+AGEAfhxinLocTCcAtKLAS6SARI+mgG2bbyIAQEBCAEGSAoanAEDAS4EnAHK+AEEAob6AcT6AQMAEgYDArr8AQTYBZ4FGhLKdq4G5gYBALB2CAIuBBIG1HGmccCAAoSAAiQDAPDoAQiId64CtHAWTg60AvQCogicAYwD6ATiCJgQgAMI1gbMA4AKSAimA04OsgNgIKADTg6SA9ID4APkhQKwAqgEhJYCBgMBBAMDCMwc5gPACr42gAMAwAOeBt4Ghg0Axg2eEEgIrANaGgCuCIoBogLiAqgDAMYB7AOGBmQkiARg1DQMBgIEAgjOlQIIDgIOCAawywLEA7AG5gHi1gGI2AGIA04OpAPk3gEIAQCqAhAAlt8BANriAbTiAQECCgJCAQVKzNoBhuABigXKBQDQ5wGS7QFoKKoDBN4BmgH88AGW8gHW8gGk9AHk9AGe+AHuAdrvAiqSBAQOEIzkArQLiAIOJgQ4ApIBxAMO1gKIB7IBAPIBkAKIAY4BAPIIALoIAPYIOAIAkggA7AGGAgC6AhIu1AuUC44D+gHCApQFGgj6AboBSIoI5owDDgYOAiQGCg4eAqCMA\/SLA7SJA+QIhAtGBroCUBCsAwLGAe6RAwIGAwAEmHYIAQCmG1C8mAIECk4EwJkCpqcC5g6mDowDdPQQAKYTAMieAxEAtp4DzAMBAo5FigSOATTMBpgFNMIC4PcC8HOEBpAFCAQCBjSK7APOhgOCiANYGKwCYiKQAgBC4AauCxoSAvoFggaEAgDEAr4WDnIyigMSBtgBgAHYA5oGHNABwB2QH\/4egCD+HwKeHdYopCzyA7ID+AbulwOEB\/wGAQCeogP+mwOinANa5iaqH\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XZlcnNpb25kb2N1bWVudGRhdGVkb2N1bWVudHNsdWdkb2N1bWVudHN0YXR1c2RvY3VtZW50dGl0bGVBdXRoZW50aWMgU2hlcGhlcmQncyBQaWUgUmVjaXBlIGZyb20gU2NvdGxhbmQ6IFRyeSBJdCBOb3chZG9jdW1lbnRjb250ZW50PCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPk9uZSBvZiB0aGUgbW9zdCBpY29uaWMgY29tZm9ydCBmb29kcyBJIGhhdmUgZXZlciBlbmpveWVkIGlzICdTaGVwaGVyZCdzIFBpZScuIEl0IGlzIGEgdmVyeSBjb21tb24gY2Fzc2Vyb2xlIGhlcmUgaW4gTWFpbmUgYW5kIHRocm91Z2hvdXQgdGhlIE5ldyBFbmdsYW5kIHJlZ2lvbi4gSXQgaXMgYW4gYWxsLWluLW9uZSBtZWFsIHRoYXQgaW5jbHVkZXMgc2Vhc29uZWQgbGFtYiBvciBiZWVmLCB2ZWdldGFibGVzLCBhbmQgbWFzaGVkIHBvdGF0by4gVGhlIHJlY2lwZSBpcyB2ZXJ5IGZsZXhpYmxlIGFuZCBjYW4gYmUgdHdpc3RlZCB1cCBob3dldmVyIG9uZSBkZXNpcmVzLiBNeSBtb20gYWx3YXlzIHVzZWQgY3JlYW1lZCBjb3JuIGFzIHRoZSBtYWluIHZlZ2V0YWJsZSBhbG9uZyB3aXRoIHRoZSBncm91bmQgYmVlZiwgbWFzaGVkIHBvdGF0bywgYW5kIHNwaWNlcy4gZSBjb3R0aGVyc2kgaXMgaCBpZXJuIEkgcmVjZW50bHkgbWFkZSBtIGF0aGVpYyB2ZXJzaW9uIGFuZCBteSBNb20gZW5qb3llZCBpdCBpbW1lbnNlbHkuICBpZSBpcyB0aGlzIHByZXBhcmVkIGJ5IHVzaW5nIHdoYXQgZSBoYXMgb24gaGFuZCBpbiBoZXIgcGFudHJ5IGFuZCBpZSBvLiBCdXQsIHRoZSBiYXNlIGlzIGFsd2F5cyB0aGUgc2FtZTogYSBtZWF0IGxhbWIgb3IgYmVlZiwgdmVnZXRhYmxlcywgYW5kIG1hc2hlZCBwb3RhdG8uIEdvIGFoZWFkIGFuZCBtYWtlIHlvdXIgdHVtbXkgaGFwcHkgYW5kIHRyeSB0aGlzIG9yZSBhdHZlcnNpb248L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aW1hZ2UgeyJpZCI6MTI3NzcsIndpZHRoIjoiMzczcHgiLCJoZWlnaHQiOiJhdXRvIiwic2l6ZVNsdWciOiJsYXJnZSIsImxpbmtEZXN0aW5hdGlvbiI6Im5vbmUiLCJhbGlnbiI6ImNlbnRlciIsInN0eWxlIjp7ImJvcmRlciI6eyJ3aWR0aCI6IjJweCIsInJhZGl1cyI6IjE4cHgifX19IC0tPgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBhbGlnbmNlbnRlciBzaXplLWxhcmdlIGlzLXJlc2l6ZWQgaGFzLWN1c3RvbS1ib3JkZXIiPjxpbWcgc3JjPSJodHRwczovL2RyZXdmcmVkZXJpYy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvNDU3MGFmODEtNTE4MC00NmIzLWE0NTQtY2Q0ODVmNTU1OGYzLTEtOTQ4eDEwMjQuanBnIiBhbHQ9IiIgY2xhc3M9IndwLWltYWdlLTEyNzc3IiBzdHlsZT0iYm9yZGVyLXdpZHRoOjJweDtib3JkZXItcmFkaXVzOjE4cHg7d2lkdGg6MzczcHg7aGVpZ2h0OmF1dG8iLz48L2ZpZ3VyZT4KPCEtLSAvd3A6aW1hZ2UgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGJyPjxzdHJvbmc+PHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+SW5ncmVkaWVudHM8L3NwYW4+PC9zdHJvbmc+Ojxicj4yLTMgdGFibGVzcG9vbnMgb2xpdmUgb2lsICh1c2UgdGhlIG9pbCB5b3UgaGF2ZSBvbiBoYW5kKTxicj4xIHBvdW5kIG9mIGdyb3VuZCBsYW1iIG9yIGdyb3VuZCBiZWVmPGJyPjEgbWVkaXVtIG9uaW9uLCBjaG9wcGVkPGJyPiBsYXJnZSBjYXJyb3QsIGRpY2VkPGJyPiByaWJzIGNlbGVyeSwgZGljZWQ8YnI+MiBjbG92ZXMgZ2FybGljLCBtaW5jZWQgKG9wdGlvbmFsKTxicj4yIHRhYmxlc3Bvb25zIHRvbWF0byBwYXN0ZTxicj4yIHRhYmxlc3Bvb25zIFdvcmNlc3RlcnNoaXJlIHNhdWNlPGJyPlNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZTxicj4xIHRlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWU8YnI+MSBjdXAgYmVlZiBicm90aDxicj4xLzIgY3VwIHJlZCB3aW5lIChJIHVzZSAgSSBkIGFudGggPGJyPjEgY3VwIGZyb3plbiBwZWFzPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5NYXNoZWQgUG90YXRvPC9zcGFuPjwvc3Ryb25nPjxicj4gbWVkaXVtIHBvdGF0b2VzPGJyPjQgdGFibGVzcG9vbnMgYnV0dGVyPGJyPjEgY3VwIGVhIGNoZWVzZSAob3B0aW9uYWwpPGJyPjEvNCBvICAgUGFybWVzYW4gY2hlZXNlIChvcHRpb25hbCk8YnI+MS8yIGN1cCBtaWxrICBoYWY8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHN0cm9uZz48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5EaXJlY3Rpb25zPC9zcGFuPjwvc3Ryb25nPjo8YnI+MS4gSGVhdCB0aGUgb2lsIGluIGEgbGFyZ2UgY2FzdCBpcm9uIGZyeSBwYW4gb3ZlciBtZWRpdW0taGlnaCBoZWF0LCBhZGQgdGhlIGdyb3VuZCBsYW1iIG9yIGJlZWYgYW5kIGNvb2sgdGhyb3VnaC4gQnJlYWsgaXQgYWxsIHVwIHdpdGggYSB3b29kZW4gc3Bvb24gd2hpbGUgY29va2luZy4gT25jZSBpdCBpcyBicm93bmVkL2Nvb2tlZCwgYWRkIHRoZSBvbmlvbiBhbmQgY29vayBmb3IgMi0zIG1pbnV0ZXMuIEFkZCB0aGUgY2Fycm90cywgZ2FybGljLCBjZWxlcnksIGFuZCB0b21hdG8gcGFzdGUuIFNhdXTDqSBmb3IgYW5vdGhlciA0LTUgbWludXRlcywgc3RpcnJpbmcgb2NjYXNpb25hbGx5LiBBZGQgc2FsdCwgcGVwcGVyLCBvcmVnYW5vLCBwYXJzbGV5LCBhbmQgdGh5bWUgYW5kIHN0aXIgd2VsbC4gQWRkIFdvcmNlc3RlcnNoaXJlIHNhdWNlLCBiZWVmIGJyb3RoLCBhbmQgcmVkIHdpbmUuIFN0aXIgYW5kIGJyaW5nIHRvIGEgc2ltbWVyLiBXaGVuIHRoZSBzYXVjZSBiZWdpbnMgdG8gYnViYmxlLCByZWR1Y2UgaGVhdCB0byBsb3csIGNvdmVyIHRoZSBwYW4gd2l0aCBhIGxpZCBhbmQgY29vayBmb3IgNC01IG1pbnV0ZXMuIEFkZCB0aGUgZnJvemVuIHBlYXMgYW5kIGNvb2sgZm9yIDQtNSBtaW51dGVzIG9yIHVudGlsIHBlYXMgYXJlIGNvb2tlZC4gUmVtb3ZlIGZyb20gaGVhdCBhbmQgc2V0IGFzaWRlLjxicj4yLiBQcmVoZWF0IG92ZW4gdG8gNDAwIGRlZ3JlZXMgRi48YnI+My4gTWVhbndoaWxlLCBpbiBhIGxhcmdlIHBvdCBvZiBjb2xkIHNhbHRlZCB3YXRlciBhZGQgdGhlIHBvdGF0b2VzIGFuZCBib2lsIHVudGlsIHRlbmRlci4gRHJhaW4gYW5kIG1hc2ggdGhlIHBvdGF0b2VzIHdpdGggYnV0dGVyLCB3YXJtIG1pbGssIGFsIGFuZCA8YnI+NC4gVG9wIHRoZSBtZWF0L3ZlZ2V0YWJsZSBtaXh0dXJlIHdpdGggdGhlIG1hc2hlZCBwb3RhdG8gYW5kIGdlbnRseSBzcHJlYWQgb3V0IGV2ZW5seS4gQWRkIG1vcmUgUGFybWVzYW4gY2hlZXNlIHRvIHRoZSB0b3AuIGllICBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3Ryb25nPipOT1RFPC9zdHJvbmc+OiBZb3UgY2FuIGJha2UgdGhpcyBkaXNoIGluIGEgOXg5IGJha2luZyBkaXNoIG9yIGEgbGFyZ2UgY2Fzc2Vyb2xlLiBZb3UgZG8gbm90IGhhdmUgdG8gdXNlIHRoZSBjaGVlc2VzLiBTb21ldGltZXMgSSB1c2UgY2hvcHBlZCBncmVlbiBiZWFucywgZGljZWQgdHVybmlwLCBvciBkaWNlZCBwYXJzbmlwcyBpbiBteSB2ZWdldGFibGUgbWl4dHVyZS4gWW91IGNhbiB1c2Ugd2hhdGV2ZXIgdmVnZXRhYmxlcyBjb21ibyB5b3UgZGVzaXJlLiBFbmpveSEhPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Q2hlZXJzLCBEcmV3IEZyZWRlcmljIDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPmRvY3VtZW50ZXhjZXJwdGRvY3VtZW50YXV0aG9yZG9jdW1lbnRmZWF0dXJlZF9tZWRpYWRvY3VtZW50Y29tbWVudF9zdGF0dXNkb2N1bWVudHBpbmdfc3RhdHVzZG9jdW1lbnRzdGlja3lkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRmb3JtYXRkb2N1bWVudG1ldGFfY29ibG9ja3NfYXR0cl9jb2Jsb2Nrc19kaW1lbnNpb25zX2NvYmxvY2tzX3Jlc3BvbnNpdmVfaGVpZ2h0X2NvYmxvY2tzX2FjY29yZGlvbl9pZV9zdXBwb3J0YWR2YW5jZWRfc2VvX2Rlc2NyaXB0aW9uamV0cGFja19zZW9faHRtbF90aXRsZWpldHBhY2tfc2VvX25vaW5kZXhfamV0cGFja19uZXdzbGV0dGVyX2FjY2Vzc19qZXRwYWNrX2RvbnRfZW1haWxfcG9zdF90b19zdWJzX2pldHBhY2tfbmV3c2xldHRlcl90aWVyX2lkX2pldHBhY2tfbWVtYmVyc2hpcHNfY29udGFpbnNfcGF5d2FsbGVkX2NvbnRlbnRfamV0cGFja19tZW1iZXJzaGlwc19jb250YWluc19wYWlkX2NvbnRlbnRmb290bm90ZXNqZXRwYWNrX3B1YmxpY2l6ZV9tZXNzYWdlamV0cGFja19wdWJsaWNpemVfZmVhdHVyZV9lbmFibGVkamV0cGFja19zb2NpYWxfcG9zdF9hbHJlYWR5X3NoYXJlZGpldHBhY2tfc29jaWFsX29wdGlvbnNfd3Bhc19jdXN0b21pemVfcGVyX25ldHdvcmtqZXRwYWNrX3Bvc3Rfd2FzX2V2ZXJfcHVibGlzaGVkZG9jdW1lbnRjYXRlZ29yaWVzZG9jdW1lbnR0YWdzZG9jdW1lbnRibG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRPbmUgb2YgdGhlIG1vc3QgaWNvbmljIGNvbWZvcnQgZm9vZHMgSSBoYXZlIGV2ZXIgZW5qb3llZCBpcyAnU2hlcGhlcmQncyBQaWUnLiBJdCBpcyBhIHZlcnkgY29tbW9uIGNhc3Nlcm9sZSBoZXJlIGluIE1haW5lIGFuZCB0aHJvdWdob3V0IHRoZSBOZXcgRW5nbGFuZCByZWdpb24uIEl0IGlzIGFsc28gdmVyeSBjb21tb24gaW4gdGhlIFVLIGFzIGl0IG9yaWdpbmF0ZWQgaW4gU2NvdGxhbmQuIEl0IGlzIGFuIGFsbC1pbi1vbmUgbWVhbCB0aGF0IGluY2x1ZGVzIHNlYXNvbmVkIGxhbWIgb3IgYmVlZiwgdmVnZXRhYmxlcywgYW5kIG1hc2hlZCBwb3RhdG8uIFRoZSByZWNpcGUgaXMgdmVyeSBmbGV4aWJsZSBhbmQgY2FuIGJlIHR3aXN0ZWQgdXAgaG93ZXZlciBvbmUgZGVzaXJlcy4gTXkgbW9tIGFsd2F5cyB1c2VkIGNyZWFtZWQgY29ybiBhcyB0aGUgbWFpbiB2ZWdldGFibGUgYWxvbmcgd2l0aCB0aGUgZ3JvdW5kIGJlZWYsIG1hc2hlZCBwb3RhdG8sIGFuZCBzcGljZXMuIFRoZSBTY290dGlzaCB2ZXJzaW9uIGlzIG11Y2ggZGlmZmVyZW50LiBJIHJlY2VudGx5IG1hZGUgdGhlIG1vcmUgYXV0aGVudGljIHZlcnNpb24gYW5kIG15IE1vbSBlbmpveWVkIGl0IGltbWVuc2VseS4gVGhpcyBpcyBvbmUgZGlzaCB0aGF0IGlzIHByZXBhcmVkIGJ5IHVzaW5nIHdoYXQgb25lIGhhcyBvbiBoYW5kIGluIHRoZWlyIHBhbnRyeSBhbmQgcmVmcmlnZXJhdG9yLiBUaHVzLCB0aGUgbWFueSBkaWZmZXJlbnQgdmVyc2lvbnMuIEJ1dCwgdGhlIGJhc2UgaXMgYWx3YXlzIHRoZSBzYW1lOiBhIG1lYXQgbGFtYiBvciBiZWVmLCB2ZWdldGFibGVzLCBhbmQgbWFzaGVkIHBvdGF0by4gIEdvIGFoZWFkIGFuZCBtYWtlIHlvdXIgdHVtbXkgaGFwcHkgYW5kIHRyeSB0aGlzIG1vcmUgYXV0aGVudGljIHZlcnNpb24hIWRyb3BDYXBmb250V2VpZ2h0dGV4dFRyYW5zZm9ybW5vQm90dG9tU3BhY2luZ25vVG9wU3BhY2luZ2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXN1cmxhbHRjYXB0aW9uaWR3aWR0aGhlaWdodHNpemVTbHVnbGlua0Rlc3RpbmF0aW9uYWxpZ25zdHlsZW5vQm90dG9tTWFyZ2lubm9Ub3BNYXJnaW5maWx0ZXJhbXBMaWdodGJveGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50PGJyPjxzdHJvbmc+PHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+SW5ncmVkaWVudHM8L3NwYW4+PC9zdHJvbmc+Ojxicj4yLTMgdGFibGVzcG9vbnMgb2xpdmUgb2lsICh1c2UgdGhlIG9pbCB5b3UgaGF2ZSBvbiBoYW5kKTxicj4xIHBvdW5kIG9mIGdyb3VuZCBsYW1iIG9yIGdyb3VuZCBiZWVmPGJyPjEgbWVkaXVtIG9uaW9uLCBjaG9wcGVkPGJyPjEgbGFyZ2UgY2Fycm90LCBkaWNlZDxicj4yIHJpYnMgY2VsZXJ5LCBkaWNlZDxicj4yIGNsb3ZlcyBnYXJsaWMsIG1pbmNlZCAob3B0aW9uYWwpPGJyPjIgdGFibGVzcG9vbnMgdG9tYXRvIHBhc3RlPGJyPjIgdGFibGVzcG9vbnMgV29yY2VzdGVyc2hpcmUgc2F1Y2U8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlPGJyPjEgdGVhc3Bvb24gZHJpZWQgb3JlZ2Fubzxicj4xIHRlYXNwb29uIGRyaWVkIHBhcnNsZXk8YnI+MSB0ZWFzcG9vbiBkcmllZCB0aHltZTxicj4xIGN1cCBiZWVmIGJyb3RoPGJyPjEvMiBjdXAgcmVkIHdpbmUgKEkgdXNlIHdoYXQgSSBkcmluayBhbmQgdGhpcyBpcyBDaGlhbnRpKTxicj4xIGN1cCBmcm96ZW4gcGVhc2Ryb3BDYXBmb250V2VpZ2h0dGV4dFRyYW5zZm9ybW5vQm90dG9tU3BhY2luZ25vVG9wU3BhY2luZ2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5NYXNoZWQgUG90YXRvPC9zcGFuPjwvc3Ryb25nPjxicj41IG1lZGl1bSBwb3RhdG9lczxicj40IHRhYmxlc3Bvb25zIGJ1dHRlcjxicj4xIGN1cCBtb3p6YXJlbGxhIGNoZWVzZSAob3B0aW9uYWwpPGJyPjEvNCBvciBtb3JlIGdyYXRlZCBQYXJtZXNhbiBjaGVlc2UgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG1pbGsgb3IgaGFsZi1uLWhhbGY8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlZHJvcENhcGZvbnRXZWlnaHR0ZXh0VHJhbnNmb3Jtbm9Cb3R0b21TcGFjaW5nbm9Ub3BTcGFjaW5naW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPjxzcGFuIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiPkRpcmVjdGlvbnM8L3NwYW4+PC9zdHJvbmc+Ojxicj4xLiBIZWF0IHRoZSBvaWwgaW4gYSBsYXJnZSBjYXN0IGlyb24gZnJ5IHBhbiBvdmVyIG1lZGl1bS1oaWdoIGhlYXQsIGFkZCB0aGUgZ3JvdW5kIGxhbWIgb3IgYmVlZiBhbmQgY29vayB0aHJvdWdoLiBCcmVhayBpdCBhbGwgdXAgd2l0aCBhIHdvb2RlbiBzcG9vbiB3aGlsZSBjb29raW5nLiBPbmNlIGl0IGlzIGJyb3duZWQvY29va2VkLCBhZGQgdGhlIG9uaW9uIGFuZCBjb29rIGZvciAyLTMgbWludXRlcy4gIEFkZCB0aGUgY2Fycm90cywgZ2FybGljLCBjZWxlcnksIGFuZCB0b21hdG8gcGFzdGUuIFNhdXTDqSBmb3IgYW5vdGhlciA0LTUgbWludXRlcywgc3RpcnJpbmcgb2NjYXNpb25hbGx5LiBBZGQgc2FsdCwgcGVwcGVyLCBvcmVnYW5vLCBwYXJzbGV5LCBhbmQgdGh5bWUgYW5kIHN0aXIgd2VsbC4gQWRkIFdvcmNlc3RlcnNoaXJlIHNhdWNlLCBiZWVmIGJyb3RoLCBhbmQgcmVkIHdpbmUuICBTdGlyIGFuZCBicmluZyB0byBhIHNpbW1lci4gV2hlbiB0aGUgc2F1Y2UgYmVnaW5zIHRvIGJ1YmJsZSwgcmVkdWNlIGhlYXQgdG8gbG93LCBjb3ZlciB0aGUgcGFuIHdpdGggYSBsaWQgYW5kIGNvb2sgZm9yIDQtNSBtaW51dGVzLiBBZGQgdGhlIGZyb3plbiBwZWFzIGFuZCBjb29rIGZvciA0LTUgbWludXRlcyBvciB1bnRpbCBwZWFzIGFyZSBjb29rZWQuIFJlbW92ZSBmcm9tIGhlYXQgYW5kIHNldCBhc2lkZS48YnI+Mi4gUHJlaGVhdCBvdmVuIHRvIDQwMCBkZWdyZWVzIEYuPGJyPjMuIE1lYW53aGlsZSwgaW4gYSBsYXJnZSBwb3Qgb2YgY29sZCBzYWx0ZWQgd2F0ZXIgYWRkIHRoZSBwb3RhdG9lcyBhbmQgYm9pbCB1bnRpbCB0ZW5kZXIuIERyYWluIGFuZCBtYXNoIHRoZSBwb3RhdG9lcyB3aXRoIGJ1dHRlciwgd2FybSBtaWxrLCBtb3p6YXJlbGxhLCBhbmQgUGFybWVzYW4uIFNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZS48YnI+NC4gVG9wIHRoZSBtZWF0L3ZlZ2V0YWJsZSBtaXh0dXJlIHdpdGggdGhlIG1hc2hlZCBwb3RhdG8gYW5kIGdlbnRseSBzcHJlYWQgb3V0IGV2ZW5seS4gQWRkIG1vcmUgUGFybWVzYW4gY2hlZXNlIHRvIHRoZSB0b3AuIEkgbGlrZSB0byBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gIEtlZXAgeW91ciBleWUgb24gdGhlIGRpc2ggaWYgdXNpbmcgdGhlIGJyb2lsZXIuPGJyPjUuIExldCBpdCBzaXQgZm9yIDE1LTIwIG1pbnV0ZXMgYmVmb3JlIHNlcnZpbmcuZHJvcENhcGZvbnRXZWlnaHR0ZXh0VHJhbnNmb3Jtbm9Cb3R0b21TcGFjaW5nbm9Ub3BTcGFjaW5naW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPipOT1RFPC9zdHJvbmc+OiBZb3UgY2FuIGJha2UgdGhpcyBkaXNoIGluIGEgOXg5IGJha2luZyBkaXNoIG9yIGEgbGFyZ2UgY2Fzc2Vyb2xlLiBZb3UgZG8gbm90IGhhdmUgdG8gdXNlIHRoZSBjaGVlc2VzLiAgU29tZXRpbWVzIEkgdXNlIGNob3BwZWQgZ3JlZW4gYmVhbnMsIGRpY2VkIHR1cm5pcCwgb3IgZGljZWQgcGFyc25pcHMgaW4gbXkgdmVnZXRhYmxlIG1peHR1cmUuIFlvdSBjYW4gdXNlIHdoYXRldmVyIHZlZ2V0YWJsZXMgY29tYm8geW91IGRlc2lyZS4gRW5qb3khIWRyb3BDYXBmb250V2VpZ2h0dGV4dFRyYW5zZm9ybW5vQm90dG9tU3BhY2luZ25vVG9wU3BhY2luZ2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50Q2hlZXJzLCBEcmV3IEZyZWRlcmljIGRyb3BDYXBmb250V2VpZ2h0dGV4dFRyYW5zZm9ybW5vQm90dG9tU3BhY2luZ25vVG9wU3BhY2luZ2lubmVyQmxvY2tzc3RhdGVzYXZlZEF0c3RhdGVzYXZlZEJ5U2NvdHRpc2ggIC0gR3JhbmRtYSdzIHRleHRQYW5lbEhpZGVDb2xvcnRleHRQYW5lbFNob3dTcGFjaW5nQ29udHJvbHN0ZXh0UGFuZWxIZWFkaW5nRm9udFNpemVzRnJvbSB3aGF0IGlPSSB1SSB1bmRlcnN0YW5kIGl0IGlzIFNoZXBlaGVyZCdzIFBpZSB3aGVuIG1hZGUgd2l0aCBMYW1ibGFibSBhbmQgbWIgYW5kIGl0IGlzIENvdHRhZ2UgUGllIHdoZW4gbWFkZSBpd3dpdGggYmVlZi4gIEZyb20gd2hhdCBJIHVuZGVyc3RhbmQgaXQgaXMgU2hlcGhlcmQncyBQaWUgd2hlbiBtYWRlIHdpdGggbGFtYiBhbmQgaXQgaXMgQ290dGFnZSBQaWUgd2hlbiBtYWRlIHdpdGggYmVlZi4gICcnJydJIHdhc2FtIG5vdCBhIGNyZWFtZWQgY29ybiB0eXBlIG9mIGd1eS4gIEkgcHJlZmVyIG15IGdyYW5kbW90aGVyJ3MgcmVjaXBlIHdoaWNoIGlzIHRoZSAnJycnSSBhbSBub3QgYSBjcmFtZWRybiB5cGUgb2YgZ3V5LiAgSSBwcmVmZXIgbXkgZ3JhbmRtbycgcmVjcGV3aGNoIGl0ZVNjb3R0c2ggdnNpbywuICBTaGUgaGFpbGVkLiBTaGUgaGFpbGVkICBmcm9tIHRoZSBTY290dGlzaCBIaWdsYW5kcz1obGFuZHNmcm9tIHRoZSBpcyBpaG5zIHZpbGxhZ2Ugb2YgTHlic3RlciwgU2NDYWl0aG5lc3MsIFN2bGxhZ2Ugb2YgTHlidGVyLENhdGVzLFMgY290bGFuZC5pcz1teSBncmFuZG1vdGhlcidzIChwYXRlcm5hbCkgU2luY2xjb3RsYW5kLnlncm5kbW9yIFNubGFpcndzc290aGVyIFNpbmNsYWlyJ3MgVmVyc2lvbk15IGdyYW1taWUgU2luY2xhaXIgc3RyZXNzZWQgdGhpcyBpc2FpcnNNeWdyYW1tU25jbGFpciB0cmVzc2VkbWVhbCBpcyBwIHNoZSBoYXMgb25oZXJpY2UgYm94Y29uc2lzdGluZyBvZiBtZWFsIGlzIHNoY2J4Y29uc2lzdGluZyBvZiBjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwZm9udFdlaWdodHRleHRUcmFuc2Zvcm1ub0JvdHRvbVNwYWNpbmdub1RvcFNwYWNpbmd0ZXh0UGFuZWxIaWRlQ29sb3J0ZXh0UGFuZWxTaG93U3BhY2luZ0NvbnRyb2xzdGV4dFBhbmVsSGVhZGluZ0ZvbnRTaXplc2lubmVyQmxvY2tzTm90ZTogIE15IGdyYW5kbW90aGVyIG5ldmVyIGNhbGxlZCBpdCAnQ290dGFnZSBQaWUnJy4gc28gSSBoYXZlIG5vdC4gIEkgYWx3YXN5eXMgbWFrZSBpdCB3aXRoIGJlZWYgc2luY2UgbGFtYiBpcyBub3QgY29tbW9uIGhlcmV2ZXJzaW4hITwvcD4KPCEtLSAvd3A6cGFhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+Tm90OiBNeSBncm5kbW9oZXIgbmUgY2FsbGVkIGl0ICdDb3R0YWdlIFBpZScgbyBJIGhhdmUgbm90LiAgSSBhbHdheXMgbWFrZSB0IHdpdGggYmVlZiBzaW5jZSBsYW1iIGlzIG50IGNvbW1vIGhlcmUgYW5kIHdoZW4gSSBkbyBzZWUsICBpdCwgaXQgaXMgcXVpdGUgcHJpY2V5LiB0ZXh0UGFuZWxIaWRlQ29sb3J0ZXh0UGFuZWxTaG93U3BhY2luZ0NvbnRyb2xzdGV4dFBhbmVsSGVhZGluZ0ZvbnRTaXplcyggSSBsaWtlIHJlZCBvbmlvbiwgdGhlIGZhdmxhdm9yIGlzIGludHNwb3Qgb24pMzIgYW5kIHdoZW4gSSBkbyBzZWUgaXQsIGl0IGlzIHF1aXRlIHByaWNleS4gKEkgbGlrZSByZWQgb25pb24sIHRoZSBmbGF2b3IgaXMgc3BvdCBvbikyMyAoIEkgcmlicyBjZWxlcnksIGRpY2VkPGJyPjIgY2xvdmVzIGdhcmxpYywgbWluY2VkIChvcHRpb25hbCk8YnI+MiB0YWJsZXNwb29ucyB0b21hdG8gcGFzdGUgKEkgdXNlIG9uZWxlcnksIGRpY2VkPGJyPjIgY2xvdmVzIGdhcmxpYywgbWluY2VkIChvcHRpb25hbCk8YnI+MiB0YWJsZXNwb29ucyB0b21hdG8gcGFzdGUgKEkgdXNlIG9uZSBoZWxlcnksIGRpY2VkPGJyPjIgY2xvdmVzIGdhcmxpYywgbWluY2VkIChvcHRpb25hbCk8YnI+MiB0YWJsZXNwb29ucyB0b21hdG8gcGFzdGUgKEkgdXNlIG9uPGJyPjIgdGFibGVzcG9vbnMgV29yY2VzdGVyc2hpcmUgc2F1Y2U8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlPGJyPjEgdGVhc3Bvb24gZHJpZWQgb3JlZ2Fubzxicj4xIHRlYXNwb29uIGRyaWVkIHBhcnNsZXk8YnI+MSB0ZWFzcG9vbiBkcmllZCB0aHltZTxicj4xIGN1cCBiZWVmIGJyb3RoPGJyPjEvMiBjdXAgcmVkIHdpbmUgKEkgdXNlIHdoYXQgSSBkcmluayBhbmQgdGhpcyBpcyBDaGlhbnRpKTxicj4xIGN1cCBmcm96ZW4gcGVhb25lbGVyeSwgZGljZWQ8YnI+MiBjbG92ZXMgZ2FybGljLCBtaW5jZWQgKG9wdGlvbmFsKTxicj4yIHRhYmxlc3Bvb25zIHRvbWF0byBwYXN0ZSAoSSB1c2Ugb25lIDYgb3VjbmNlbmNlIGNhbikgKEkgYW5kIHBlcHBlciB0byB0YXN0ZTxicj4xIHRlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJpZSB5IHBlcHBlciB0byB0YXN0ZTxicj4xIHRlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJ5IG15IG93biB0byB0YXN0ZTxicj4xIHRlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJ5IG15IG93biBoZXJicyBhbmQgSSBoYXZlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJ5IG15IG93biBoZXJicyBhbmQgSSBoYXZlIGEgbWl4IGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJ5IG15IG93biBoZXJicyBhbmQgSSBoYXZlIGEgbWl4IG9mIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJ5IG15IG93biBoZXJicyBhbmQgSSBoYXZlIGEgbWl4PGJyPjEgY3VwIGJlZWYgYnJvdGg8YnI+MS8yIGN1cCByZWQgd2luZSAoSSB1c2Ugd2hhdCBJIGRyaW5rIGFuZCB0aGlzIGlzIENoaWFudGkpPGJyPjEgY3VwIGZyb3plbiBwZWFlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKEkgZHJ5IG15IG93biBoZXJicyBhbmQgSSBoYXY8YnI+MSBjdXAgYmVlZiBicm90aDxicj4xLzIgY3VwIHJlZCB3aW5lIChJIHVzZSB3aGF0IEkgZHJpbmsgYW5kIHRoaXMgaXMgQ2hpYW50aSk8YnI+MSBjdXAgZnJvemVuIHBlYTMgKEkgdXNlIG9uZSA2IG91bmNlIGNhbikgKHIgIG9uIGhlcmIgdG8gdGFzdGU8YnI+MSB0ZWFzcG9vbiBkcmllZCBvcmVnYW5vPGJyPjEgdGVhc3Bvb24gZHJpZWQgcGFyc2xleTxicj4xIHRlYXNwb29uIGRyaWVkIHRoeW1lIChJIGRyeSBteSBvd248YnI+MSBjdXAgYmVlZiBicm90aDxicj4xLzIgY3VwIHJlZCB3aW5lIChJIHVzZSB3aGF0IEkgZHJpbmsgYW5kIHRoaXMgaXMgQ2hpYW50aSk8YnI+MSBjdXAgZnJvemVuIHBlYSBwZXBwZXIgdG8gdGFzdGU8YnI+MSB0ZWFzcG9vbiBkcmllZCBvcmVnYW5vPGJyPjEgdGVhc3Bvb24gZHJpZWQgcGFyc2xleTxicj4xIHRlYXNwb29uIGRyaWVkIHRoeW1lIChJIGRyeTxicj4xIGN1cCBiZWVmIGJyb3RoPGJyPjEvMiBjdXAgcmVkIHdpbmUgKEkgdXNlIHdoYXQgSSBkcmluayBhbmQgdGhpcyBpcyBDaGlhbnRpKTxicj4xIGN1cCBmcm96ZW4gcGVhIGFuZCBwZXBwZXIgdG8gdGFzdGU8YnI+MSB0ZWFzcG9vbiBkcmllZCBvcmVnYW5vPGJyPjEgdGVhc3Bvb24gZHJpZWQgcGFyc2xleTxicj4xIHRlYXNwb29uIGRyaWVkIHRoeW1lIChJPGJyPjEgY3VwIGJlZWYgYnJvdGg8YnI+MS8yIGN1cCByZWQgd2luZSAoSSB1c2Ugd2hhdCBJIGRyaW5rIGFuZCB0aGlzIGlzIENoaWFudGkpPGJyPjEgY3VwIGZyb3plbiBwZWFvciB1c2UgdGhyZXIgdG8gdGFzdGU8YnI+MSB0ZWFzcG9vbiBkcmllZCBvcmVnYW5vPGJyPjEgdGVhc3Bvb24gZHJpZWQgcGFyc2xleTxicj4xIHRlYXNwb29uIGRyaWVkIHRoeW1lIChvciB1c2UgdGhyZWVlciB0byB0YXN0ZTxicj4xIHRlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKG9yIHVzZSB0aHI8YnI+MSBjdXAgYmVlZiBicm90aDxicj4xLzIgY3VwIHJlZCB3aW5lIChJIHVzZSB3aGF0IEkgZHJpbmsgYW5kIHRoaXMgaXMgQ2hpYW50aSk8YnI+MSBjdXAgZnJvemVuIHBlYTMgdGVyIHRvIHRhc3RlPGJyPjEgdGVhc3Bvb24gZHJpZWQgb3JlZ2Fubzxicj4xIHRlYXNwb29uIGRyaWVkIHBhcnNsZXk8YnI+MSB0ZWFzcG9vbiBkcmllZCB0aHltZSAob3IgdXNlIDMgdGVhc3BvIHRhc3RlPGJyPjEgdGVhc3Bvb24gZHJpZWQgb3JlZ2Fubzxicj4xIHRlYXNwb29uIGRyaWVkIHBhcnNsZXk8YnI+MSB0ZWFzcG9vbiBkcmllZCB0aHltZSAob3IgdXNlIDMgdGVhc3Bvb25zIG9mIGFuIElhdGVhc3Bvb24gZHJpZWQgb3JlZ2Fubzxicj4xIHRlYXNwb29uIGRyaWVkIHBhcnNsZXk8YnI+MSB0ZWFzcG9vbiBkcmllZCB0aHltZSAob3IgdXNlIDMgdGVhc3Bvb25zIG9mIGFuIElhdHRlYXNwb29uIGRyaWVkIG9yZWdhbm88YnI+MSB0ZWFzcG9vbiBkcmllZCBwYXJzbGV5PGJyPjEgdGVhc3Bvb24gZHJpZWQgdGh5bWUgKG9yIHVzZSAzIHRlYXNwb29ucyBvZiBhbiBJYTxicj4xIGN1cCBiZWVmIGJyb3RoPGJyPjEvMiBjdXAgcmVkIHdpbmUgKEkgdXNlIHdoYXQgSSBkcmluayBhbmQgdGhpcyBpcyBDaGlhbnRpKTxicj4xIGN1cCBmcm96ZW4gcGVhSXRhbGlhbiBzZWFzb24gbWl4KWRyaWVkIGhlcmIgZG8gbm90IHVzZWQgdGh5bWUgKG9yIHVzZSAzIHRlYXNwb29ucyBvZiBhbiBJdGFsaWFuIGRyaWVkIGhlcmIgbWl4KTxicj4xIGN1cCBiZWVmIGJyb3RoPGJyPjEvMiBjdXAgcmVkIHdpbmUgKEkgZG8gbm90IHVzZSkgc28gSSBhZGQgYW50b2hlb3RoZXIgdGVhc3Bvb25zIG9mIGFuIEl0YWxpYW4gZHJpZWQgaGVyYiBtaXgpPGJyPjEgY3VwIGJlZWYgYnJvdGg8YnI+MS8yIGN1cCByZWQgd2luZSAoSSBkbyBub3QgdXNlIHNvIEkgYWRkIGFub3RoZXIgMS9vdXNlMyB0ZWFzcG9zb2YgYW4gSXRhbGlhbiBkcmllZCAgbWl4KWRvIG5vdCBzb2Fkb2VyMS8yIGN1cCBvZiBiZWVmIEl0YWxpYW4gZHJpZWQgaGVyYiBtaXgpPGJyPjEgY3VwIGJlZWYgYnJvdGg8YnI+MS8yIGN1cCByZWQgd2luZSAoSSBkbyBub3QgdXNlIHNvIEkgYWRkIGFub3RoZXIgMS8yIGN1cCBvZiBiZWVmIGJyb3RoKSAob3B0aW9uYWwgYW5kIGhhcmRseSBoYXZlIGN1cCByZWQgd2luZSAoSSBkbyBub3QgdXNlIHNvIEkgYWRkIGFub3RoZXIgMS8yIGN1cCBvZiBiZWVmIGJyb3RoKTxicj4xIGN1cCBmcm96ZW4gcGVhcyAob3B0aW9uYWwgYW5kIGhhcmRseSBoYXZlIG9uIGhhbmQgd2luZSAoSSBkbyBub3QgdXNlIHNvIEkgYWRkIGFub3RoZXIgMS8yIGN1cCBvZiBiZWVmIGJyb3RoKTxicj4xIGN1cCBmcm96ZW4gcGVhcyAob3B0aW9uYWwgYW5kIGhhcmRseSBoYXZlIG9uIGhhbmQpdGV4dFBhbmVsSGlkZUNvbG9ydGV4dFBhbmVsU2hvd1NwYWNpbmdDb250cm9sc3RleHRQYW5lbEhlYWRpbmdGb250U2l6ZXMyIGxhcmdlIHJ1c3NldGNsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudDxicj40IHRhYmxlc3Bvb25zIGJ1dHRlcjxicj4xIGN1cCBtb3p6YXJlbGxhIGNoZWVzZSAob3B0aW9uYWwpPGJyPjEvNCBvciBtb3JlIGdyYXRlZCBQYXJtZXNhbiBjaGVlc2UgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG1pbGsgb3IgaGFsZi1uLWhhbGY8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlZHJvcENhcGZvbnRXZWlnaHR0ZXh0VHJhbnNmb3Jtbm9Cb3R0b21TcGFjaW5nbm9Ub3BTcGFjaW5ndGV4dFBhbmVsSGlkZUNvbG9ydGV4dFBhbmVsU2hvd1NwYWNpbmdDb250cm9sc3RleHRQYW5lbEhlYWRpbmdGb250U2l6ZXNpbm5lckJsb2Nrczxicj40IHRhYmxlc3Bvb25zIGJ1dHRlcjxicj4xIGN1cCBtb3p6YXJlbGxhIGNoZWVzZSAob3B0aW9uYWwpPGJyPjEvNCBvciBtb3JlIGdyYXRlZCBQYXJtZXNhbiBjaGVlc2UgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG1pbGsgb3IgaGFsZi1uLWhhbGY8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlPGJyPjIgbWVybGluZTsiPk1hc2hlZCBQb3RhdG88L3NwYW4+PC9zdHJvbmc+PGJyPjIgbGFyZ2UgcnVzc2V0IHBvdGF0b2VzPGJyPjIgbWVkaXVtIHNpemVkIHN3ZWV0IHBvdG88L3NwYW4+PC9zdHJvbmc+PGJyPjIgbGFyZ2UgcnVzc2V0IHBvdGF0b2VzPGJyPjIgbWVkaXVtIHNpemVkIHN3ZWV0IHBvdGF0b2VzLCBwZWVsZWQsIFBlZXJsaW5lOyI+TWFzaGVkIFBvdGF0bzwvc3Bhbj48L3N0cm9uZz48YnI+MiBsYXJnZSBydXNzZXQgcG90YXRvZXMsIFBlZWxlcmxpbmU7Ij5NYXNoZWQgUG90YXRvPC9zcGFuPjwvc3Ryb25nPjxicj4yIGxhcmdlIHJ1c3NldCBwb3RhdG9lcywgUHBlZXJsaW5lOyI+TWFzaGVkIFBvdGF0bzwvc3Bhbj48L3N0cm9uZz48YnI+MiBsYXJnZSBydXNzZXQgcG90YXRvZXMsIHBlZWxlZDIgY3VwIG9mIGJlZWYgYnJvdGgpIChvcHRpb25hbCBhbmQgaGFyZGx5IGhhdmUgb24gaGFuZCkybGFyZ2UgcnVzc2V0IHBvdGF0b2VzLCBwZWVsZWQ8YnI+MiBzaXplZCBzd2VldCAsIHBlZWxlZHI+MiBtZWRpdW0gc2l6ZWQgc3dlZXQgcG90YXRvZXMsIHBlZWxlZDxicj40IHRhYmxlc3Bvb25zIGJ1dHRlcjxicj4xIGN1cCBtb3p6YSBjaGVlc2UgKG9wdGlvbmFsKTxicj4xLzQgb3IgbW9yZSBncmF0ZWQgUGFybWVzYW4gY2hlZXNlIChvcHRpb25hbCk8YnI+MS8yIGN1cCBtaWxrIG9yIGhhbGYtbi1oYWxmPGJyPlNhbHQgYW5kIHBlcHBlciB0byB0YXN0Z3JhZGNoZWVkZGFyLCBzaXplZCBzd2VldCBwb3RhdG9lcywgcGVlbGVkPGJyPjQgdGFibGVzcG9vbnMgYnV0dGVyPGJyPjEgY3VwIGNoZWRkYXIgY2hlZXNlLCAgZ3JhZHRlZCBwZWVsZWQ8YnI+NCB0YWJsZXNwb29ucyBidXR0ZXI8YnI+MSBjdXAgY2hlZGRhciBjaGVlc2UsIGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvNCAgdG8gMS8yIGN1cG9mLCBnZmluZWx5IGdyYXRlZGRhciBjaGVlc2UsIGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvNCB0byAxLzIgY3VwIG9mIFBhcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZGRhciBjaGVlc2UsIGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvNCB0byAxLzIgY3VwIG9mIFBhcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZCwgb3IgY3VwIG9mIFBhcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvMiBjdXAgbWlsayBvciBoYWxmLW4taGFsZiwgb3IgbGVzc29wdGlvbmFsKTxicj4xLzQgdG8gMS8yIGN1cCBvZiBQYXJtZXNhbiBjaGVlc2UsIGZpbmVseSBncmF0ZWQgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG9yIGxlc3Mgb2Ygcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvMiBjdXAgb3IgbGVzcyBvZiBtaWxrIG9yIGhhbGYtbi1oYWxmLCBvPGJyPlNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZiBQYXJtZXNhbiBjaGVlc2UsIGZpbmVseSBncmF0ZWQgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG9yIGxlc3Mgb2YgbWlsayBvciBoYWxmLW4taGFsPGJyPlNhbHQgYW5kIHBlcHBlciB0byB0YXN0Y2hkZHIsZ3JhdGVkIHQxLzJjdXBvZiAsZmluZWx5IGdyYXRlZCBvciBsZXNzIG9mICwgdG8gMS8yIGN1cCBvZiBQYXJtZXNhbiBjaGVlc2UsIGZpbmVseSBncmF0ZWQgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG9yIGxlc3Mgb2YgbWlsaywgSShJIDEvMiBjdXAgb2YgUGFybWVzYW4gY2hlZXNlLCBmaW5lbHkgZ3JhdGVkIChvcHRpb25hbCk8YnI+MS8yIGN1cCBvciBsZXNzIG9mIG1pbGssIChJIGxpa2UgbXkgb2YgUGFybWVzYW4gY2hlZXNlLCBmaW5lbHkgZ3JhdGVkIChvcHRpb25hbCk8YnI+MS8yIGN1cCBvciBsZXNzIG9mIG1pbGssIChJIGxpa2UgbXkgbWFzaGVkIHBvdGF0ZXMgb2VzIGEgd2VlIGJpdCBzdGlmZiAgc28gSSB1c2UgTGxlc3MgbWlsayksKElsaWtlIG15IG1hc2VkIHBvdHRvZXMgYSB3ZWUgYml0IHN0aWYgc28gSSB1c2UgbGVzcyBtaWxrKXRleHRQYW5lbEhpZGVDb2xvcnRleHRQYW5lbFNob3dTcGFjaW5nQ29udHJvbHN0ZXh0UGFuZWxIZWFkaW5nRm9udFNpemVzbCB1bnRpbCB0ZW5kZXIuIERyYWluIGFuZCBtYXNoIHRoZSBwb3RhdG9lcyB3aXRoIGJ1dHRlciwgd2FybSBtaWxrLCBtb3p6YXJlLCBhbmQgUGFybWVzYW4uIFNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZS48YnI+NC4gVG9wIHRoZSBtZWF0L3ZlZ2V0YWJsZSBtaXh0dXJlIHdpdGggdGhlIG1hc2hlZCBwb3RhdG8gYW5kIGdlbnRseSBzcHJlYWQgb3V0IGV2ZW5seS4gQWRkIG1vcmUgUGFybWVzYW4gY2hlZXNlIHRvIHRoZSB0b3AuIEkgbGlrZSB0byBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZyBhbmQgYm9pbCB1bnRpbCB0ZW5kZXIuIERyYWluIGFuZCBtYXNoIHRoZSBwb3RhdG9lcyB3aXRoIGJ1dHRlciwgd2FybSBtaWxrLCwgYW5kIFBhcm1lc2FuLiBTYWx0IGFuZCBwZXBwZXIgdG8gdGFzdGUuPGJyPjQuIFRvcCB0aGUgbWVhdC92ZWdldGFibGUgbWl4dHVyZSB3aXRoIHRoZSBtYXNoZWQgcG90YXRvIGFuZCBnZW50bHkgc3ByZWFkIG91dCBldmVubHkuIEFkZCBtb3JlIFBhcm1lc2FuIGNoZWVzZSB0byB0aGUgdG9wLiBJIGxpa2UgdG8gYWRkIGdyYXRlZCBjaGVkZGFyIGNoZWVzZSBhcyB3ZWxsLiBCYWtlIGZvciAyMC0yNSBtaW51dGVzIHVudGlsIHRoZSB0b3AgaXMgZ29sZGVuIGJyb3duLiBBdCB0aGUgZW5kLCBJIGxpa2UgdG8gdXNlIHRoZSBicm9pbGVyIHRvIGdldCBhIGNyaXNweSB0b3Agd2hpY2ggb25seSB0YWtlcyBhYm91dCA1IG1pbnV0ZXMuIEtlZXAgeW91ciBleWUgb24gdGhlIGRpc2ggaWYgdXNpbmcgdGhlIGJyb2lsZXIuPGJyPjUuIExldCBpdCBzaXQgZm9yIDE1LTIwIG1pbnV0ZXMgYmVmb3JlIHNlcnZpbmcgLCBhbmQgYm9pbCB1bnRpbCB0ZW5kZXIuIERyYWluIGFuZCBtYXNoIHRoZSBwb3RhdG9lcyB3aXRoIGJ1dHRlciwgd2FybSBtaWxrLCBzYWxkdCBhbmQgdW50aWwgdGVuZGVyLiBEcmFpbiBhbmQgbWFzaCB0aGUgcG90YXRvZXMgd2l0aCBidXR0ZXIsIHdhcm0gbWlsaywgc2FsdCBhbmQgcGVwcGVyLiAgQWRkIHRoZSBjaGVlc2VzLnN0cGVwcGVyLiAgQWRkIHRoZSBjaGVlc2VzLmFzaCB0aGUgcG90YXRvZXMgd2l0aCBidXR0ZXIsIHdhcm0gbWlsaywgc2FsdCBhbmQgcGVwcGVyLiAgQWRkIHRoZSBjaGVlc2VzLnJtZXNhbi4gU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlLjxicj40LiBUb3AgdGhlIG1lYXQvdmVnZXRhYmxlIG1peHR1cmUgd2l0aCB0aGUgbWFzaGVkIHBvdGF0byBhbmQgZ2VudGx5IHNwcmVhZCBvdXQgZXZlbmx5LiBBZGQgbW9yZSBQYXJtZXNhbiBjaGVlc2UgdG8gdGhlIHRvcC4gSSBsaWtlIHRvIGFkZCBncmF0ZWQgY2hlZGRhciBjaGVlc2UgYXMgd2VsbC4gQmFrZSBmb3IgMjAtMjUgbWludXRlcyB1bnRpbCB0aGUgdG9wIGlzIGdvbGRlbiBicm93bi4gQXQgdGhlIGVuZCwgSSBsaWtlIHRvIHVzZSB0aGUgYnJvaWxlciB0byBnZXQgYSBjcmlzcHkgdG9wIHdoaWNoIG9ubHkgdGFrZXMgYWJvdXQgNSBtaW51dGVzLiBLZWVwIHlvdXIgZXllIG9uIHRoZSBkaXNoIGlmIHVzaW5nIHRoZSBicm9pbGVyLjxicj41LiBMZXQgaXQgc2l0IGZvciAxNS0yMCBtaW51dGVzIGJlZm9yZSBzZXJ2aW5nYXNoIHRoZSBwb3RhdG9lcyB3aXRoIGJ1dHRlciwgd2FybSBtaWxrLCBzYWx0IGFuZCBwZXBwZXIuICBBZGQgdGhlIGNoZWVzZXMubi4gU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlLjxicj40LiBUb3AgdGhlIG1lYXQvdmVnZXRhYmxlIG1peHR1cmUgd2l0aCB0aGUgbWFzaGVkIHBvdGF0byBhbmQgZ2VudGx5IHNwcmVhZCBvdXQgZXZlbmx5LiBBZGQgbW9yZSBQYXJtZXNhbiBjaGVlc2UgdG8gdGhlIHRvcC4gSSBsaWtlIHRvIGFkZCBncmF0ZWQgY2hlZGRhciBjaGVlc2UgYXMgd2VsbC4gQmFrZSBmb3IgMjAtMjUgbWludXRlcyB1bnRpbCB0aGUgdG9wIGlzIGdvbGRlbiBicm93bi4gQXQgdGhlIGVuZCwgSSBsaWtlIHRvIHVzZSB0aGUgYnJvaWxlciB0byBnZXQgYSBjcmlzcHkgdG9wIHdoaWNoIG9ubHkgdGFrZXMgYWJvdXQgNSBtaW51dGVzLiBLZWVwIHlvdXIgZXllIG9uIHRoZSBkaXNoIGlmIHVzaW5nIHRoZSBicm9pbGVyLjxicj41LiBMZXQgaXQgc2l0IGZvciAxNS0yMCBtaW51dGVzIGJlZm9yZSBzZXJ2aW5nYXNoIHRoZSBwb3RhdG9lcyB3aXRoIGJ1dHRlciwgd2FybSBtaWxrLCBzYWx0IGFuZCBwZXBwZXIuICBBZGQgdGhlIGNoZWVzZXMubHQgYW5kIHBlcHBlciB0byB0YXN0ZS48YnI+NC4gVG9wIHRoZSBtZWF0L3ZlZ2V0YWJsZSBtaXh0dXJlIHdpdGggdGhlIG1hc2hlZCBwb3RhdG8gYW5kIGdlbnRseSBzcHJlYWQgb3V0IGV2ZW5seS4gQWRkIG1vcmUgUGFybWVzYW4gY2hlZXNlIHRvIHRoZSB0b3AuIEkgbGlrZSB0byBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZ2FzaCB0aGUgcG90YXRvZXMgd2l0aCBidXR0ZXIsIHdhcm0gbWlsaywgc2FsdCBhbmQgcGVwcGVyLiAgQWRkIHRoZSBjaGVlc2VzLm5kIHBlcHBlciB0byB0YXN0ZS48YnI+NC4gVG9wIHRoZSBtZWF0L3ZlZ2V0YWJsZSBtaXh0dXJlIHdpdGggdGhlIG1hc2hlZCBwb3RhdG8gYW5kIGdlbnRseSBzcHJlYWQgb3V0IGV2ZW5seS4gQWRkIG1vcmUgUGFybWVzYW4gY2hlZXNlIHRvIHRoZSB0b3AuIEkgbGlrZSB0byBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZ2FzaCB0aGUgcG90YXRvZXMgd2l0aCBidXR0ZXIsIHdhcm0gbWlsaywgc2FsdCBhbmQgcGVwcGVyLiAgQWRkIHRoZSBjaGVlc2VzLnN0ZS48YnI+NC4gVG9wIHRoZSBtZWF0L3ZlZ2V0YWJsZSBtaXh0dXJlIHdpdGggdGhlIG1hc2hlZCBwb3RhdG8gYW5kIGdlbnRseSBzcHJlYWQgb3V0IGV2ZW5seS4gQWRkIG1vcmUgUGFybWVzYW4gY2hlZXNlIHRvIHRoZSB0b3AuIEkgbGlrZSB0byBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZyxTb21ldGltZXMgSSB3aWxsIG9uIHRvcCBQYXJtZXNhbiBjaGVlc2UgdG8gdGhlIHRvcC4gU29tZXRpbWVzIEkgd2lsbCBhZGQgZ3JhdGVkIGNoZWRkYXIgY2hlZXNlIG9uIHRvcCAgSSBiYWtlIEkgYmFrZSxTb21ldG1zSXdpbGwgb24gdG9wICBteSBTaGVwaGVyZCdzIFBpZSBhcmUgY29va2VkLiBSZW1vdmUgZnJvbSBoZWF0IGFuZCBzZXQgYXNpZGUuIEkgYmFrZSBteSBTaGVwaGVyZCdzIFBpZSBpbiB0aGUgY2FzdCBSZW1vdmUgZnJvbSBoZWF0IGFuZCBzZXQgYXNpZGUuIEkgYmFrZSBteSBTaGVwaGVyZCdzIFBpZSBpbiB0aGUgY2FzdCBpcm9uIG1hcGFuLiAgSSB1c2UgYW5kIHNldCBhc2lkZS4gSSBiYWtlIG15IFNoZXBoZXJkJ3MgUGllIGluIHRoZSBjYXN0IGlyb24gcGFuLiAgSSB1c2UgYW5kIHNldCBhc2lkZS4gSSBiYWtlIG15IFNoZXBoZXJkJ3MgUGllIGluIHRoZSBjYXN0IGlyb24gcGFuLiAgSSB1c2UgYSAgbXkgU2hlcGhlcmQncyBQaWUgaW4gdGhlIGNhc3QgaXJvbiBwYW4uICBJIHVzZSBhIGFuZCBzZXQgYXNpZGUuIEkgYmFrZSBteSBTaGVwaGVyZCdzIFBpZSBpbiB0aGUgY2FzdCBpcm9uIHBhbi4gIEkgdXNlIDxicj4yLiBQcmVoZWF0IG92ZW4gdG8gNDAwIGRlZ3JlZXMgRi48YnI+My4gTWVhbndoaWxlLCBpbiBhIGxhcmdlIHBvdCBvZiBjb2xkIHNhbHRlZCB3YXRlciBhZGQgdGhlIHBvdGF0b2VzIGFuZCBib2lsIHVudGlsIHRlbmRlci4gRHJhaW4gYW5kIG1hc2ggdGhlIHBvdGF0b2VzIHdpdGggYnV0dGVyLCB3YXJtIG1pbGssIHNhbHQsIGFuZCBwZXBwZXIuICBBZGQgdGhlIGNoZWVzZXMuPGJyPjQuIFRvcCB0aGUgbWVhdC92ZWdldGFibGUgbWl4dHVyZSB3aXRoIHRoZSBtYXNoZWQgcG90YXRvIGFuZCBnZW50bHkgc3ByZWFkIG91dCBldmVubHkuIEFkZCBtb3JlIFBhcm1lc2FuIGNoZWVzZSB0byB0aGUgdG9wLiBTb21ldGltZXMgSSB3aWxsIGFkZCBncmF0ZWQgY2hlZGRhciBjaGVlc2Ugb24gdG9wIGFzIHdlbGwuIEJha2UgZm9yIDIwLTI1IG1pbnV0ZXMgdW50aWwgdGhlIHRvcCBpcyBnb2xkZW4gYnJvd24uIEF0IHRoZSBlbmQsIEkgbGlrZSB0byB1c2UgdGhlIGJyb2lsZXIgdG8gZ2V0IGEgY3Jpc3B5IHRvcCB3aGljaCBvbmx5IHRha2VzIGFib3V0IDUgbWludXRlcy4gS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZ3RoZSBzZXQgYXNpZGUuIEkgYmFrZSBteSBTaGVwaGVyZCdzIFBpZSBpbiB0aGUgY2FzdCBpcm9uIHBhbi4gIEkgdXNlIHRoZSBsYXJnZSAxMiBpbmNoIGNhc3QgaXJvbiBwaGVyZCdzIFBpZSBpbiB0aGUgY2FzdCBpcm9uIHBhbi4gIEkgdXNlIHRoZSBsYXJnZSAxMiBpbmNoIGNhc3QgaXJvbiBwYW4uIEkgY29va2VkIHRoZSBtZWF0IGFuZCB2ZWdnaWVzIG15IFNoZXBoZXJkJ3MgUGllIGluIHRoZSBjYXN0IGlyb24gcGFuIEkgY29va2VkIHRoZSBtZWF0IGFuZCB2ZWdnaWVzIGkgSSBjb29rZWQgdGhlIG1lYXQgYW5kIHZlZ2dpZXMgIGxyZ2UxMiBpbmNoIGNhc3QgaXJvbiBwYW4uc2FtZSBSZW1vdmUgZnJvbSBoZWF0IGFuZCBzZXQgYXNpZGUuIEkgYmFrZSBteSBTaGVwaGVyZCdzIFBpZSBpbiB0aGUgc2FtZSB3aXRoIHdoaWNoIGFzaWRlLiBJIGJha2UgbXkgU2hlcGhlcmQncyBQaWUgaW4gdGhlIHNhbWUgY2FzdCBpcm9uIHBhbiB3aXRoIHdoaWNoIGFJdGV4dFBhbmVsSGlkZUNvbG9ydGV4dFBhbmVsU2hvd1NwYWNpbmdDb250cm9sc3RleHRQYW5lbEhlYWRpbmdGb250U2l6ZXMgaGFibGUgbWl4dHVyZS4gSSBoYXZlIGFsc29zYW1lIHdpdGggd2hpY2ggYUkgaGF2ZSBhbHNvIG1hZGUgSSBoYXZlIGFsc28gbWFkZSAnQ29sY2Fubm9uJyBtYWRlICdDb2xjYW5ub24nIGFuZGUgJ0NvbGNhbm5vbicgYW5kIHVzZWQgdGhpcyBhcyBhbmQgdXNlZCB0aGlzIGFzIG15IGR0b3BwaW5nIGFuZCBJIG15IHRvcHBpbmcgYW5kIEkgaGF2ZSB1c2VkIG1hbmQgSSBoYXZlIHVzZWQgbWFzaGVkIGhhdmUgdXNlZCBtYXNoZWQgJ0NhdWxpaWZsb3dlcicgYXMgJ0NhdWxpZmxvd2VyJyBhcyBteSB0b3BwaW5nLiAgb3IgdG9wcGluZyBjb21ibyBvciB0b3BwaW5nICBtYWRlICdDb2xjYW5ub24nIGFuZCB1c2VkIHRoaXMgYXMgbXkgdG9wcGluZyBhbmQgSSBoYXZlIHVzZWQgbWFzaGVkICdDYXVsaWZsb3dlcicgYXMgbXkgdG9wcGluZy4gIG9yIHRvcHBpbmcgPGEgaHJlZj0iaHR0cHM6Ly9kcmV3ZnJlZGVyaWMuY29tLz9wPTEyMDkyIj48L2E+PGEgaHJlZj0iaHR0cHM6Ly9kcmV3ZnJlZGVyaWMuY29tLz9wPTEyMDkyIj48L2E+KnRleHRQYW5lbEhpZGVDb2xvcnRleHRQYW5lbFNob3dTcGFjaW5nQ29udHJvbHN0ZXh0UGFuZWxIZWFkaW5nRm9udFNpemVzPGVtPjwvZW0+aW4gaHRldGhlIGFyZWEgdGhlIGFyZWEgIGluIHdoaWNoIGluIHdoaWNoICBJIHdhcyBncmV3IHVwPGVtPio8L2VtPmluIHQgYWFpbiB3aGljaCBJIGdyZXcgdXAgbGFibSBiIHNlZSBsYW1iIGluIHRoZSBzdG9yZWxhbWIgbiBoZSBzdG9yZSAodGhpcyBpcyBteSB0IHBvdGF0b2VzLCBwZWVsZWQ8YnI+MiBtZWRpdW0gc2l6ZWQgc3dlZXQgcG90YXRvZXMsIHBlZWxlZCAodGhpcyBpcyBteSB0ICh0aGlzIGlzIG15IHR3aXN0YXRvZXMsIHBlZWxlZDxicj4yIG1lZGl1bSBzaXplZCBzd2VldCBwb3RhdG9lcywgcGVlbGVkICh0aGlzIGlzIG15IHR3aXN0LCB1c2UgMyBsYXJnZSBydXNzZXN0cyBpdW0gc2l6ZWQgc3dlZXQgcG90YXRvZXMsIHBlZWxlZCAodGhpcyBpcyBteSB0d2lzdCwgdXNlIDMgbGFyZ2UgcnVzc2V0cyBpZiBub3Qgc3VzaW5nIHRoZSBzd2VldCBwb3RhdG9lcyksIHNhdmUgc29tZSBncmF0ZWQgKG9wdGlvbmFsKTxicj4xLzQgdG8gMS8yIGN1cCBvZiBQYXJtZXNhbiBjaGVlc2UsIGZpbmVseSBncmF0ZWQsIHNhdmUgc29tZSAgZm9yIHRoZSB0b3AgZ3JhdGVkIChvcHRpb25hbCk8YnI+MS80IHRvIDEvMiBjdXAgb2YgUGFybWVzYW4gY2hlZXNlLCBmaW5lbHkgZ3JhdGVkLCBzYXZlIHNvbWVldCBhc2lkZSBncmF0ZWQgKG9wdGlvbmFsKTxicj4xLzQgdG8gMS8yIGN1cCBvZiBQYXJtZXNhbiBjaGVlc2UsIGZpbmVseSBncmF0ZWQsIHNldCBhc2lkZSAgYSBoYW5kIChvcHRpb25hbCk8YnI+MS80IHRvIDEvMiBjdXAgb2YgUGFybWVzYW4gY2hlZXNlLCBmaW5lbHkgZ3JhdGVkLCBzZXQgYXNpZGUgYSBoYW5kZnV3aXN0LCB1c2UgMyBsYXJnZSBydXNzZXRzIGlmIG5vdCB1c2luZyB0aGUgc3dlZXQgcG90YXRvZXMpLHNldCBhc2lkZSAgZiBsZCAob3B0aW9uYWwpPGJyPjEvNCB0byAxLzIgY3VwIG9mIFBhcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZCwgc2V0IGFzaWRlIGEgaGFuIChvcHRpb25hbCk8YnI+MS8yIGN1cCBvciBsZXNzIG9mIG1pbGssIChJIGxpa2UgbXkgbWFzaGVkIHBvdGF0b2VzIGEgd2VlIGJpdCBzdGlmZiBzbyBJIHVzZSBsZXNzIG1pbGspPGJyPlNhbHQgYW5kIHBlcHBlciB0byB0YXN0IGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvNCB0byAxLzIgY3VwIG9mIFBhcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZCwgc2V0IGFzaWRlIGdyYXRlZCAob3B0aW9uYWwpPGJyPjEvNCB0byAxLzIgY3VwIG9mIFBhcm1lc2FuIGNoZWVzZSwgZmluZWx5IGdyYXRlZCwgc2V0IGFzaWRlICBzb21lIGZvciB0aGUgdG9wc29tZW9ydGhlIHRvcCAFBwgECAQIBggFCgEUGwgHgQMCQQGRAbQCQQACQQECQQICQQECQQAQQQEDQQAqQQACQQBDABcRAg1BAistMEEEA0ECvgsEGJcBlAIsBAMBAwIBFYkCAQcIIkEABwESQQIPARYEQQOLBpoDqgO3AkEABYACQQIamwKWBJ4BJroBCAcIBggOCA4ICwgGSAEGCAQOFBseGBYTGiAbLyoJGSEiFhsfCAoIBAgGCAcPBAoHoQI\/nQG0AgQQExEDDyoZFggMBUwAAiMpLQEwDwkHCg0PDAsIBw8ECkMABwIFBggPRQAOCwZLAAgHDwQKB5IDBAEYAZcBugMHCg0PDAsIBw8ECgcpKwiyAgcKDQ8MCwgHDwQKB7kEAZoDAb4CLKsBCJgIAQcKDQ8MCwgHDwQKB74BAZABDh8HEwcKDQ8MCwgHDwQKBxYHCg0PDAsFBwUHAQgJBBIcGQoFEwQBChAEAgcNSwACDB0OHwsXQQICA5EBQQMNBAMgAQRCAARBAAUEAwENAQwKGAlBBhQCDAEMBAJBAAJBAAgCAQ4NBggBAgQDQQADAgEYIgIEAgUBRwAIAQhDAAcOCAJBAQ4IBwQKRwAKDQ8MEhwZCwQuQQEXAi4EBRMlAwEGBAYZHRsHAUIAAQ0JFQESHBlBABcCCQMIQQESQQAVKkEABAeUAQabAQKaAS6mAaUBApsBBQQIAwSmAQYHowEGEJoBDwejAQaqAQLOAwABGAJBBATOAwAJoAGlAQqqAQGpAaUBAwSmAQMNnQEMqgGEASWRARQPBAsJEp4BFhCgAQIBAwdBABQFBwJBAUIADTM9BhoHrAEGswEBEhwZQQAFAQYIBw8ECgeqAgcKDQ8MEhwZCwSlAgEEAxQ1Ey0CGg0EhgEBhAECNw8DFCMBIwwICoQBBxMCHAEpGwwBFjkBRwAkJwECAQMBAwJBAAcBBAGRAQwJFyYEPRgEEA0ENAqvAZQBG0IAQQAHAUMBAQ0BCwEDkgEDCI0BByIBMjgBAgsGEhUSHBmUCIoBAgWDB0EACYMBCRoyDAEDAQhBABmMCIcIggi+By2FAicavAMBEQaPAUcAAQVBAQUHEgw6CxE1EgGFAYYBARoNCUEAA4IBiAoDEgctGCAJAxoDHhoOHkEAHgIDFgQZLQqGAUEAEhwZAg0FBwULAQsFDAYLAw8CBAkBBA0RAREMBgsFDQQRARESDQoSBwmTAQssBCwEARIcGQQFAgEGAQQJQQACAQUKQQEDAQQBAkUABAIBEwYKDAUCCA0EhQEOAxcyF4kBBgEZQQAEAQSSAQEDAQMBA4wBBQIBBQaMAUEBA5IBAjoBCkECkgGAApEBkgEBBAEDAQMBAwQCCBMBBAAAAQAAAAEIABIBAgBiAQEAKEIBAQBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBQQQIOChcPAQIBQgEDAQIBAgQDAQJEAEEAAwJBAAQBBh4CQQEHAkEARABCAAsBBgIBBAYCAQdBAAQCAyMDAQJBaQVBAQJBDgMBAkEVA0EOBAEBmggAfQF3EzIwMjQtMDItMjlUMDg6MDA6NDF3FnNjb3R0aXNoLXNoZXBoZXJkcy1waWV3B3B1Ymxpc2h9v5eLPn0AdwRvcGVudwRvcGVueXcAdwhzdGFuZGFyZHcAdwB3AHcAd58BT25lIG9mIHRoZSBtb3N0IGljb25pYyBjb21mb3J0IGZvb2RzIEkgaGF2ZSBldmVyIGVuam95ZWQgaXMgJ1NoZXBoZXJkJ3MgUGllJy4gIEl0IGlzIGEgdmVyeSBjb21tb24gY2Fzc2Vyb2xlIGhlcmUgaW4gTWFpbmUuICBJdCBpcyBhIFNjb3R0aXNoIHRyYWRpdGlvbmFsIG1lYWwudxdTY290dGlzaCBTaGVwaGVyZCdzIFBpZXl3AHl9AHl5dwB3AHh5dgIYaW1hZ2VfZ2VuZXJhdG9yX3NldHRpbmdzdgQIdGVtcGxhdGV3B2hpZ2h3YXkQZGVmYXVsdF9pbWFnZV9pZH0ABGZvbnR3AAdlbmFibGVkeQd2ZXJzaW9ufQJ5eXUBfZAsdQd9lqkHfZBffY3nv\/4EfY2KAX2K57\/+BH2P7r\/+BH2+67\/+BHckNGYyZDI3MzAtN2JmNi00NGU2LTg1OWQtMGY3Mzk2ZTlhNDIweHeQBzxwPk9uZSBvZiB0aGUgbW9zdCBpY29uaWMgY29tZm9ydCBmb29kcyBJIGhhdmUgZXZlciBlbmpveWVkIGlzICdTaGVwaGVyZCdzIFBpZScuIEl0IGlzIGEgdmVyeSBjb21tb24gY2Fzc2Vyb2xlIGhlcmUgaW4gTWFpbmUgYW5kIHRocm91Z2hvdXQgdGhlIE5ldyBFbmdsYW5kIHJlZ2lvbi4gSXQgaXMgYWxzbyB2ZXJ5IGNvbW1vbiBpbiB0aGUgVUsgYXMgaXQgb3JpZ2luYXRlZCBpbiBTY290bGFuZC4gSXQgaXMgYW4gYWxsLWluLW9uZSBtZWFsIHRoYXQgaW5jbHVkZXMgc2Vhc29uZWQgbGFtYiBvciBiZWVmLCB2ZWdldGFibGVzLCBhbmQgbWFzaGVkIHBvdGF0by4gVGhlIHJlY2lwZSBpcyB2ZXJ5IGZsZXhpYmxlIGFuZCBjYW4gYmUgdHdpc3RlZCB1cCBob3dldmVyIG9uZSBkZXNpcmVzLiBNeSBtb20gYWx3YXlzIHVzZWQgY3JlYW1lZCBjb3JuIGFzIHRoZSBtYWluIHZlZ2V0YWJsZSBhbG9uZyB3aXRoIHRoZSBncm91bmQgYmVlZiwgbWFzaGVkIHBvdGF0bywgYW5kIHNwaWNlcy4gVGhlIFNjb3R0aXNoIHZlcnNpb24gaXMgbXVjaCBkaWZmZXJlbnQuIEkgcmVjZW50bHkgbWFkZSB0aGUgbW9yZSBhdXRoZW50aWMgdmVyc2lvbiBhbmQgbXkgTW9tIGVuam95ZWQgaXQgaW1tZW5zZWx5LiBUaGlzIGlzIG9uZSBkaXNoIHRoYXQgaXMgcHJlcGFyZWQgYnkgdXNpbmcgd2hhdCBvbmUgaGFzIG9uIGhhbmQgaW4gdGhlaXIgcGFudHJ5IGFuZCByZWZyaWdlcmF0b3IuIFRodXMsIHRoZSBtYW55IGRpZmZlcmVudCB2ZXJzaW9ucy4gQnV0LCB0aGUgYmFzZSBpcyBhbHdheXMgdGhlIHNhbWU6IGEgbWVhdCBsYW1iIG9yIGJlZWYsIHZlZ2V0YWJsZXMsIGFuZCBtYXNoZWQgcG90YXRvLiAgR28gYWhlYWQgYW5kIG1ha2UgeW91ciB0dW1teSBoYXBweSBhbmQgdHJ5IHRoaXMgbW9yZSBhdXRoZW50aWMgdmVyc2lvbiEhPC9wPncOY29yZS9wYXJhZ3JhcGh5dwB3AHl5dyQ4ZmRjMWMyNy0wYTBmLTQ3MTAtYmNlYS0zNDlmNDIxMGU3NzB4d7ICPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2staW1hZ2UgYWxpZ25jZW50ZXIgc2l6ZS1sYXJnZSBpcy1yZXNpemVkIGhhcy1jdXN0b20tYm9yZGVyIj48aW1nIHNyYz0iaHR0cHM6Ly9kcmV3ZnJlZGVyaWMuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzAyLzQ1NzBhZjgxLTUxODAtNDZiMy1hNDU0LWNkNDg1ZjU1NThmMy0xLTk0OHgxMDI0LmpwZyIgYWx0PSIiIGNsYXNzPSJ3cC1pbWFnZS0xMjc3NyIgc3R5bGU9ImJvcmRlci13aWR0aDoycHg7Ym9yZGVyLXJhZGl1czoxOHB4O3dpZHRoOjM3M3B4O2hlaWdodDphdXRvIi8+PC9maWd1cmU+dwpjb3JlL2ltYWdld2dodHRwczovL2RyZXdmcmVkZXJpYy5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDIvNDU3MGFmODEtNTE4MC00NmIzLWE0NTQtY2Q0ODVmNTU1OGYzLTEtOTQ4eDEwMjQuanBndwB9qccBdwUzNzNweHcEYXV0b3cFbGFyZ2V3BG5vbmV3BmNlbnRlcnYBBmJvcmRlcnYCBXdpZHRodwMycHgGcmFkaXVzdwQxOHB4eXl3BG5vbmV5dyQ1YWZmYWFhNy1hY2EzLTQ1NzMtYWYzNy1mOWZkOTFkNmY2ZTR4d8gEPHA+PGJyPjxzdHJvbmc+PHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+SW5ncmVkaWVudHM8L3NwYW4+PC9zdHJvbmc+Ojxicj4yLTMgdGFibGVzcG9vbnMgb2xpdmUgb2lsICh1c2UgdGhlIG9pbCB5b3UgaGF2ZSBvbiBoYW5kKTxicj4xIHBvdW5kIG9mIGdyb3VuZCBsYW1iIG9yIGdyb3VuZCBiZWVmPGJyPjEgbWVkaXVtIG9uaW9uLCBjaG9wcGVkPGJyPjEgbGFyZ2UgY2Fycm90LCBkaWNlZDxicj4yIHJpYnMgY2VsZXJ5LCBkaWNlZDxicj4yIGNsb3ZlcyBnYXJsaWMsIG1pbmNlZCAob3B0aW9uYWwpPGJyPjIgdGFibGVzcG9vbnMgdG9tYXRvIHBhc3RlPGJyPjIgdGFibGVzcG9vbnMgV29yY2VzdGVyc2hpcmUgc2F1Y2U8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlPGJyPjEgdGVhc3Bvb24gZHJpZWQgb3JlZ2Fubzxicj4xIHRlYXNwb29uIGRyaWVkIHBhcnNsZXk8YnI+MSB0ZWFzcG9vbiBkcmllZCB0aHltZTxicj4xIGN1cCBiZWVmIGJyb3RoPGJyPjEvMiBjdXAgcmVkIHdpbmUgKEkgdXNlIHdoYXQgSSBkcmluayBhbmQgdGhpcyBpcyBDaGlhbnRpKTxicj4xIGN1cCBmcm96ZW4gcGVhczwvcD53DmNvcmUvcGFyYWdyYXBoeXcAdwB5eXckNmI1NmEyY2QtOTVlZS00YTFlLTk2ZmItMzRmZTgzNjA2YmJieHeVAjxwPjxzdHJvbmc+PHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+TWFzaGVkIFBvdGF0bzwvc3Bhbj48L3N0cm9uZz48YnI+NSBtZWRpdW0gcG90YXRvZXM8YnI+NCB0YWJsZXNwb29ucyBidXR0ZXI8YnI+MSBjdXAgbW96emFyZWxsYSBjaGVlc2UgKG9wdGlvbmFsKTxicj4xLzQgb3IgbW9yZSBncmF0ZWQgUGFybWVzYW4gY2hlZXNlIChvcHRpb25hbCk8YnI+MS8yIGN1cCBtaWxrIG9yIGhhbGYtbi1oYWxmPGJyPlNhbHQgYW5kIHBlcHBlciB0byB0YXN0ZTwvcD53DmNvcmUvcGFyYWdyYXBoeXcAdwB5eXckM2Y1ZmNkMDctNzY5Mi00ZDM3LTgwMzEtMDJkMjdiYTUzMDYyeHeTCzxwPjxzdHJvbmc+PHNwYW4gc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyI+RGlyZWN0aW9uczwvc3Bhbj48L3N0cm9uZz46PGJyPjEuIEhlYXQgdGhlIG9pbCBpbiBhIGxhcmdlIGNhc3QgaXJvbiBmcnkgcGFuIG92ZXIgbWVkaXVtLWhpZ2ggaGVhdCwgYWRkIHRoZSBncm91bmQgbGFtYiBvciBiZWVmIGFuZCBjb29rIHRocm91Z2guIEJyZWFrIGl0IGFsbCB1cCB3aXRoIGEgd29vZGVuIHNwb29uIHdoaWxlIGNvb2tpbmcuIE9uY2UgaXQgaXMgYnJvd25lZC9jb29rZWQsIGFkZCB0aGUgb25pb24gYW5kIGNvb2sgZm9yIDItMyBtaW51dGVzLiAgQWRkIHRoZSBjYXJyb3RzLCBnYXJsaWMsIGNlbGVyeSwgYW5kIHRvbWF0byBwYXN0ZS4gU2F1dMOpIGZvciBhbm90aGVyIDQtNSBtaW51dGVzLCBzdGlycmluZyBvY2Nhc2lvbmFsbHkuIEFkZCBzYWx0LCBwZXBwZXIsIG9yZWdhbm8sIHBhcnNsZXksIGFuZCB0aHltZSBhbmQgc3RpciB3ZWxsLiBBZGQgV29yY2VzdGVyc2hpcmUgc2F1Y2UsIGJlZWYgYnJvdGgsIGFuZCByZWQgd2luZS4gIFN0aXIgYW5kIGJyaW5nIHRvIGEgc2ltbWVyLiBXaGVuIHRoZSBzYXVjZSBiZWdpbnMgdG8gYnViYmxlLCByZWR1Y2UgaGVhdCB0byBsb3csIGNvdmVyIHRoZSBwYW4gd2l0aCBhIGxpZCBhbmQgY29vayBmb3IgNC01IG1pbnV0ZXMuIEFkZCB0aGUgZnJvemVuIHBlYXMgYW5kIGNvb2sgZm9yIDQtNSBtaW51dGVzIG9yIHVudGlsIHBlYXMgYXJlIGNvb2tlZC4gUmVtb3ZlIGZyb20gaGVhdCBhbmQgc2V0IGFzaWRlLjxicj4yLiBQcmVoZWF0IG92ZW4gdG8gNDAwIGRlZ3JlZXMgRi48YnI+My4gTWVhbndoaWxlLCBpbiBhIGxhcmdlIHBvdCBvZiBjb2xkIHNhbHRlZCB3YXRlciBhZGQgdGhlIHBvdGF0b2VzIGFuZCBib2lsIHVudGlsIHRlbmRlci4gRHJhaW4gYW5kIG1hc2ggdGhlIHBvdGF0b2VzIHdpdGggYnV0dGVyLCB3YXJtIG1pbGssIG1venphcmVsbGEsIGFuZCBQYXJtZXNhbi4gU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlLjxicj40LiBUb3AgdGhlIG1lYXQvdmVnZXRhYmxlIG1peHR1cmUgd2l0aCB0aGUgbWFzaGVkIHBvdGF0byBhbmQgZ2VudGx5IHNwcmVhZCBvdXQgZXZlbmx5LiBBZGQgbW9yZSBQYXJtZXNhbiBjaGVlc2UgdG8gdGhlIHRvcC4gSSBsaWtlIHRvIGFkZCBncmF0ZWQgY2hlZGRhciBjaGVlc2UgYXMgd2VsbC4gQmFrZSBmb3IgMjAtMjUgbWludXRlcyB1bnRpbCB0aGUgdG9wIGlzIGdvbGRlbiBicm93bi4gQXQgdGhlIGVuZCwgSSBsaWtlIHRvIHVzZSB0aGUgYnJvaWxlciB0byBnZXQgYSBjcmlzcHkgdG9wIHdoaWNoIG9ubHkgdGFrZXMgYWJvdXQgNSBtaW51dGVzLiAgS2VlcCB5b3VyIGV5ZSBvbiB0aGUgZGlzaCBpZiB1c2luZyB0aGUgYnJvaWxlci48YnI+NS4gTGV0IGl0IHNpdCBmb3IgMTUtMjAgbWludXRlcyBiZWZvcmUgc2VydmluZy48L3A+dw5jb3JlL3BhcmFncmFwaHl3AHcAeXl3JDU0YjM2NDc2LWMzMTUtNDYxZS1iZWI2LWIxNTQ4ZDliYzlkNnh3nQI8cD48c3Ryb25nPipOT1RFPC9zdHJvbmc+OiBZb3UgY2FuIGJha2UgdGhpcyBkaXNoIGluIGEgOXg5IGJha2luZyBkaXNoIG9yIGEgbGFyZ2UgY2Fzc2Vyb2xlLiBZb3UgZG8gbm90IGhhdmUgdG8gdXNlIHRoZSBjaGVlc2VzLiAgU29tZXRpbWVzIEkgdXNlIGNob3BwZWQgZ3JlZW4gYmVhbnMsIGRpY2VkIHR1cm5pcCwgb3IgZGljZWQgcGFyc25pcHMgaW4gbXkgdmVnZXRhYmxlIG1peHR1cmUuIFlvdSBjYW4gdXNlIHdoYXRldmVyIHZlZ2V0YWJsZXMgY29tYm8geW91IGRlc2lyZS4gRW5qb3khITwvcD53DmNvcmUvcGFyYWdyYXBoeXcAdwB5eXckZmM3OTUzZDEtYjZhYS00NmNmLTg5YTAtOGJkY2JlZjUyYTU3eHcdPHA+Q2hlZXJzLCBEcmV3IEZyZWRlcmljIDwvcD53DmNvcmUvcGFyYWdyYXBoeXcAdwB5eXckNDU4NDg3Y2MtZTEwYS00ZDRiLTkxOTAtOGVjZmY3ODNjNjI1eHh4dyRkODE1YzY1OC0yNzk3LTQwN2EtOGFjOS0wMmFhMWEwNjM4NzB4dw5jb3JlL3BhcmFncmFwaHl3AHcAeXl4eHh3JGM5YWU0NTBlLTAxNjItNDljMi1hZmJiLTIwYTk4Y2Q4MzU4ZHh4eHckNDI5YTZkMTAtNzg1Ni00NjcwLWEwNGUtOWNmMzdmMTNkNDkyeHh4dyQ4ZWZlM2NkMy00N2YyLTQ2ZmItODgzYy0wYzg1MmFmOTVjN2F4d5UCPHA+PHN0cm9uZz48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij5NYXNoZWQgUG90YXRvPC9zcGFuPjwvc3Ryb25nPjxicj41IG1lZGl1bSBwb3RhdG9lczxicj40IHRhYmxlc3Bvb25zIGJ1dHRlcjxicj4xIGN1cCBtb3p6YXJlbGxhIGNoZWVzZSAob3B0aW9uYWwpPGJyPjEvNCBvciBtb3JlIGdyYXRlZCBQYXJtZXNhbiBjaGVlc2UgKG9wdGlvbmFsKTxicj4xLzIgY3VwIG1pbGsgb3IgaGFsZi1uLWhhbGY8YnI+U2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlPC9wPncOY29yZS9wYXJhZ3JhcGh5dwB3AHl5eHh4dyRjYTgyYjI5Ny0xZTEwLTQ5NWYtODg0MS0zMmNiMzRiZDlkYWZ4eHh3JDhjMDNjMGIxLTljMTAtNDFjMC1iNGM2LWQzMzc4NWJlYTMxOXh4eHckY2E4NzY3ZmItZmNiOS00NmVhLWFmMWUtNDc0YjU1MDZjMDcwdyRkYjU2NzdiNy02NjJmLTQxM2QtYThhMC00Mzg5NzcxM2JhNjV4eHh7Qnngv61OEAB7QeTouGqgAAAB1YaXugrCAQUJFRrCAQ0CCQEWAQ4BAIUCAQIABAEBAQQBBAICAAEBAgABAREDAQICAAMBLAMCAwIAAgADAhoBEQACAA0DAQABBQEdAQFYADAABQABBgcBggYAGACbAgMEAwMBAgEBCp4BADIFAQEcAAEDAQUsAQMAAQaLAwDaAQChAwMBAQECBSKAAQIBAAIBtgEAlgIAngIApgE+kQIDEBIRESoYFgcMBAwLAiJWADAOEAAUANsBABjRAgcALuQBBwC+AgDaAQC+AbYFCACDAQBQDR8GGgAhARIDDgQXABoDAgYjAX4CpQEAJBcJBAIAAQABAAEBAQAWAS0CDgwdATsBIgAIAnQAAQAXAS4DrgEADQgbABcBCQIIAFcDB5ACLswBYAMI0wcbAgEAAQECAAacAwmKBARoDdIBRLABEnMQYTYMM1wHcXjwAgHJAjcRb7UCJEEBUAzfAzHBAj\/jCRvwFBwRDKkCMkSIBYABCQIdRR4AHwIbAxk2SAADAQ0LHAQMEAMQDhAREQwQBRARER8JgAEBYAERCwkJDQMrBScMBEQOAhdITwAZ7QJFAAEDAQABUoABUA==\",\"updateId\":367571067}","advanced_seo_description":"One of the most iconic comfort foods I have ever enjoyed is 'Shepherd's Pie'.  It is a very common casserole here in Maine.  It is a Scottish traditional meal.","jetpack_seo_html_title":"Scottish Shepherd's Pie","jetpack_seo_noindex":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[2832],"tags":[59990,6096,669514189,8845,669514186,669514639,669514494],"class_list":["post-12778","post","type-post","status-publish","format-standard","hentry","category-recipes","tag-comfort-food","tag-cooking","tag-drew-frederic-recipes","tag-recipe","tag-recipes","tag-scottish-food","tag-shepherds-pie","entry"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p6puAb-3k6","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/drewfrederic.com\/index.php?rest_route=\/wp\/v2\/posts\/12778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/drewfrederic.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/drewfrederic.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/drewfrederic.com\/index.php?rest_route=\/wp\/v2\/users\/65103359"}],"replies":[{"embeddable":true,"href":"https:\/\/drewfrederic.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12778"}],"version-history":[{"count":14,"href":"https:\/\/drewfrederic.com\/index.php?rest_route=\/wp\/v2\/posts\/12778\/revisions"}],"predecessor-version":[{"id":15201,"href":"https:\/\/drewfrederic.com\/index.php?rest_route=\/wp\/v2\/posts\/12778\/revisions\/15201"}],"wp:attachment":[{"href":"https:\/\/drewfrederic.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/drewfrederic.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/drewfrederic.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}