Bds$ 119.95
Bds$ 77.95
77.95
BBD
Bds$ 119.95
This combination does not exist.
Add to Cart
Silver & Glass Hurricane 12in
Silver & Glass Hurricane 12in
PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIiBsYW5nPSJlbiI+CjxoZWFkPgoKPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIC8+Cjx0aXRsZT40MDQgLSBOb3QgRm91bmQ8L3RpdGxlPgoJPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLCBtYXhpbXVtLXNjYWxlPTEiIC8+CjxtZXRhIG5hbWU9ImRlc2NyaXB0aW9uIiBjb250ZW50PSJQYWdlIGRlc2NyaXB0aW9uIiAvPgo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iUGFnZSBrZXl3b3JkcyIgLz4KPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJJTkRFWCxGT0xMT1ciIC8+CjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kd2VsbGluZ3MvZmF2aWNvbi5pY28iIHR5cGU9ImltYWdlL3gtaWNvbiIgLz4KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2R3ZWxsaW5ncy9mYXZpY29uLmljbyIgdHlwZT0iaW1hZ2UveC1pY29uIiAvPgoKPCEtLVtpZiBsdCBJRSA3XT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwogICAgdmFyIEJMQU5LX1VSTCA9ICdodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL2JsYW5rLmh0bWwnOwogICAgdmFyIEJMQU5LX0lNRyA9ICdodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL3NwYWNlci5naWYnOwovL11dPgo8L3NjcmlwdD4KPCFbZW5kaWZdLS0+CjxzY3JpcHQgc3JjPSJodHRwczovL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjYuMi9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9zdHlsZXMuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC9iYXNlL2RlZmF1bHQvY3NzL3dpZGdldHMuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvX3NoYXJlZC9pdGVtc2xpZGVyLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL2luZm9ydGlzL19zaGFyZWQvZ2VuZXJpYy1uYXYuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvYnJhbmRzL2JyYW5kcy5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9pbmZvcnRpcy91bHRyYS1zbGlkZXNob3cvdWx0cmEtc2xpZGVzaG93LmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL2luZm9ydGlzL19zaGFyZWQvaXRlbWdyaWQuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvX3NoYXJlZC9hY2NvcmRpb24uY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvdWx0cmEtbWVnYW1lbnUvdWx0cmEtbWVnYW1lbnUuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvdWx0cmEtbWVnYW1lbnUvY2xhc3NpYy5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9zdHlsZXMtaW5mb3J0aXMuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvX3NoYXJlZC9nZW5lcmljLWNjay5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9pbmZvcnRpcy9fc2hhcmVkL2Ryb3Bkb3duLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL2luZm9ydGlzL19zaGFyZWQvaWNvbnMuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvaW5mb3J0aXMvX3NoYXJlZC90YWJzLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL2ljb25zLXRoZW1lLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL2ljb25zLXNvY2lhbC5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9jb21tb24uY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3MvX2NvbmZpZy9kZXNpZ25fZHdlbGxpbmdzLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL292ZXJyaWRlLWNvbXBvbmVudHMuY3NzP3ZlcnNpb249MS4wLjIiIG1lZGlhPSJhbGwiIC8+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3Mvb3ZlcnJpZGUtbW9kdWxlcy5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9vdmVycmlkZS10aGVtZS5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9pbmZvcnRpcy9fc2hhcmVkL2dyaWQxMi5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9fY29uZmlnL2dyaWRfZHdlbGxpbmdzLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL19jb25maWcvbGF5b3V0X2R3ZWxsaW5ncy5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kd2VsbGluZ3MvY3NzL2N1c3RvbS5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kZWZhdWx0L2Nzcy9mbGV4c2xpZGVyLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2RlZmF1bHQvY3NzL3ByaW50LmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0icHJpbnQiIC8+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvcHJvdG90eXBlL3Byb3RvdHlwZS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvbGliL2NjYXJkLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9qcy9wcm90b3R5cGUvdmFsaWRhdGlvbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvc2NyaXB0YWN1bG91cy9idWlsZGVyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9qcy9zY3JpcHRhY3Vsb3VzL2VmZmVjdHMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL3NjcmlwdGFjdWxvdXMvZHJhZ2Ryb3AuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL3NjcmlwdGFjdWxvdXMvY29udHJvbHMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL3NjcmlwdGFjdWxvdXMvc2xpZGVyLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9qcy92YXJpZW4vanMuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL3Zhcmllbi9mb3JtLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9qcy92YXJpZW4vbWVudS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvbWFnZS90cmFuc2xhdGUuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL21hZ2UvY29va2llcy5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvaW5mb3J0aXMvanF1ZXJ5L2pxdWVyeS0xLjcuMi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL2luZm9ydGlzL2pxdWVyeS9qcXVlcnktbm9jb25mbGljdC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvaW5mb3J0aXMvanF1ZXJ5L3BsdWdpbnMvanF1ZXJ5Lm93bGNhcm91c2VsLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vanMvaW5mb3J0aXMvanF1ZXJ5L3BsdWdpbnMvanF1ZXJ5LmVhc2luZy5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL2luZm9ydGlzL2pxdWVyeS9wbHVnaW5zL2pxdWVyeS5hY2NvcmRpb24ubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9qcy9pbmZvcnRpcy9qcXVlcnkvcGx1Z2lucy9qcXVlcnkudGFicy5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL2luZm9ydGlzL2pxdWVyeS9wbHVnaW5zL2pxdWVyeS5iYS10aHJvdHRsZS1kZWJvdW5jZS5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2pzL2pxdWVyeS5mbGV4c2xpZGVyLmpzIj48L3NjcmlwdD4KPCEtLVtpZiBJRV0+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3Mvc3R5bGVzLWllLmNzcz92ZXJzaW9uPTEuMC4yIiBtZWRpYT0iYWxsIiAvPgo8IVtlbmRpZl0tLT4KPCEtLVtpZiBsdCBJRSA3XT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9qcy9saWIvZHMtc2xlaWdodC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC9iYXNlL2RlZmF1bHQvanMvaWU2LmpzP3ZlcnNpb249MS4wLjIiPjwvc2NyaXB0Pgo8IVtlbmRpZl0tLT4KPCEtLVtpZiBsdGUgSUUgN10+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2tpbi9mcm9udGVuZC91bHRpbW8vZGVmYXVsdC9jc3Mvc3R5bGVzLWllNy5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPCFbZW5kaWZdLS0+CjwhLS1baWYgbHRlIElFIDhdPgo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3NraW4vZnJvbnRlbmQvdWx0aW1vL2R3ZWxsaW5ncy9jc3Mvc3R5bGVzLWllOC5jc3M/dmVyc2lvbj0xLjAuMiIgbWVkaWE9ImFsbCIgLz4KPCFbZW5kaWZdLS0+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKdmFyIGluZm9ydGlzVGhlbWUgPSB7fTsgaW5mb3J0aXNUaGVtZS5yZXNwb25zaXZlID0gdHJ1ZTsgaW5mb3J0aXNUaGVtZS5tYXhCcmVhayA9IDEyODA7Ci8vXV0+Cjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8vPCFbQ0RBVEFbCk1hZ2UuQ29va2llcy5wYXRoICAgICA9ICcvJzsKTWFnZS5Db29raWVzLmRvbWFpbiAgID0gJy53d3cuZHdlbGxpbmdzaG9tZS5jb20nOwovL11dPgo8L3NjcmlwdD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KLy88IVtDREFUQVsKb3B0aW9uYWxaaXBDb3VudHJpZXMgPSBbIkJCIiwiR0IiLCJVUyJdOwovL11dPgo8L3NjcmlwdD4KPCEtLSBGYWNlYm9vayBBZHMgRXh0ZW5zaW9uIGZvciBNYWdlbnRvIC0tPgo8IS0tIE5PIFBpeGVsIElEIGlzIGNvbmZpZ3VyZWQsIHBsZWFzZSBnb3RvIEFkbWluIC0tPgo8c2NyaXB0PgogY29uc29sZS5sb2coJ05vIGZhY2Vib29rIHBpeGVsIGlzIGNvbmZpZ3VyZWQsIHBsZWFzZSBsb2cgaW4gYXMgYSBhZG1pbiBhbmQgdGhlbiB2aXNpdCBGYWNlYm9vayBBZHMgRXh0ZW5zaW9uIC0+IEdldCBTdGFydGVkJyk7Cjwvc2NyaXB0Pgo8IS0tIHN0bSBoZWFkIHN0YXJ0IC0tPg0KPCEtLSBHb29nbGUgVGFnIE1hbmFnZXIgLS0+CjxzY3JpcHQ+KGZ1bmN0aW9uKHcsZCxzLGwsaSl7d1tsXT13W2xdfHxbXTt3W2xdLnB1c2goeydndG0uc3RhcnQnOgpuZXcgRGF0ZSgpLmdldFRpbWUoKSxldmVudDonZ3RtLmpzJ30pO3ZhciBmPWQuZ2V0RWxlbWVudHNCeVRhZ05hbWUocylbMF0sCmo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQonaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPScraStkbDtmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGosZik7Cn0pKHdpbmRvdyxkb2N1bWVudCwnc2NyaXB0JywnZGF0YUxheWVyJywnR1RNLVBDOVhHV1YnKTs8L3NjcmlwdD4KPCEtLSBFbmQgR29vZ2xlIFRhZyBNYW5hZ2VyIC0tPg0KPG5vc2NyaXB0Pg0KDQo8L25vc2NyaXB0Pg0KPCEtLSBzdG0gaGVhZCBlbmQgLS0+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJCQkJCQkJCTwvc3R5bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPi8vPCFbQ0RBVEFbCiAgICAgICAgdmFyIFRyYW5zbGF0b3IgPSBuZXcgVHJhbnNsYXRlKFtdKTsKICAgICAgICAvL11dPjwvc2NyaXB0PjxtZXRhIG5hbWU9Imdvb2dsZS1zaXRlLXZlcmlmaWNhdGlvbiIgY29udGVudD0iaTZEbF9PdDFlVjJ0X09SQWpnZzhjUU9HNmQtaFJXVVpYWVN4RHFaTm5aZyIgLz4KCgoJPGxpbmsgaHJlZj0nLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDBpdGFsaWMsNDAwaXRhbGljLDYwMGl0YWxpYyw3MDBpdGFsaWMsODAwaXRhbGljLDQwMCw4MDAsNzAwLDYwMCwzMDAmYW1wO3N1YnNldD1sYXRpbicgcmVsPSdzdHlsZXNoZWV0JyB0eXBlPSd0ZXh0L2NzcycgLz4KPCEtLVtpZiBsdGUgSUUgOF0+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAiIC8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo3MDAiIC8+IAogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6ODAwIiAvPgo8IVtlbmRpZl0tLT4KCjwhLS0gU3RhcnQgb2YgQXN5bmMgSHViU3BvdCBBbmFseXRpY3MgQ29kZSAtLT4KICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAoZnVuY3Rpb24oZCxzLGkscikgewogICAgICBpZiAoZC5nZXRFbGVtZW50QnlJZChpKSl7cmV0dXJuO30KICAgICAgdmFyIG49ZC5jcmVhdGVFbGVtZW50KHMpLGU9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXTsKICAgICAgbi5pZD1pO24uc3JjPScvL2pzLmhzLWFuYWx5dGljcy5uZXQvYW5hbHl0aWNzLycrKE1hdGguY2VpbChuZXcgRGF0ZSgpL3IpKnIpKycvMjM4ODMwOC5qcyc7CiAgICAgIGUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobiwgZSk7CiAgICB9KShkb2N1bWVudCwic2NyaXB0IiwiaHMtYW5hbHl0aWNzIiwzMDAwMDApOwogIDwvc2NyaXB0Pgo8IS0tIEVuZCBvZiBBc3luYyBIdWJTcG90IEFuYWx5dGljcyBDb2RlIC0tPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSIgY21zLWluZGV4LW5vcm91dGUgY21zLW5vLXJvdXRlICI+CjwhLS0gQkVHSU4gR09PR0xFIEFOQUxZVElDUyBDT0RFcyAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwogICAgdmFyIF9nYXEgPSBfZ2FxIHx8IFtdOwogICAgCl9nYXEucHVzaChbJ19zZXRBY2NvdW50JywgJ1VBLTUxNTI0NDYxLTEnXSk7Cl9nYXEucHVzaChbJ190cmFja1BhZ2V2aWV3J10pOwogICAgCiAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIGdhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7IGdhLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsgZ2EuYXN5bmMgPSB0cnVlOwogICAgICAgIGdhLnNyYyA9ICgnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA/ICdodHRwczovL3NzbCcgOiAnaHR0cDovL3d3dycpICsgJy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcyc7CiAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ2EsIHMpOwogICAgfSkoKTsKCi8vXV0+Cjwvc2NyaXB0Pgo8IS0tIEVORCBHT09HTEUgQU5BTFlUSUNTIENPREUgLS0+CjwhLS0gc3RtIGJvZHktc3RhcnQgc3RhcnQgLS0+DQo8IS0tIEdvb2dsZSBUYWcgTWFuYWdlciAobm9zY3JpcHQpIC0tPgo8bm9zY3JpcHQ+PGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL25zLmh0bWw/aWQ9R1RNLVBDOVhHV1YiCmhlaWdodD0iMCIgd2lkdGg9IjAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW4iPjwvaWZyYW1lPjwvbm9zY3JpcHQ+CjwhLS0gRW5kIEdvb2dsZSBUYWcgTWFuYWdlciAobm9zY3JpcHQpIC0tPg0KPG5vc2NyaXB0Pg0KDQo8L25vc2NyaXB0Pg0KPCEtLSBzdG0gYm9keS1zdGFydCBlbmQgLS0+DQo8ZGl2IGlkPSJyb290LXdyYXBwZXIiPgo8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KICAgICAgICA8bm9zY3JpcHQ+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2xvYmFsLXNpdGUtbm90aWNlIG5vc2NyaXB0Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibm90aWNlLWlubmVyIj4KICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+SmF2YVNjcmlwdCBzZWVtcyB0byBiZSBkaXNhYmxlZCBpbiB5b3VyIGJyb3dzZXIuPC9zdHJvbmc+PGJyIC8+CiAgICAgICAgICAgICAgICAgICAgWW91IG11c3QgaGF2ZSBKYXZhU2NyaXB0IGVuYWJsZWQgaW4geW91ciBicm93c2VyIHRvIHV0aWxpemUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhpcyB3ZWJzaXRlLiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9ub3NjcmlwdD4KICAgIDxkaXYgY2xhc3M9InBhZ2UiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1jb250YWluZXIiIGlkPSJ0b3AiPgo8ZGl2IGNsYXNzPSJoZWFkZXItY29udGFpbmVyMiI+CjxkaXYgY2xhc3M9ImhlYWRlci1jb250YWluZXIzIj4KCiAgIDwhLS0gPGRpdiBjbGFzcz0iaGVhZGVyLXRvcC1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AgaGVhZGVyIGNvbnRhaW5lciBjbGVhcmVyIHNob3ctYmciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkMTItOCI+CiAgICAgICAgICAgICAgICAKCQogICAgPGRpdiBjbGFzcz0iZHJvcGRvd24gY3VycmVuY3ktc3dpdGNoZXIgaXRlbSBpdGVtLXJpZ2h0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi10b2dnbGUgY292ZXIiPgogICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwgaGlkZS1iZWxvdy03NjgiPkN1cnJlbmN5OjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsdWUiPkJEJDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmV0Ij4mbmJzcDs8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDx1bCBjbGFzcz0iZHJvcGRvd24tbWVudSBsZWZ0LWhhbmQiPjxsaSBjbGFzcz0iY3VycmVudCI+QmFyYmFkaWFuIERvbGxhcjwvbGk+PGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vZGlyZWN0b3J5L2N1cnJlbmN5L3N3aXRjaC9jdXJyZW5jeS9VU0QvdWVuYy9hSFIwY0RvdkwzZDNkeTVrZDJWc2JHbHVaM05vYjIxbExtTnZiUzl0WldScFlTOWpZWFJoYkc5bkwzQnliMlIxWTNRdk5DODFMelExTWprM1h6RXVhbkJuLyI+VVMgRG9sbGFyPC9hPjwvbGk+PC91bD4gICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJibG9ja19oZWFkZXJfdG9wX2xlZnQgaXRlbSBpdGVtLXJpZ2h0Ij48ZGl2IGNsYXNzPSJoaWRlLWJlbG93LTc2OCIgc3R5bGU9ImxpbmUtaGVpZ2h0OiAzZW07Ij5DYWxsICgyNDYpIDYyOS0yOTAwIDxzcGFuIHN0eWxlPSJwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7Ij58PC9zcGFuPg0KPGRpdiBjbGFzcz0ic3luY3JvaXQtZHJvcGRvd24iPjxpbWcgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL21lZGlhL3d5c2l3eWcvYmFyYmFkb3MtZmxhZy5wbmciIGFsdD0iIiAvPjxzcGFuIGNsYXNzPSJjYXJldCI+Jm5ic3A7PC9zcGFuPg0KPGRpdiBjbGFzcz0ic3luY3JvaXQtZHJvcGRvd24tY29udGVudCI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iLyI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vbWVkaWEvd3lzaXd5Zy9iYXJiYWRvcy1mbGFnLnBuZyIgYWx0PSIiIC8+QmFyYmFkb3M8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvdHJpbmlkYWQiPjxpbWcgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL21lZGlhL3d5c2l3eWcvdHJpbmlkYWQtZmxhZy5wbmciIGFsdD0iIiAvPlRyaW5pZGFkPC9hPjwvbGk+DQo8L3VsPg0KPC9kaXY+DQo8L2Rpdj4NCjxzcGFuIHN0eWxlPSJwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7Ij58PC9zcGFuPiA8YSBocmVmPSJodHRwOi8vd3d3LmxpbGlwbHVtLmNvbS8iPlZpc2l0IG91ciBzaXN0ZXIgc2l0ZSA8aW1nIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9tZWRpYS93eXNpd3lnL3Npc3Rlci1sb2dvLnBuZyIgYWx0PSIiIC8+PC9hPiA8c3BhbiBzdHlsZT0icGFkZGluZzogMHB4IDVweCAwcHggNXB4OyI+fDwvc3Bhbj48L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBpdGVtLWxlZnQgaGlkZS1iZWxvdy05NjAiPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ3ZWxjb21lLW1zZyI+IDwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4gCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IAogICAgPC9kaXY+IGVuZDogaGVhZGVyLXRvcC1jb250YWluZXIgLS0+CgogICAgPGRpdiBjbGFzcz0iaGVhZGVyLXByaW1hcnktY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItcHJpbWFyeSBoZWFkZXIgY29udGFpbmVyIHNob3ctYmciPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1mdWxsIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLXdyYXBwZXIgdi1ncmlkIGdyaWQxMi0zIiBzdHlsZT0iZmxvYXQ6bGVmdDsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vIiB0aXRsZT0iRHdlbGxpbmdzIC0gUGFzc2lvbiBGb3IgWW91ciBIb21lIiBjbGFzcz0ibG9nbyI+PHN0cm9uZz5Ed2VsbGluZ3MgLSBQYXNzaW9uIEZvciBZb3VyIEhvbWU8L3N0cm9uZz48aW1nIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9za2luL2Zyb250ZW5kL3VsdGltby9kd2VsbGluZ3MvaW1hZ2VzL2xvZ28ucG5nIiBhbHQ9IkR3ZWxsaW5ncyAtIFBhc3Npb24gRm9yIFlvdXIgSG9tZSIgLz48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkMTItOSIgc3R5bGU9ImZsb2F0OnJpZ2h0OyI+CiAgICAgICAgICAgICAgICAgICAgICAgIAoJCiAgICA8ZGl2IGNsYXNzPSJkcm9wZG93biBjdXJyZW5jeS1zd2l0Y2hlciBpdGVtIGl0ZW0tcmlnaHQiPgogICAgICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSBjb3ZlciI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCBoaWRlLWJlbG93LTc2OCI+Q3VycmVuY3k6PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWx1ZSI+QkQkPC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZXQiPiZuYnNwOzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IGxlZnQtaGFuZCI+PGxpIGNsYXNzPSJjdXJyZW50Ij5CYXJiYWRpYW4gRG9sbGFyPC9saT48bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9kaXJlY3RvcnkvY3VycmVuY3kvc3dpdGNoL2N1cnJlbmN5L1VTRC91ZW5jL2FIUjBjRG92TDNkM2R5NWtkMlZzYkdsdVozTm9iMjFsTG1OdmJTOXRaV1JwWVM5allYUmhiRzluTDNCeWIyUjFZM1F2TkM4MUx6UTFNamszWHpFdWFuQm4vIj5VUyBEb2xsYXI8L2E+PC9saT48L3VsPiAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrX2hlYWRlcl90b3BfbGVmdCBpdGVtIGl0ZW0tcmlnaHQiPjxkaXYgY2xhc3M9ImhpZGUtYmVsb3ctNzY4IiBzdHlsZT0ibGluZS1oZWlnaHQ6IDNlbTsiPkNhbGwgKDI0NikgNjI5LTI5MDAgPHNwYW4gc3R5bGU9InBhZGRpbmc6IDBweCA1cHggMHB4IDVweDsiPnw8L3NwYW4+DQo8ZGl2IGNsYXNzPSJzeW5jcm9pdC1kcm9wZG93biI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vbWVkaWEvd3lzaXd5Zy9iYXJiYWRvcy1mbGFnLnBuZyIgYWx0PSIiIC8+PHNwYW4gY2xhc3M9ImNhcmV0Ij4mbmJzcDs8L3NwYW4+DQo8ZGl2IGNsYXNzPSJzeW5jcm9pdC1kcm9wZG93bi1jb250ZW50Ij4NCjx1bD4NCjxsaT48YSBocmVmPSIvIj48aW1nIHNyYz0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9tZWRpYS93eXNpd3lnL2JhcmJhZG9zLWZsYWcucG5nIiBhbHQ9IiIgLz5CYXJiYWRvczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii90cmluaWRhZCI+PGltZyBzcmM9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vbWVkaWEvd3lzaXd5Zy90cmluaWRhZC1mbGFnLnBuZyIgYWx0PSIiIC8+VHJpbmlkYWQ8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCjwvZGl2Pg0KPHNwYW4gc3R5bGU9InBhZGRpbmc6IDBweCA1cHggMHB4IDVweDsiPnw8L3NwYW4+IDxhIGhyZWY9Imh0dHA6Ly93d3cubGlsaXBsdW0uY29tLyI+VmlzaXQgb3VyIHNpc3RlciBzaXRlIDxpbWcgc3JjPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL21lZGlhL3d5c2l3eWcvc2lzdGVyLWxvZ28ucG5nIiBhbHQ9IiIgLz48L2E+IDxzcGFuIHN0eWxlPSJwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7Ij58PC9zcGFuPjwvZGl2PjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIGl0ZW0tbGVmdCBoaWRlLWJlbG93LTk2MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0id2VsY29tZS1tc2ciPiA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQ6IGdyaWQtOCAtLT4KCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1tZW51IGNsZWFyZXIgdi1ncmlkIGdyaWQxMi05Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlci1wMCAgc2VhcmNoLXdyYXBwZXIgc2VhcmNoLXdyYXBwZXItbW9iaWxlIj48Zm9ybSBpZD0ic2VhcmNoX21pbmlfZm9ybSIgYWN0aW9uPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2NhdGFsb2dzZWFyY2gvcmVzdWx0LyIgbWV0aG9kPSJnZXQiPgogICAgPGRpdiBjbGFzcz0iZm9ybS1zZWFyY2giPgogICAgICAgIDxsYWJlbCBmb3I9InNlYXJjaCI+U2VhcmNoOjwvbGFiZWw+CiAgICAgICAgPGlucHV0IGlkPSJzZWFyY2giIHR5cGU9InRleHQiIG5hbWU9InEiIHZhbHVlPSIiIGNsYXNzPSJpbnB1dC10ZXh0IiBtYXhsZW5ndGg9IjEyOCIgLz4KICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgdGl0bGU9IlNlYXJjaCIgY2xhc3M9ImJ1dHRvbiI+PHNwYW4+PHNwYW4+U2VhcmNoPC9zcGFuPjwvc3Bhbj48L2J1dHRvbj4KICAgICAgICA8ZGl2IGlkPSJzZWFyY2hfYXV0b2NvbXBsZXRlIiBjbGFzcz0ic2VhcmNoLWF1dG9jb21wbGV0ZSI+PC9kaXY+CiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIC8vPCFbQ0RBVEFbCiAgICAgICAgICAgIHZhciBzZWFyY2hGb3JtID0gbmV3IFZhcmllbi5zZWFyY2hGb3JtKCdzZWFyY2hfbWluaV9mb3JtJywgJ3NlYXJjaCcsICdTZWFyY2ggZW50aXJlIHN0b3JlIGhlcmUuLi4nKTsKICAgICAgICAgICAgc2VhcmNoRm9ybS5pbml0QXV0b2NvbXBsZXRlKCdodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2NhdGFsb2dzZWFyY2gvYWpheC9zdWdnZXN0LycsICdzZWFyY2hfYXV0b2NvbXBsZXRlJyk7CiAgICAgICAgLy9dXT4KICAgICAgICA8L3NjcmlwdD4KICAgIDwvZGl2Pgo8L2Zvcm0+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAo8ZGl2IGlkPSJtaW5pLWNhcnQiIGNsYXNzPSJkcm9wZG93biBpcy1lbXB0eSI+CgogICAgPGRpdiBjbGFzcz0iZHJvcGRvd24tdG9nZ2xlIGNvdmVyIiB0aXRsZT0iWW91IGhhdmUgbm8gaXRlbXMgaW4geW91ciBzaG9wcGluZyBjYXJ0LiI+CiAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWljb24taG92ZXIiPgogICAgCiAgICAJPHNwYW4gY2xhc3M9ImZpcnN0IGNsb3NlLXRvLXRleHQgaWNvbiBpLWNhcnQgZm9yY2Utbm8tYmctY29sb3IiPiZuYnNwOzwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJoaWRlLWJlbG93LTk2MCI+Q2FydDwvZGl2PgoJCSAgICAgICAgCTxkaXYgY2xhc3M9ImVtcHR5Ij48c3BhbiBjbGFzcz0icHJpY2UiPkJEJDAuMDA8L3NwYW4+PC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZXQiPiZuYnNwOzwvc3Bhbj4KCgk8L2Rpdj4gPCEtLSBlbmQ6IGRyb3Bkb3duLXRvZ2dsZSA+IGRpdiAtLT4KICAgIDwvZGl2PiA8IS0tIGVuZDogZHJvcGRvd24tdG9nZ2xlIC0tPgogICAgCiAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IGxlZnQtaGFuZCBibG9jayI+CiAgICAgICAgCTxkaXYgY2xhc3M9ImJsb2NrLWNvbnRlbnQtaW5uZXIiPgoKCQkJCSAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eSI+WW91IGhhdmUgbm8gaXRlbXMgaW4geW91ciBzaG9wcGluZyBjYXJ0LjwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBibG9jay1jb250ZW50LWlubmVyIC0tPgoJCTwvZGl2PiA8IS0tIGVuZDogZHJvcGRvd24tbWVudSAtLT4KICAgIAo8L2Rpdj4gPCEtLSBlbmQ6IG1pbmktY2FydCAtLT4KCgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlua3MgZHdlbGxpbmdzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7bGluZS1oZWlnaHQ6IDIuOWVtO2Zsb2F0OiBsZWZ0OyI+fDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii93aXNobGlzdC8iPldpc2hsaXN0PC9hPiA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9InBhZGRpbmc6IDBweCA1cHggMHB4IDVweDtsaW5lLWhlaWdodDogMi45ZW07Ij58PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAKPGRpdiBpZD0icXVpY2stY29tcGFyZSIgY2xhc3M9ImRyb3Bkb3duIHF1aWNrLWNvbXBhcmUgaXMtZW1wdHkiPgoKICAgIDxkaXYgY2xhc3M9ImRyb3Bkb3duLXRvZ2dsZSBjb3ZlciIgdGl0bGU9IllvdSBoYXZlIG5vIGl0ZW1zIHRvIGNvbXBhcmUuIj4KICAgIAk8ZGl2IGNsYXNzPSJmZWF0dXJlLWljb24taG92ZXIiPgogICAgICAgIAk8c3BhbiBjbGFzcz0iZmlyc3QgY2xvc2UtdG8tdGV4dCBpY29uIGktY29tcGFyZSBmb3JjZS1uby1iZy1jb2xvciI+Jm5ic3A7PC9zcGFuPgoJICAgICAgICA8ZGl2IGNsYXNzPSJoaWRlLWJlbG93LTEyODAiPkNvbXBhcmU8L2Rpdj4KCQkJICAgICAgICAgICAgCTxkaXYgY2xhc3M9ImFtb3VudCI+KDApPC9kaXY+CgkJCSAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJldCI+Jm5ic3A7PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkcm9wZG93bi1tZW51IGxlZnQtaGFuZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5Ij5Zb3UgaGF2ZSBubyBpdGVtcyB0byBjb21wYXJlLjwvZGl2PgogICAgICAgIDwvZGl2PjwhLS0gZW5kOiBkcm9wZG93bi1tZW51IC0tPgoKPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AtbGlua3MgbGlua3Mtd3JhcHBlci1zZXBhcmF0b3JzLWxlZnQiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPHVsIGNsYXNzPSJsaW5rcyI+CiAgICAgICAgICAgIAoJCQkKICAgICAgICAgICAgPGxpIGNsYXNzPSJmaXJzdCIgPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2N1c3RvbWVyL2FjY291bnQvIiB0aXRsZT0iQWNjb3VudCIgPkFjY291bnQ8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3dpc2hsaXN0LyIgdGl0bGU9Ildpc2hsaXN0IiA+V2lzaGxpc3Q8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAKCQkJCiAgICAgICAgICAgIDxsaSAgPjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vZ2lmdHMvZXZlbnQvIiB0aXRsZT0iTXkgR2lmdCBSZWdpc3RyeSIgY2xhc3M9InRvcC1saW5rLWFkamdpZnRyZWciPk15IEdpZnQgUmVnaXN0cnk8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAKCQkJCiAgICAgICAgICAgIDxsaSAgPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2N1c3RvbWVyL2FjY291bnQvbG9naW4vIiB0aXRsZT0iTG9nIEluIiA+TG9nIEluPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgCgkJCQogICAgICAgICAgICA8bGkgY2xhc3M9IiBsYXN0IiBpZD0ibGluay1zaWduLXVwIj48YSBocmVmPSJodHRwczovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9jdXN0b21lci9hY2NvdW50L2NyZWF0ZS8iIHRpdGxlPSJTaWduIFVwIiA+U2lnbiBVcDwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgo8dWwgY2xhc3M9ImxpbmtzIGR3ZWxsaW5ncyI+CQ0KICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ii9jdXN0b21lci9hY2NvdW50L2xvZ2luIj5Mb2cgaW48L2E+IDwvbGk+CiAgICAgICANCiAgICAgICAgICAgPHNwYW4gc3R5bGU9InBhZGRpbmc6IDBweCA1cHggMHB4IDVweDtsaW5lLWhlaWdodDogMi45ZW07Ij58PC9zcGFuPg0KIDwvdWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQ6IHRvcC1saW5rcyAtLT4KCiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gPCEtLSBlbmQ6IHVzZXItbWVudSAtLT4KCiAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZDogZ3JpZC1mdWxsIC0tPgogICAgICAgIDwvZGl2PiA8IS0tIGVuZDogaGVhZGVyLXByaW1hcnkgLS0+CiAgICA8L2Rpdj4gPCEtLSBlbmQ6IGhlYWRlci1wcmltYXJ5LWNvbnRhaW5lciAtLT4KCiAgICA8ZGl2IGNsYXNzPSJuYXYtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJuYXYgY29udGFpbmVyIGNsZWFyZXIgc2hvdy1iZyBoYXMtb3V0bGluZSI+CiAgICAgICAgICAgIAogICAgCgoKICAgIAogICAgCiAgICAgICAgPGRpdiBpZD0ibW9ibmF2IiBjbGFzcz0iZ3JpZC1mdWxsIj4KICAgICAgICAgICAgPGEgaWQ9Im1vYm5hdi10cmlnZ2VyIiBocmVmPSIiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRyaWdnZXItaWNvbiI+PHNwYW4gY2xhc3M9ImxpbmUiPjwvc3Bhbj48c3BhbiBjbGFzcz0ibGluZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJsaW5lIj48L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+TWVudTwvc3Bhbj4KICAgICAgICAgICAgPC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8dWwgY2xhc3M9ImFjY29yZGlvbiB2ZXJ0bmF2IHZlcnRuYXYtdG9wIGdyaWQtZnVsbCI+CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImxldmVsMCBuYXYtMSBsZXZlbC10b3AgZmlyc3QgbGFzdCBwYXJlbnQiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AiIGNsYXNzPSJsZXZlbC10b3AiPgo8c3Bhbj5TaG9wIEFsbCBEZXBhcnRtZW50czwvc3Bhbj4KPC9hPgo8c3BhbiBjbGFzcz0ib3BlbmVyIj4mbmJzcDs8L3NwYW4+Cgo8dWwgY2xhc3M9ImxldmVsMCI+CjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0xLTEgZmlyc3QgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2JlZC1iYXRoIj4KPHNwYW4+QmVkICZhbXA7IEJhdGg8L3NwYW4+CjwvYT4KPHNwYW4gY2xhc3M9Im9wZW5lciI+Jm5ic3A7PC9zcGFuPgoKPHVsIGNsYXNzPSJsZXZlbDEiPgo8bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0xLTEgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgvYmF0aC1hY2Nlc3NvcmllcyI+CjxzcGFuPkJhdGggQWNjZXNzb3JpZXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0xLTIiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgvYmVkLWxpbmVucyI+CjxzcGFuPkJlZCBMaW5lbnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0xLTMiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgvYmF0aC1saW5lbnMiPgo8c3Bhbj5CYXRoIExpbmVuczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTEtNCBsYXN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2JlZC1iYXRoL29yZ2FuaXNhdGlvbiI+CjxzcGFuPk9yZ2FuaXNhdGlvbjwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMSBuYXYtMS0yIHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvciI+CjxzcGFuPkRlY29yPC9zcGFuPgo8L2E+CjxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4KCjx1bCBjbGFzcz0ibGV2ZWwxIj4KPGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtMi01IGZpcnN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2Jhc2tldHMiPgo8c3Bhbj5CYXNrZXRzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtMi02Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2Jvb2tzLWFuZC1tdXNpYyI+CjxzcGFuPkJvb2tzIEFuZCBNdXNpYzwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItNyI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9ib3RhbmljYWxzIj4KPHNwYW4+Qm90YW5pY2Fsczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItOCBwYXJlbnQiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvY2FuZGxlcyI+CjxzcGFuPkNhbmRsZXM8L3NwYW4+CjwvYT4KPHNwYW4gY2xhc3M9Im9wZW5lciI+Jm5ic3A7PC9zcGFuPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMS0yLTgtMSBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9jYW5kbGVzL3BpbGxhci1jYW5kbGVzIj4KPHNwYW4+UGlsbGFyIENhbmRsZXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMS0yLTgtMiI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9jYW5kbGVzL3NjZW50ZWQtY2FuZGxlcyI+CjxzcGFuPlNjZW50ZWQgQ2FuZGxlczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwzIG5hdi0xLTItOC0zIGxhc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvY2FuZGxlcy9jYW5kbGUtaG9sZGVycyI+CjxzcGFuPkNhbmRsZSBIb2xkZXJzPC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItOSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9jdXJ0YWluLXJvZHMtcGFuZWxzIj4KPHNwYW4+Q3VydGFpbiBSb2RzICZhbXA7IFBhbmVsczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItMTAiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvZnJhbWVzLWFsYnVtcyI+CjxzcGFuPkZyYW1lcyAmYW1wOyBBbGJ1bXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0yLTExIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL3NlYXNvbmFsIj4KPHNwYW4+U2Vhc29uYWw8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0yLTEyIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2hvbWUtYWNjZW50cyI+CjxzcGFuPkhvbWUgQWNjZW50czwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItMTMiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvbGlnaHRpbmciPgo8c3Bhbj5MaWdodGluZzwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItMTQgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL3BpbGxvd3MtdGhyb3dzIj4KPHNwYW4+UGlsbG93cyAmYW1wOyBUaHJvd3M8L3NwYW4+CjwvYT4KPHNwYW4gY2xhc3M9Im9wZW5lciI+Jm5ic3A7PC9zcGFuPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMS0yLTE0LTQgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvcGlsbG93cy10aHJvd3MvcGlsbG93cyI+CjxzcGFuPlBpbGxvd3M8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMS0yLTE0LTUgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9waWxsb3dzLXRocm93cy90aHJvd3MiPgo8c3Bhbj5UaHJvd3M8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtMi0xNSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9wcmludHMtd2FsbC1kZWNvciI+CjxzcGFuPlByaW50cyAmYW1wOyBXYWxsIERlY29yPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtMi0xNiI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9ydWdzIj4KPHNwYW4+UnVnczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTItMTcgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci92YXNlcy1ib3dscyI+CjxzcGFuPlZhc2VzICZhbXA7IEJvd2xzPC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0xLTMgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZyI+CjxzcGFuPkRpbmluZzwvc3Bhbj4KPC9hPgo8c3BhbiBjbGFzcz0ib3BlbmVyIj4mbmJzcDs8L3NwYW4+Cgo8dWwgY2xhc3M9ImxldmVsMSI+CjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTMtMTggZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGluaW5nL2RyaW5rd2FyZSI+CjxzcGFuPkRyaW5rd2FyZTwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTMtMTkiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGluaW5nL2ZsYXR3YXJlIj4KPHNwYW4+RmxhdHdhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0zLTIwIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZy9zZXJ2ZXdhcmUiPgo8c3Bhbj5TZXJ2ZXdhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0zLTIxIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZy90YWJsZS1saW5lbnMiPgo8c3Bhbj5UYWJsZSBMaW5lbnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS0zLTIyIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZy9kaW5uZXJ3YXJlIj4KPHNwYW4+RGlubmVyd2FyZTwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTMtMjMgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kaW5pbmcvaG9saWRheS1kaW5pbmciPgo8c3Bhbj5Ib2xpZGF5IERpbmluZzwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMSBuYXYtMS00IHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUiPgo8c3Bhbj5GdXJuaXR1cmU8L3NwYW4+CjwvYT4KPHNwYW4gY2xhc3M9Im9wZW5lciI+Jm5ic3A7PC9zcGFuPgoKPHVsIGNsYXNzPSJsZXZlbDEiPgo8bGkgY2xhc3M9ImxldmVsMiBuYXYtMS00LTI0IGZpcnN0IHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvYmVkcm9vbSI+CjxzcGFuPkJlZHJvb208L3NwYW4+CjwvYT4KPHNwYW4gY2xhc3M9Im9wZW5lciI+Jm5ic3A7PC9zcGFuPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMS00LTI0LTYgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlL2JlZHJvb20vYmVkcy1oZWFkYm9hcmRzIj4KPHNwYW4+QmVkcyAmYW1wOyBIZWFkYm9hcmRzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTEtNC0yNC03Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9iZWRyb29tL25pZ2h0c3RhbmRzLWRyZXNzZXJzIj4KPHNwYW4+TmlnaHRzdGFuZHMgJmFtcDsgRHJlc3NlcnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMS00LTI0LTggbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvYmVkcm9vbS9tYXR0cmVzc2VzIj4KPHNwYW4+TWF0dHJlc3Nlczwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS00LTI1IHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvZGluaW5nLXJvb20iPgo8c3Bhbj5EaW5pbmcgUm9vbTwvc3Bhbj4KPC9hPgo8c3BhbiBjbGFzcz0ib3BlbmVyIj4mbmJzcDs8L3NwYW4+Cgo8dWwgY2xhc3M9ImxldmVsMiI+CjxsaSBjbGFzcz0ibGV2ZWwzIG5hdi0xLTQtMjUtOSBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvZGluaW5nLXJvb20vZGluaW5nLWNoYWlycyI+CjxzcGFuPkRpbmluZyBDaGFpcnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMS00LTI1LTEwIGxhc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlL2RpbmluZy1yb29tL2RpbmluZy10YWJsZXMiPgo8c3Bhbj5EaW5pbmcgVGFibGVzPC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTQtMjYgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9saXZpbmctcm9vbSI+CjxzcGFuPkxpdmluZyBSb29tPC9zcGFuPgo8L2E+CjxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4KCjx1bCBjbGFzcz0ibGV2ZWwyIj4KPGxpIGNsYXNzPSJsZXZlbDMgbmF2LTEtNC0yNi0xMSBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvbGl2aW5nLXJvb20vc29mYXMiPgo8c3Bhbj5Tb2Zhczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwzIG5hdi0xLTQtMjYtMTIiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlL2xpdmluZy1yb29tL2FjY2VudC1jaGFpcnMiPgo8c3Bhbj5BY2NlbnQgQ2hhaXJzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTEtNC0yNi0xMyI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvbGl2aW5nLXJvb20vb2NjYXNpb25hbC10YWJsZXMiPgo8c3Bhbj5PY2Nhc2lvbmFsIFRhYmxlczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwzIG5hdi0xLTQtMjYtMTQgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvbGl2aW5nLXJvb20vZW50ZXJ0YWlubWVudC11bml0cyI+CjxzcGFuPkVudGVydGFpbm1lbnQgVW5pdHM8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtNC0yNyBsYXN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9vdXRkb29yLWZ1cm5pdHVyZSI+CjxzcGFuPk91dGRvb3IgRnVybml0dXJlPC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0xLTUgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4iPgo8c3Bhbj5LaXRjaGVuPC9zcGFuPgo8L2E+CjxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4KCjx1bCBjbGFzcz0ibGV2ZWwxIj4KPGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtNS0yOCBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL2Jha2V3YXJlIj4KPHNwYW4+QmFrZXdhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS01LTI5Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vY29mZmVlLXRlYSI+CjxzcGFuPkNvZmZlZSAmYW1wOyBUZWE8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS01LTMwIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vY29va2Jvb2tzIj4KPHNwYW4+Q29va2Jvb2tzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtNS0zMSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL2Nvb2t3YXJlIj4KPHNwYW4+Q29va3dhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS01LTMyIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vY3V0bGVyeS1hY2Nlc3NvcmllcyI+CjxzcGFuPkN1dGxlcnkgJmFtcDsgQWNjZXNzb3JpZXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS01LTMzIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vZ2FkZ2V0cy11dGVuc2lscyI+CjxzcGFuPkdhZGdldHMgJmFtcDsgVXRlbnNpbHM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS01LTM0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vZ291cm1ldCI+CjxzcGFuPkdvdXJtZXQ8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS01LTM1Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vZ3JpbGxpbmciPgo8c3Bhbj5HcmlsbGluZzwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTUtMzYiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Ava2l0Y2hlbi9raXRjaGVuLWxpbmVucyI+CjxzcGFuPktpdGNoZW4gTGluZW5zPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtNS0zNyI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL3NtYWxsLWVsZWN0cmljcyI+CjxzcGFuPlNtYWxsIEVsZWN0cmljczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTUtMzgiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Ava2l0Y2hlbi9zdG9yYWdlIj4KPHNwYW4+U3RvcmFnZTwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTUtMzkgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL3V0aWxpdHkiPgo8c3Bhbj5VdGlsaXR5PC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0xLTYgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL3NsZWVwLWdhbGxlcnkiPgo8c3Bhbj5TbGVlcCBHYWxsZXJ5PC9zcGFuPgo8L2E+CjxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4KCjx1bCBjbGFzcz0ibGV2ZWwxIj4KPGxpIGNsYXNzPSJsZXZlbDIgbmF2LTEtNi00MCBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9zbGVlcC1nYWxsZXJ5L21hdHRyZXNzZXMtNjQ3NCI+CjxzcGFuPk1hdHRyZXNzZXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMS02LTQxIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL3NsZWVwLWdhbGxlcnkvYmVkZGluZy1iYXNpY3MiPgo8c3Bhbj5CZWRkaW5nIEJhc2ljczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0xLTYtNDIgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9zbGVlcC1nYWxsZXJ5L21hdHRyZXNzLWJhc2VzIj4KPHNwYW4+TWF0dHJlc3MgQmFzZXM8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDEgbmF2LTEtNyBsYXN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL3Nob3AtZGlubmVyd2FyZS1zZXJ2ZXdhcmUiPgo8c3Bhbj5EaW5uZXJ3YXJlICZhbXA7IFNlcnZld2FyZTwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT4gICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTQgbGV2ZWwtdG9wIj4NCjxhIGhyZWY9Ii9zcGVjaWFsL25ldyIgY2xhc3M9ImxldmVsLXRvcCI+PHNwYW4+TmV3PC9zcGFuPjwvYT4NCjwvbGk+DQo8bGkgY2xhc3M9ImxldmVsMCBuYXYtNCBsZXZlbC10b3AiPg0KPGEgaHJlZj0iL2R3ZWxsaW5ncy1kZXNpZ24tc3R1ZGlvIiBjbGFzcz0ibGV2ZWwtdG9wIj48c3Bhbj5EZXNpZ24gU3R1ZGlvPC9zcGFuPjwvYT4NCjwvbGk+DQo8bGkgY2xhc3M9ImxldmVsMCBuYXYtNCBsZXZlbC10b3AiPg0KPGEgaHJlZj0iL3Nob3Avc2xlZXAtZ2FsbGVyeSIgY2xhc3M9ImxldmVsLXRvcCI+PHNwYW4+U2xlZXAgR2FsbGVyeTwvc3Bhbj48L2E+DQo8L2xpPg0KPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTQgbGV2ZWwtdG9wIj4NCjxhIGhyZWY9Ii9naWZ0LXJlZ2lzdHJ5IiBjbGFzcz0ibGV2ZWwtdG9wIj48c3Bhbj5HaWZ0IFJlZ2lzdHJ5PC9zcGFuPjwvYT4NCjwvbGk+DQo8bGkgY2xhc3M9ImxldmVsMCBuYXYtOCBsZXZlbC10b3AgcGFyZW50IGdpZnQiPg0KPGEgaHJlZj0iIyIgY2xhc3M9ImxldmVsLXRvcCIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyBjdXJzb3I6IGRlZmF1bHQ7Ij4NCjxzcGFuIHN0eWxlPSJjb2xvcjogIzAwOWM3ZTsiPkdpZnQgPGltZyBzcmM9Ii9tZWRpYS9zeW5jcm9pdC9naWZ0LmpwZyIvPiBGaW5kZXI8L3NwYW4+PHNwYW4gY2xhc3M9ImNhcmV0Ij4mbmJzcDs8L3NwYW4+DQo8L2E+DQo8dWwgY2xhc3M9ImxldmVsMCI+DQo8bGkgY2xhc3M9ImZpbmQtZ2lmdCI+DQo8c3Bhbj5GaW5kIFRoZSBQZXJmZWN0IEdpZnQ8L3NwYW4+DQo8Zm9ybSBpZD0iZ2lmdC1maW5kZXIiIGFjdGlvbj0iIj4NCiAgPHNlbGVjdCBjbGFzcz0iY2F0ZWdvcnkiPiANCiAgICA8b3B0aW9uIHZhbHVlPSIiPlNlbGVjdCBhIENhdGVnb3J5PC9vcHRpb24+IA0KICAgIDxvcHRpb24gdmFsdWU9ImZvci1oaW0iID5Gb3IgSGltPC9vcHRpb24+IA0KICAgIDxvcHRpb24gdmFsdWU9ImZvci1oZXIiPkZvciBIZXI8L29wdGlvbj4NCiAgICA8b3B0aW9uIHZhbHVlPSJmb3ItdGhlLWVudGVydGFpbmVyIj5Gb3IgdGhlIEVudGVydGFpbmVyPC9vcHRpb24+IA0KICAgIDxvcHRpb24gdmFsdWU9ImRlY29yLWxvdmVyIj5Gb3IgdGhlIERlY29yIExvdmVyPC9vcHRpb24+IA0KICAgIDxvcHRpb24gdmFsdWU9ImdpZnRzLWZvci10aGUtY29vayI+Rm9yIHRoZSBDb29rPC9vcHRpb24+IA0KICA8L3NlbGVjdD4gDQogIDxzZWxlY3QgY2xhc3M9InByaWNlIj4gDQogICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgYSBCdWRnZXQ8L29wdGlvbj4gDQogICAgPG9wdGlvbiB2YWx1ZT0iMC0zMCI+QmRzJDAuMDAgLSBCZHMkMjkuOTk8L29wdGlvbj4gDQogICAgPG9wdGlvbiB2YWx1ZT0iMzAtNTAiPkJkcyQzMC4wMCAtIEJkcyQ0OS45OTwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSI1MC0xMDAiPkJkcyQ1MC4wMCAtIEJkcyQ5OS45OTwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSIxMDAtMTUwIj5CZHMkMTAwLjAwIC0gQmRzJDE0OS45OTwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSIxNTAtIj5CZHMkMTUwLjAwIGFuZCBhYm92ZTwvb3B0aW9uPg0KICA8L3NlbGVjdD4NCjxkaXYgY2xhc3M9ImFjdGlvbnMgY2xlYXJlciI+PGJ1dHRvbiB0eXBlPSJzdWJtaXQiIHRpdGxlPSJGaW5kIEdpZnRzIiBjbGFzcz0iYnV0dG9uIGJ0bi1jYXJ0IiA+PHNwYW4+PHNwYW4+RmluZCBHaWZ0czwvc3Bhbj48L3NwYW4+PC9idXR0b24+PC9kaXY+DQo8L2Zvcm0+DQo8L2xpPg0KPC91bD4NCjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4NCiAgICBqUXVlcnkoJ2Zvcm0jZ2lmdC1maW5kZXInKS5vbignc3VibWl0JywgZnVuY3Rpb24gKGV2ZW50KSB7DQogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIHZhciBjYXQgICA9IGpRdWVyeSh0aGlzKS5maW5kKCcuY2F0ZWdvcnknKS5maW5kKCI6c2VsZWN0ZWQiKS52YWwoKTsNCiAgICAgICAgdmFyIHByaWNlID0galF1ZXJ5KHRoaXMpLmZpbmQoJy5wcmljZScpLmZpbmQoIjpzZWxlY3RlZCIpLnZhbCgpOw0KICAgICAgICBsb2NhdGlvbi5ocmVmID0gJy9naWZ0LWZpbmRlci8nICsgY2F0ICsgJz9wcmljZT0nICsgcHJpY2U7DQogICAgIH0pOyAgDQo8L3NjcmlwdD4NCjwvbGk+DQo8bGkgY2xhc3M9ImxldmVsMCBuYXYtNCBsZXZlbC10b3AiPg0KPGEgaHJlZj0iL3ZpcnR1YWxfdG91ciIgY2xhc3M9ImxldmVsLXRvcCI+PHNwYW4+VmlydHVhbCBTaG93cm9vbTwvc3Bhbj48L2E+DQo8L2xpPg0KPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTQgbGV2ZWwtdG9wIj4NCjxhIGhyZWY9Ii9zcGVjaWFsL3NhbGUiIGNsYXNzPSJsZXZlbC10b3AiPjxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7Ij5TQUxFPC9zcGFuPjwvYT4NCjwvbGk+CiAgICAgICAgPC91bD4KCiAgICAKCgogICAgCiAgICAKICAgICAgICA8dWwgaWQ9Im5hdiIgY2xhc3M9ImdyaWQtZnVsbCBjbGFzc2ljIj4KICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTIgbGV2ZWwtdG9wIGZpcnN0IGxhc3QgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wIiBjbGFzcz0ibGV2ZWwtdG9wIj4KPHNwYW4+U2hvcCBBbGwgRGVwYXJ0bWVudHM8L3NwYW4+PHNwYW4gY2xhc3M9ImNhcmV0Ij4mbmJzcDs8L3NwYW4+CjwvYT4KCjx1bCBjbGFzcz0ibGV2ZWwwIj4KPGxpIGNsYXNzPSJsZXZlbDEgbmF2LTItMSBmaXJzdCBwYXJlbnQiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgiPgo8c3Bhbj5CZWQgJmFtcDsgQmF0aDwvc3Bhbj4KPC9hPgoKPHVsIGNsYXNzPSJsZXZlbDEiPgo8bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0xLTEgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgvYmF0aC1hY2Nlc3NvcmllcyI+CjxzcGFuPkJhdGggQWNjZXNzb3JpZXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0xLTIiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgvYmVkLWxpbmVucyI+CjxzcGFuPkJlZCBMaW5lbnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0xLTMiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvYmVkLWJhdGgvYmF0aC1saW5lbnMiPgo8c3Bhbj5CYXRoIExpbmVuczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTEtNCBsYXN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2JlZC1iYXRoL29yZ2FuaXNhdGlvbiI+CjxzcGFuPk9yZ2FuaXNhdGlvbjwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMSBuYXYtMi0yIHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvciI+CjxzcGFuPkRlY29yPC9zcGFuPgo8L2E+Cgo8dWwgY2xhc3M9ImxldmVsMSI+CjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTItNSBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9iYXNrZXRzIj4KPHNwYW4+QmFza2V0czwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTItNiI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9ib29rcy1hbmQtbXVzaWMiPgo8c3Bhbj5Cb29rcyBBbmQgTXVzaWM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0yLTciPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvYm90YW5pY2FscyI+CjxzcGFuPkJvdGFuaWNhbHM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0yLTggcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2NhbmRsZXMiPgo8c3Bhbj5DYW5kbGVzPC9zcGFuPgo8L2E+Cgo8dWwgY2xhc3M9ImxldmVsMiI+CjxsaSBjbGFzcz0ibGV2ZWwzIG5hdi0yLTItOC0xIGZpcnN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2NhbmRsZXMvcGlsbGFyLWNhbmRsZXMiPgo8c3Bhbj5QaWxsYXIgQ2FuZGxlczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwzIG5hdi0yLTItOC0yIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2NhbmRsZXMvc2NlbnRlZC1jYW5kbGVzIj4KPHNwYW4+U2NlbnRlZCBDYW5kbGVzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTItMi04LTMgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9jYW5kbGVzL2NhbmRsZS1ob2xkZXJzIj4KPHNwYW4+Q2FuZGxlIEhvbGRlcnM8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMi05Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RlY29yL2N1cnRhaW4tcm9kcy1wYW5lbHMiPgo8c3Bhbj5DdXJ0YWluIFJvZHMgJmFtcDsgUGFuZWxzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMi0xMCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9mcmFtZXMtYWxidW1zIj4KPHNwYW4+RnJhbWVzICZhbXA7IEFsYnVtczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTItMTEiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3Ivc2Vhc29uYWwiPgo8c3Bhbj5TZWFzb25hbDwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTItMTIiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvaG9tZS1hY2NlbnRzIj4KPHNwYW4+SG9tZSBBY2NlbnRzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMi0xMyI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9saWdodGluZyI+CjxzcGFuPkxpZ2h0aW5nPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMi0xNCBwYXJlbnQiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvcGlsbG93cy10aHJvd3MiPgo8c3Bhbj5QaWxsb3dzICZhbXA7IFRocm93czwvc3Bhbj4KPC9hPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMi0yLTE0LTQgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGVjb3IvcGlsbG93cy10aHJvd3MvcGlsbG93cyI+CjxzcGFuPlBpbGxvd3M8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMi0yLTE0LTUgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9waWxsb3dzLXRocm93cy90aHJvd3MiPgo8c3Bhbj5UaHJvd3M8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMi0xNSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9wcmludHMtd2FsbC1kZWNvciI+CjxzcGFuPlByaW50cyAmYW1wOyBXYWxsIERlY29yPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMi0xNiI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci9ydWdzIj4KPHNwYW4+UnVnczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTItMTcgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kZWNvci92YXNlcy1ib3dscyI+CjxzcGFuPlZhc2VzICZhbXA7IEJvd2xzPC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0yLTMgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZyI+CjxzcGFuPkRpbmluZzwvc3Bhbj4KPC9hPgoKPHVsIGNsYXNzPSJsZXZlbDEiPgo8bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0zLTE4IGZpcnN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZy9kcmlua3dhcmUiPgo8c3Bhbj5Ecmlua3dhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0zLTE5Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2RpbmluZy9mbGF0d2FyZSI+CjxzcGFuPkZsYXR3YXJlPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMy0yMCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kaW5pbmcvc2VydmV3YXJlIj4KPHNwYW4+U2VydmV3YXJlPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMy0yMSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kaW5pbmcvdGFibGUtbGluZW5zIj4KPHNwYW4+VGFibGUgTGluZW5zPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItMy0yMiI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9kaW5pbmcvZGlubmVyd2FyZSI+CjxzcGFuPkRpbm5lcndhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi0zLTIzIGxhc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZGluaW5nL2hvbGlkYXktZGluaW5nIj4KPHNwYW4+SG9saWRheSBEaW5pbmc8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDEgbmF2LTItNCBwYXJlbnQiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlIj4KPHNwYW4+RnVybml0dXJlPC9zcGFuPgo8L2E+Cgo8dWwgY2xhc3M9ImxldmVsMSI+CjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTQtMjQgZmlyc3QgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9iZWRyb29tIj4KPHNwYW4+QmVkcm9vbTwvc3Bhbj4KPC9hPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMi00LTI0LTYgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlL2JlZHJvb20vYmVkcy1oZWFkYm9hcmRzIj4KPHNwYW4+QmVkcyAmYW1wOyBIZWFkYm9hcmRzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTItNC0yNC03Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9iZWRyb29tL25pZ2h0c3RhbmRzLWRyZXNzZXJzIj4KPHNwYW4+TmlnaHRzdGFuZHMgJmFtcDsgRHJlc3NlcnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMi00LTI0LTggbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvYmVkcm9vbS9tYXR0cmVzc2VzIj4KPHNwYW4+TWF0dHJlc3Nlczwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi00LTI1IHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvZGluaW5nLXJvb20iPgo8c3Bhbj5EaW5pbmcgUm9vbTwvc3Bhbj4KPC9hPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMi00LTI1LTkgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlL2RpbmluZy1yb29tL2RpbmluZy1jaGFpcnMiPgo8c3Bhbj5EaW5pbmcgQ2hhaXJzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTItNC0yNS0xMCBsYXN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9kaW5pbmctcm9vbS9kaW5pbmctdGFibGVzIj4KPHNwYW4+RGluaW5nIFRhYmxlczwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi00LTI2IHBhcmVudCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvbGl2aW5nLXJvb20iPgo8c3Bhbj5MaXZpbmcgUm9vbTwvc3Bhbj4KPC9hPgoKPHVsIGNsYXNzPSJsZXZlbDIiPgo8bGkgY2xhc3M9ImxldmVsMyBuYXYtMi00LTI2LTExIGZpcnN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9saXZpbmctcm9vbS9zb2ZhcyI+CjxzcGFuPlNvZmFzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTItNC0yNi0xMiI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9mdXJuaXR1cmUvbGl2aW5nLXJvb20vYWNjZW50LWNoYWlycyI+CjxzcGFuPkFjY2VudCBDaGFpcnM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMyBuYXYtMi00LTI2LTEzIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9saXZpbmctcm9vbS9vY2Nhc2lvbmFsLXRhYmxlcyI+CjxzcGFuPk9jY2FzaW9uYWwgVGFibGVzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDMgbmF2LTItNC0yNi0xNCBsYXN0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2Z1cm5pdHVyZS9saXZpbmctcm9vbS9lbnRlcnRhaW5tZW50LXVuaXRzIj4KPHNwYW4+RW50ZXJ0YWlubWVudCBVbml0czwvc3Bhbj4KPC9hPgo8L2xpPgo8L3VsPgoKPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi00LTI3IGxhc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3AvZnVybml0dXJlL291dGRvb3ItZnVybml0dXJlIj4KPHNwYW4+T3V0ZG9vciBGdXJuaXR1cmU8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+PGxpIGNsYXNzPSJsZXZlbDEgbmF2LTItNSBwYXJlbnQiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Ava2l0Y2hlbiI+CjxzcGFuPktpdGNoZW48L3NwYW4+CjwvYT4KCjx1bCBjbGFzcz0ibGV2ZWwxIj4KPGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItNS0yOCBmaXJzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL2Jha2V3YXJlIj4KPHNwYW4+QmFrZXdhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi01LTI5Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vY29mZmVlLXRlYSI+CjxzcGFuPkNvZmZlZSAmYW1wOyBUZWE8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi01LTMwIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vY29va2Jvb2tzIj4KPHNwYW4+Q29va2Jvb2tzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItNS0zMSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL2Nvb2t3YXJlIj4KPHNwYW4+Q29va3dhcmU8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi01LTMyIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vY3V0bGVyeS1hY2Nlc3NvcmllcyI+CjxzcGFuPkN1dGxlcnkgJmFtcDsgQWNjZXNzb3JpZXM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi01LTMzIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vZ2FkZ2V0cy11dGVuc2lscyI+CjxzcGFuPkdhZGdldHMgJmFtcDsgVXRlbnNpbHM8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi01LTM0Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vZ291cm1ldCI+CjxzcGFuPkdvdXJtZXQ8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi01LTM1Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL2tpdGNoZW4vZ3JpbGxpbmciPgo8c3Bhbj5HcmlsbGluZzwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTUtMzYiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Ava2l0Y2hlbi9raXRjaGVuLWxpbmVucyI+CjxzcGFuPktpdGNoZW4gTGluZW5zPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItNS0zNyI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL3NtYWxsLWVsZWN0cmljcyI+CjxzcGFuPlNtYWxsIEVsZWN0cmljczwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTUtMzgiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Ava2l0Y2hlbi9zdG9yYWdlIj4KPHNwYW4+U3RvcmFnZTwvc3Bhbj4KPC9hPgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTUtMzkgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9raXRjaGVuL3V0aWxpdHkiPgo8c3Bhbj5VdGlsaXR5PC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0yLTYgcGFyZW50Ij4KPGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zaG9wL3NsZWVwLWdhbGxlcnkiPgo8c3Bhbj5TbGVlcCBHYWxsZXJ5PC9zcGFuPgo8L2E+Cgo8dWwgY2xhc3M9ImxldmVsMSI+CjxsaSBjbGFzcz0ibGV2ZWwyIG5hdi0yLTYtNDAgZmlyc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Avc2xlZXAtZ2FsbGVyeS9tYXR0cmVzc2VzLTY0NzQiPgo8c3Bhbj5NYXR0cmVzc2VzPC9zcGFuPgo8L2E+CjwvbGk+PGxpIGNsYXNzPSJsZXZlbDIgbmF2LTItNi00MSI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9zbGVlcC1nYWxsZXJ5L2JlZGRpbmctYmFzaWNzIj4KPHNwYW4+QmVkZGluZyBCYXNpY3M8L3NwYW4+CjwvYT4KPC9saT48bGkgY2xhc3M9ImxldmVsMiBuYXYtMi02LTQyIGxhc3QiPgo8YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL3Nob3Avc2xlZXAtZ2FsbGVyeS9tYXR0cmVzcy1iYXNlcyI+CjxzcGFuPk1hdHRyZXNzIEJhc2VzPC9zcGFuPgo8L2E+CjwvbGk+CjwvdWw+Cgo8L2xpPjxsaSBjbGFzcz0ibGV2ZWwxIG5hdi0yLTcgbGFzdCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vc2hvcC9zaG9wLWRpbm5lcndhcmUtc2VydmV3YXJlIj4KPHNwYW4+RGlubmVyd2FyZSAmYW1wOyBTZXJ2ZXdhcmU8L3NwYW4+CjwvYT4KPC9saT4KPC91bD4KCjwvbGk+ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibGV2ZWwwIG5hdi00IGxldmVsLXRvcCI+DQo8YSBocmVmPSIvc3BlY2lhbC9uZXciIGNsYXNzPSJsZXZlbC10b3AiPjxzcGFuPk5ldzwvc3Bhbj48L2E+DQo8L2xpPg0KPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTQgbGV2ZWwtdG9wIj4NCjxhIGhyZWY9Ii9kd2VsbGluZ3MtZGVzaWduLXN0dWRpbyIgY2xhc3M9ImxldmVsLXRvcCI+PHNwYW4+RGVzaWduIFN0dWRpbzwvc3Bhbj48L2E+DQo8L2xpPg0KPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTQgbGV2ZWwtdG9wIj4NCjxhIGhyZWY9Ii9zaG9wL3NsZWVwLWdhbGxlcnkiIGNsYXNzPSJsZXZlbC10b3AiPjxzcGFuPlNsZWVwIEdhbGxlcnk8L3NwYW4+PC9hPg0KPC9saT4NCjxsaSBjbGFzcz0ibGV2ZWwwIG5hdi00IGxldmVsLXRvcCI+DQo8YSBocmVmPSIvZ2lmdC1yZWdpc3RyeSIgY2xhc3M9ImxldmVsLXRvcCI+PHNwYW4+R2lmdCBSZWdpc3RyeTwvc3Bhbj48L2E+DQo8L2xpPg0KPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTggbGV2ZWwtdG9wIHBhcmVudCBnaWZ0Ij4NCjxhIGhyZWY9IiMiIGNsYXNzPSJsZXZlbC10b3AiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsgY3Vyc29yOiBkZWZhdWx0OyI+DQo8c3BhbiBzdHlsZT0iY29sb3I6ICMwMDljN2U7Ij5HaWZ0IDxpbWcgc3JjPSIvbWVkaWEvc3luY3JvaXQvZ2lmdC5qcGciLz4gRmluZGVyPC9zcGFuPjxzcGFuIGNsYXNzPSJjYXJldCI+Jm5ic3A7PC9zcGFuPg0KPC9hPg0KPHVsIGNsYXNzPSJsZXZlbDAiPg0KPGxpIGNsYXNzPSJmaW5kLWdpZnQiPg0KPHNwYW4+RmluZCBUaGUgUGVyZmVjdCBHaWZ0PC9zcGFuPg0KPGZvcm0gaWQ9ImdpZnQtZmluZGVyIiBhY3Rpb249IiI+DQogIDxzZWxlY3QgY2xhc3M9ImNhdGVnb3J5Ij4gDQogICAgPG9wdGlvbiB2YWx1ZT0iIj5TZWxlY3QgYSBDYXRlZ29yeTwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSJmb3ItaGltIiA+Rm9yIEhpbTwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSJmb3ItaGVyIj5Gb3IgSGVyPC9vcHRpb24+DQogICAgPG9wdGlvbiB2YWx1ZT0iZm9yLXRoZS1lbnRlcnRhaW5lciI+Rm9yIHRoZSBFbnRlcnRhaW5lcjwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSJkZWNvci1sb3ZlciI+Rm9yIHRoZSBEZWNvciBMb3Zlcjwvb3B0aW9uPiANCiAgICA8b3B0aW9uIHZhbHVlPSJnaWZ0cy1mb3ItdGhlLWNvb2siPkZvciB0aGUgQ29vazwvb3B0aW9uPiANCiAgPC9zZWxlY3Q+IA0KICA8c2VsZWN0IGNsYXNzPSJwcmljZSI+IA0KICAgIDxvcHRpb24gdmFsdWU9IiI+U2VsZWN0IGEgQnVkZ2V0PC9vcHRpb24+IA0KICAgIDxvcHRpb24gdmFsdWU9IjAtMzAiPkJkcyQwLjAwIC0gQmRzJDI5Ljk5PC9vcHRpb24+IA0KICAgIDxvcHRpb24gdmFsdWU9IjMwLTUwIj5CZHMkMzAuMDAgLSBCZHMkNDkuOTk8L29wdGlvbj4gDQogICAgPG9wdGlvbiB2YWx1ZT0iNTAtMTAwIj5CZHMkNTAuMDAgLSBCZHMkOTkuOTk8L29wdGlvbj4gDQogICAgPG9wdGlvbiB2YWx1ZT0iMTAwLTE1MCI+QmRzJDEwMC4wMCAtIEJkcyQxNDkuOTk8L29wdGlvbj4gDQogICAgPG9wdGlvbiB2YWx1ZT0iMTUwLSI+QmRzJDE1MC4wMCBhbmQgYWJvdmU8L29wdGlvbj4NCiAgPC9zZWxlY3Q+DQo8ZGl2IGNsYXNzPSJhY3Rpb25zIGNsZWFyZXIiPjxidXR0b24gdHlwZT0ic3VibWl0IiB0aXRsZT0iRmluZCBHaWZ0cyIgY2xhc3M9ImJ1dHRvbiBidG4tY2FydCIgPjxzcGFuPjxzcGFuPkZpbmQgR2lmdHM8L3NwYW4+PC9zcGFuPjwvYnV0dG9uPjwvZGl2Pg0KPC9mb3JtPg0KPC9saT4NCjwvdWw+DQo8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+DQogICAgalF1ZXJ5KCdmb3JtI2dpZnQtZmluZGVyJykub24oJ3N1Ym1pdCcsIGZ1bmN0aW9uIChldmVudCkgew0KICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICB2YXIgY2F0ICAgPSBqUXVlcnkodGhpcykuZmluZCgnLmNhdGVnb3J5JykuZmluZCgiOnNlbGVjdGVkIikudmFsKCk7DQogICAgICAgIHZhciBwcmljZSA9IGpRdWVyeSh0aGlzKS5maW5kKCcucHJpY2UnKS5maW5kKCI6c2VsZWN0ZWQiKS52YWwoKTsNCiAgICAgICAgbG9jYXRpb24uaHJlZiA9ICcvZ2lmdC1maW5kZXIvJyArIGNhdCArICc/cHJpY2U9JyArIHByaWNlOw0KICAgICB9KTsgIA0KPC9zY3JpcHQ+DQo8L2xpPg0KPGxpIGNsYXNzPSJsZXZlbDAgbmF2LTQgbGV2ZWwtdG9wIj4NCjxhIGhyZWY9Ii92aXJ0dWFsX3RvdXIiIGNsYXNzPSJsZXZlbC10b3AiPjxzcGFuPlZpcnR1YWwgU2hvd3Jvb208L3NwYW4+PC9hPg0KPC9saT4NCjxsaSBjbGFzcz0ibGV2ZWwwIG5hdi00IGxldmVsLXRvcCI+DQo8YSBocmVmPSIvc3BlY2lhbC9zYWxlIiBjbGFzcz0ibGV2ZWwtdG9wIj48c3BhbiBzdHlsZT0iY29sb3I6cmVkOyI+U0FMRTwvc3Bhbj48L2E+DQo8L2xpPiAgICAgICAgICAgIAogICAgICAgIDwvdWw+CgogICAgCgoKICAgIAogICAgCiAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIC8vPCFbQ0RBVEFbCgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhY3RpdmF0ZU1vYmlsZU1lbnUgPSBmdW5jdGlvbigpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoalF1ZXJ5KHdpbmRvdykud2lkdGgoKSA8IDEwMDApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnI21vYm5hdicpLnNob3coKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnLnZlcnRuYXYtdG9wJykuYWRkQ2xhc3MoJ21vYmlsZScpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcjbmF2JykuYWRkQ2xhc3MoJ21vYmlsZScpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcjbmF2JykucmVtb3ZlQ2xhc3MoJ21vYmlsZScpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcudmVydG5hdi10b3AnKS5yZW1vdmVDbGFzcygnbW9iaWxlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoJyNtb2JuYXYnKS5oaWRlKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgYWN0aXZhdGVNb2JpbGVNZW51KCk7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHdpbmRvdykucmVzaXplKGFjdGl2YXRlTW9iaWxlTWVudSk7CiAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoJyNtb2JuYXYtdHJpZ2dlcicpLnRvZ2dsZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkoJy52ZXJ0bmF2LXRvcCcpLmFkZENsYXNzKCdzaG93Jyk7CiAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCdhY3RpdmUnKTsKICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGpRdWVyeSgnLnZlcnRuYXYtdG9wJykucmVtb3ZlQ2xhc3MoJ3Nob3cnKTsKICAgICAgICAgICAgICAgICAgICBqUXVlcnkodGhpcykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAKICAgICAgICAvL11dPgogICAgICAgIDwvc2NyaXB0PgoKICAgIAoKCiAgICAKICAgIAogICAgICAgIDwvZGl2PiA8IS0tIGVuZDogbmF2IC0tPgogICAgPC9kaXY+IDwhLS0gZW5kOiBuYXYtY29udGFpbmVyIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWpRdWVyeSgnbGkubGV2ZWwwLm5hdi0yLmxldmVsLXRvcC5maXJzdC5wYXJlbnQgPiBhLmxldmVsLXRvcCcpLmNsaWNrKGZ1bmN0aW9uKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOyAgIAoJCQlqUXVlcnkoImxpLmxldmVsMC5uYXYtMi5sZXZlbC10b3AuZmlyc3QucGFyZW50ID4gYS5sZXZlbC10b3AiKS5jc3MoImN1cnNvciIsImRlZmF1bHQiKTsKCQl9KTsKCQlqUXVlcnkoJyNuYXYgdWwubGV2ZWwwIGxpJykuaG92ZXIoZnVuY3Rpb24oKXsKCQkJaWYoalF1ZXJ5KHdpbmRvdykud2lkdGgoKSA+IDEwMDApewoJCQkJalF1ZXJ5KHRoaXMpLmZpbmQoJ3VsJykuaGVpZ2h0KGpRdWVyeSh0aGlzKS5wYXJlbnQoKS5oZWlnaHQoKSk7CgkJCX0KCQl9KTsKICAgIDwvc2NyaXB0Pgo8L2Rpdj4gPCEtLSBlbmQ6IGhlYWRlci1jb250YWluZXIzIC0tPgo8L2Rpdj4gPCEtLSBlbmQ6IGhlYWRlci1jb250YWluZXIyIC0tPgo8L2Rpdj4gPCEtLSBlbmQ6IGhlYWRlci1jb250YWluZXIgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi1jb250YWluZXIgY29sMi1yaWdodC1sYXlvdXQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWJlZm9yZS10b3AtY29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFpbiBjb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZWZhY2UgZ3JpZC1mdWxsIGluLWNvbDEiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1haW4gZ3JpZDEyLTkgZ3JpZC1jb2wyLW1haW4gaW4tY29sMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFnZS10aXRsZSI+CiAgICAgICAgPGgxPk9vcHMhIFNvbWV0aGluZyBXZW50IFdyb25nPC9oMT4KICAgIDwvZGl2Pgo8ZGl2IGNsYXNzPSJzdGQiPjxkbD48ZHQ+U29ycnksIHRoZSBwYWdlIHlvdSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kLjwvZHQ+PGRkPg0KPHVsIGNsYXNzPSJkaXNjIj4NCjxsaT5JZiB5b3UgdHlwZWQgdGhlIFVSTCBkaXJlY3RseSwgcGxlYXNlIG1ha2Ugc3VyZSB0aGUgc3BlbGxpbmcgaXMgY29ycmVjdC48L2xpPg0KPGxpPklmIHlvdSBjbGlja2VkIG9uIGEgbGluayB0byBnZXQgaGVyZSwgdGhlIGxpbmsgaXMgb3V0ZGF0ZWQuPC9saT4NCjwvdWw+DQo8L2RkPjwvZGw+PGRsPjxkdD5Vc2VmdWwgTGlua3M6PC9kdD48ZGQ+DQo8dWwgY2xhc3M9ImRpc2MiPg0KPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vIj5Ib21lPC9hPiA8c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj58PC9zcGFuPiA8YSBocmVmPSJodHRwczovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9jdXN0b21lci9hY2NvdW50LyI+TXkgQWNjb3VudDwvYT48L2xpPg0KPGxpPk9yIHVzZSB0aGUgc2VhcmNoIGJhciBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlIHRvIHNlYXJjaCBmb3IgeW91ciBwcm9kdWN0cy48L2xpPg0KPC91bD4NCjwvZGQ+PC9kbD48L2Rpdj4gICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtcmlnaHQgc2lkZWJhciBncmlkMTItMyBncmlkLWNvbDItc2lkZWJhciBpbi1zaWRlYmFyIj48ZGl2IGNsYXNzPSJibG9jayBibG9jay1zdWJzY3JpYmUiPgogICAgPGRpdiBjbGFzcz0iYmxvY2stdGl0bGUiPgogICAgICAgIDxzdHJvbmc+PHNwYW4+RmluZCBBIEdpZnQgUmVnaXN0cnk8L3NwYW4+PC9zdHJvbmc+CiAgICA8L2Rpdj4KICAgIAogICAgPGZvcm0gYWN0aW9uPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2dpZnRzL2luZGV4L3Jlc3VsdC8iIG1ldGhvZD0iZ2V0IiBpZD0iYWRqZ2lmdHJlZy1xdWljay1zZWFyY2giPgogICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrLWNvbnRlbnQiPgogICAgICAgICAgICAKICAgICAgICAgICAgPGxhYmVsIGZvcj0ibG5hbWUiPkxhc3QgTmFtZSA8ZW0+KjwvZW0+PC9sYWJlbD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWJveCI+CiAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0ibG5hbWUiIGlkPSJsbmFtZSIgdmFsdWU9IiIgdGl0bGU9Ikxhc3QgTmFtZSIgIGNsYXNzPSJpbnB1dC10ZXh0IHJlcXVpcmVkLWVudHJ5IiB0eXBlPSJ0ZXh0IiAvPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxsYWJlbCBmb3I9ImZuYW1lIj5GaXJzdCBOYW1lPC9sYWJlbD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtYm94Ij4KICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSJmbmFtZSIgaWQ9ImZuYW1lIiB2YWx1ZT0iIiB0aXRsZT0iRmlyc3QgTmFtZSIgIGNsYXNzPSJpbnB1dC10ZXh0IiB0eXBlPSJ0ZXh0IiAvPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24iIHRpdGxlPSJTZWFyY2ggUmVnaXN0cmllcyIgdHlwZT0ic3VibWl0Ij48c3Bhbj48c3Bhbj5TZWFyY2ggUmVnaXN0cmllczwvc3Bhbj48L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PiAKICAgICAgICA8L2Rpdj4KICAgIDwvZm9ybT4KICAgIAo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci8vPCFbQ0RBVEFbCiAgICB2YXIgYWRqZ2lmdHJlZ1F1aWNrU2VhcmNoID0gbmV3IFZhcmllbkZvcm0oJ2FkamdpZnRyZWctcXVpY2stc2VhcmNoJyk7Ci8vXV0+Cjwvc2NyaXB0Pgo8L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBvc3RzY3JpcHQgZ3JpZC1mdWxsIGluLWNvbDEiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKPGRpdiBjbGFzcz0iZm9vdGVyLWNvbnRhaW5lciI+CjxkaXYgY2xhc3M9ImZvb3Rlci1jb250YWluZXIyIj4KCgk8ZGl2IGNsYXNzPSJmb290ZXItdG9wLWNvbnRhaW5lciBzZWN0aW9uLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXRvcCBmb290ZXIgY29udGFpbmVyICBzaG93LWJnIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1mdWxsIj4KICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGNsZWFyZXIgbGlua3Mtd3JhcHBlci1zZXBhcmF0b3JzIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBpdGVtLWxlZnQiPjx1bCBjbGFzcz0ibGlua3MiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZpcnN0IiA+PGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9jYXRhbG9nL3Nlb19zaXRlbWFwL2NhdGVnb3J5LyIgdGl0bGU9IlNpdGUgTWFwIiA+U2l0ZSBNYXA8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgPjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vY2F0YWxvZ3NlYXJjaC90ZXJtL3BvcHVsYXIvIiB0aXRsZT0iU2VhcmNoIFRlcm1zIiA+U2VhcmNoIFRlcm1zPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpID48YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2NhdGFsb2dzZWFyY2gvYWR2YW5jZWQvIiB0aXRsZT0iQWR2YW5jZWQgU2VhcmNoIiA+QWR2YW5jZWQgU2VhcmNoPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpID48YSBocmVmPSJodHRwczovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9zYWxlcy9ndWVzdC9mb3JtLyIgdGl0bGU9Ik9yZGVycyBhbmQgUmV0dXJucyIgPk9yZGVycyBhbmQgUmV0dXJuczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIGxhc3QiID48YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2NvbnRhY3RzLyIgdGl0bGU9IkNvbnRhY3QgVXMiID5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZDogZm9vdGVyLXRvcCBzZWN0aW9uIC0tPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZDogZ3JpZC1mdWxsIC0tPgogICAgICAgIDwvZGl2PiA8IS0tIGVuZDogZm9vdGVyLXRvcCAtLT4KICAgIDwvZGl2PgoKCgoJICAgIAogICAgICAgIAogICAgPGRpdiBjbGFzcz0iZm9vdGVyLXByaW1hcnktY29udGFpbmVyIHNlY3Rpb24tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItcHJpbWFyeSBmb290ZXIgY29udGFpbmVyIHNob3ctYmcgc2hvdy1iZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtZnVsbCI+CgoJCQkJICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gY2xlYXJlciI+CgkJCQkJPGRpdiBjbGFzcz0iIGdyaWQxMi0zIj4JPGRpdiBjbGFzcz0ic3RkIj48ZGl2IGNsYXNzPSIgZ3JpZDEyLTEyIj4JPGRpdiBjbGFzcz0ic3RkIj48ZGl2IGNsYXNzPSJjb2xsYXBzaWJsZSBtb2JpbGUtY29sbGFwc2libGUiPjxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4NCjwhLS1baWYgbHRlIElFIDhdPg0KPHNjcmlwdCBjaGFyc2V0PSJ1dGYtOCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vanMuaHNmb3Jtcy5uZXQvZm9ybXMvdjItbGVnYWN5LmpzIj48L3NjcmlwdD4NCjwhW2VuZGlmXS0tPg0KPHNjcmlwdCBjaGFyc2V0PSJ1dGYtOCIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vanMuaHNmb3Jtcy5uZXQvZm9ybXMvdjIuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdD4NCiAgaGJzcHQuZm9ybXMuY3JlYXRlKHsgDQogICAgcG9ydGFsSWQ6ICcyMzg4MzA4JywNCiAgICBmb3JtSWQ6ICdjYjgzYmM5OC00OGM3LTQzYzItYmM1ZS02YjBjOTg5MTExODAnDQogIH0pOw0KPC9zY3JpcHQ+DQo8L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSIgZ3JpZDEyLTMiPgk8ZGl2IGNsYXNzPSJzdGQiPjxkaXYgY2xhc3M9ImNvbGxhcHNpYmxlIG1vYmlsZS1jb2xsYXBzaWJsZSI+PHNwYW4gY2xhc3M9Im9wZW5lciI+Jm5ic3A7PC9zcGFuPg0KPGg2IGNsYXNzPSJibG9jay10aXRsZSBoZWFkaW5nIj5OZWVkIEhlbHA/PC9oNj4NCjxkaXYgY2xhc3M9ImJsb2NrLWNvbnRlbnQiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vY3VzdG9tZXIvYWNjb3VudC8iPk15IEFjY291bnQ8L2E+PC9saT4NCjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2Fib3V0LXVzLyI+QWJvdXQgVXM8L2E+PC9saT4NCjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2NhcmVlcnMvIj5DYXJlZXJzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9jb250YWN0LXVzLyI+Q29udGFjdCBVczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZHdlbGxpbmdzaG9tZS5jb20vY3VzdG9tZXItc2VydmljZS8iPkN1c3RvbWVyIFNlcnZpY2U8L2E+PC9saT4NCjxsaT48YSBocmVmPSJodHRwOi8vd3d3LmR3ZWxsaW5nc2hvbWUuY29tL2ZhcXMvIj5GQVFzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2N1c3RvbWVyL2FjY291bnQvbG9naW4vIj5Mb2dpbi9SZWdpc3RlcjwvYT48L2xpPg0KPC91bD4NCjwvZGl2Pg0KPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iIGdyaWQxMi0zIj4JPGRpdiBjbGFzcz0ic3RkIj48ZGl2IGNsYXNzPSJjb2xsYXBzaWJsZSBtb2JpbGUtY29sbGFwc2libGUiPjxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4NCjxoNiBjbGFzcz0iYmxvY2stdGl0bGUgaGVhZGluZyI+U2hvcDwvaDY+DQo8ZGl2IGNsYXNzPSJibG9jay1jb250ZW50IiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPg0KPHVsPg0KPGxpPjxhIGhyZWY9Ii9zaG9wLWFsbC1kZXBhcnRtZW50cy9mdXJuaXR1cmUiPkZ1cm5pdHVyZTwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9zbGVlcC1nYWxsZXJ5Ij5TbGVlcCBHYWxsZXJ5PC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL3Nob3AtYWxsLWRlcGFydG1lbnRzL2RlY29yIj5EZWNvcjwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9zaG9wLWFsbC1kZXBhcnRtZW50cy9kaW5pbmciPkRpbmluZzwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9zaG9wLWFsbC1kZXBhcnRtZW50cy9raXRjaGVuIj5LaXRjaGVuPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL3Nob3AtYWxsLWRlcGFydG1lbnRzL2JlZC1iYXRoIj5CZWQgJiBCYXRoPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2dpZnQtcmVnaXN0cnkiPkdpZnQgUmVnaXN0cnk8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZHdlbGxpbmdzLWRlc2lnbi1zdHVkaW8iPkRlc2lnbiBTdHVkaW88L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IiBncmlkMTItMyI+CTxkaXYgY2xhc3M9InN0ZCI+PGRpdiBjbGFzcz0iY29sbGFwc2libGUgbW9iaWxlLWNvbGxhcHNpYmxlIj48c3BhbiBjbGFzcz0ib3BlbmVyIj4mbmJzcDs8L3NwYW4+DQoNCgkJPGg2IGNsYXNzPSJibG9jay10aXRsZSBoZWFkaW5nIj5Db250YWN0IFVzPC9oNj4NCgkJPGRpdiBjbGFzcz0iYmxvY2stY29udGVudCIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCgkJCQk8cCBjbGFzcz0ibm8tbWFyZ2luICI+VDogKDI0NikgNjI5LTI5MDA8L3A+DQoJCQkJPHAgY2xhc3M9Im5vLW1hcmdpbiAiPnNhbGVzLmJiQGR3ZWxsaW5nc2hvbWUuY29tPC9wPg0KCQkJCTxici8+PGJyLz4NCgkJCTxkaXYgY2xhc3M9ImZlYXR1cmUgZmVhdHVyZS1pY29uLWhvdmVyIGluZGVudCI+DQoJCQkJPGEgaHJlZj0iL2NvbnRhY3QtdXMvIj48c3BhbiBjbGFzcz0iaWNvbiBpLWxvY2F0aW9uLXciPjwvc3Bhbj48L2E+DQoJCQkJPHAgY2xhc3M9Im5vLW1hcmdpbiAiPkR3ZWxsaW5ncyBJbmMuIE1pbGxob3VzZSAyLCBDYW5ld29vZCwgU3QuIE1pY2hhZWwsIEJCMTEwMDUsIEJhcmJhZG9zPC9wPg0KCQkJPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9Im5vLW1hcmdpbiAiPk1vbiAtIFNhdCA5YW0gLSA2cG0gfCBTdW4gMTFhbSAtIDRwbTwvcD4NCgkJPC9kaXY+DQoNCgk8L2Rpdj48L2Rpdj48L2Rpdj4gICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBmb290ZXItcHJpbWFyeSBzZWN0aW9uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1wcmltYXJ5LWJvdHRvbSBncmlkLWZ1bGwiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1wcmltYXJ5LWJvdHRvbS1zcGFjaW5nIGNsZWFyZXIiPgogICAgICAgICAgICAgICAgICAgIAoJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCTxkaXYgY2xhc3M9Iml0ZW0gaXRlbS1yaWdodCBjbGVhcmVyIGJsb2NrX2Zvb3Rlcl9wcmltYXJ5X2JvdHRvbV9yaWdodCI+CgkJCQkJCQkJPGRpdiBjbGFzcz0ic29jaWFsLWxpbmtzIGljb24td3JhcHBlci1zcXVhcmUiPg0KDQoJPGEgY2xhc3M9ImZpcnN0IiBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2R3ZWxsaW5nc29ubGluZSIgIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iRm9sbG93IHVzIG9uIFR3aXR0ZXIiPg0KCQk8c3BhbiBjbGFzcz0iaWNvbiBpY29uLWhvdmVyIGktdHdpdHRlci13Ij48L3NwYW4+DQoJPC9hPg0KCTxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9kd2VsbGluZ3NiYiIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJKb2luIHVzIG9uIEZhY2Vib29rIj4NCgkJPHNwYW4gY2xhc3M9Imljb24gaWNvbi1ob3ZlciBpLWZhY2Vib29rLXciPjwvc3Bhbj4NCgk8L2E+DQoJPGEgaHJlZj0iaHR0cDovL3d3dy55b3V0dWJlLmNvbS91c2VyL2R3ZWxsaW5nc2JhcmJhZG9zIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IllvdXR1YmUiPg0KCQk8c3BhbiBjbGFzcz0iaWNvbiBpY29uLWhvdmVyIGkteW91dHViZS13Ij48L3NwYW4+DQoJPC9hPg0KCTxhIGhyZWY9Imh0dHA6Ly93d3cucGludGVyZXN0LmNvbS9kd2VsbGluZ3NiYi8iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iUGludGVyZXN0Ij4NCgkJPHNwYW4gY2xhc3M9Imljb24gaWNvbi1ob3ZlciBpLXBpbnRlcmVzdC13Ij48L3NwYW4+DQoJPC9hPg0KCTxhIGhyZWY9Imh0dHBzOi8vcGx1cy5nb29nbGUuY29tLzExNDM4NjgyMjkyNzYwMjg0Mzc1OS9hYm91dCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJKb2luIHVzIG9uIEdvb2dsZSBQbHVzIj4NCgkJPHNwYW4gY2xhc3M9Imljb24gaWNvbi1ob3ZlciBpLWdvb2dsZXBsdXMtdyI+PC9zcGFuPg0KCTwvYT4NCjwvZGl2PgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSBpdGVtLXJpZ2h0IG5ld3NsZXR0ZXItd3JhcHBlciBjbGVhcmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdWJzY3JpYmUtZm9ybSIgY2xhc3M9ImNsZWFyZXIiPgogICAgPGZvcm0gYWN0aW9uPSJodHRwczovL3d3dy5kd2VsbGluZ3Nob21lLmNvbS9uZXdzbGV0dGVyL3N1YnNjcmliZXIvbmV3LyIgbWV0aG9kPSJwb3N0IiBpZD0ibmV3c2xldHRlci12YWxpZGF0ZS1kZXRhaWwiPgogICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9Im5ld3NsZXR0ZXIiPk5ld3NsZXR0ZXI8L2xhYmVsPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ib3giPgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImVtYWlsIiBpZD0ibmV3c2xldHRlciIgdGl0bGU9IlNpZ24gdXAgZm9yIG91ciBuZXdzbGV0dGVyIiBjbGFzcz0iaW5wdXQtdGV4dCByZXF1aXJlZC1lbnRyeSB2YWxpZGF0ZS1lbWFpbCIgLz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL3Zpc2l0b3IucjIwLmNvbnN0YW50Y29udGFjdC5jb20vZC5qc3A/bGxyPXZ0ZmR2eWNhYiZhbXA7cD1vaSZhbXA7bT0xMTAyNDg2NTQxOTQxJmFtcDtzaXQ9NnNza3NoNGRiJmFtcDtmPWYyMTU4ZWYzLTNlNTYtNDBiZC1hYmRkLWNjNGU3NTNhYjI4MiIgY2xhc3M9ImJ1dHRvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IHJnYigyMzIsIDIzMiwgMjMyKTsgYm9yZGVyOiAxcHggc29saWQgcmdiKDkxLCA5MSwgOTEpOyBjb2xvcjogcmdiKDkxLCA5MSwgOTEpOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBhZGRpbmc6IDhweCAxMHB4OyB0ZXh0LXNoYWRvdzogbm9uZTsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4OyBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4OyBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7Ij5TdWJzY3JpYmU8L2E+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Zvcm0+CjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IAogICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBmb290ZXItcHJpbWFyeS1ib3R0b20gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBncmlkLWZ1bGwgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBmb290ZXItcHJpbWFyeSAtLT4KICAgIDwvZGl2PgogICAgCiAgICAKCiAgICAKICAgICAgICAKICAgIAoKICAgIAogICAgPGRpdiBjbGFzcz0iZm9vdGVyLWJvdHRvbS1jb250YWluZXIgc2VjdGlvbi1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20gZm9vdGVyIGNvbnRhaW5lciBzaG93LWJnIHNob3ctYmciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWZ1bGwiPgoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gY2xlYXJlciI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAk8ZGl2IGNsYXNzPSJpdGVtIGl0ZW0tbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgCTxwIGNsYXNzPSJmb290ZXItY29weXJpZ2h0Ij4mY29weTsgMjAxNiBEd2VsbGluZ3MgSW5jLiAmIDxhIGhyZWY9Imh0dHA6Ly93d3cuc3luY3JvLWl0LmNvLnVrLyIgYWx0PSJNYWdlbnRvIHdlYiBkZXNpZ24gYW5kIGRldmVsb3BtZW50IGJ5IFN5bmNyby1pdC4gQXMgd2VsbCBhcyBzdG9jayBtYW5hZ2VtZW50IHdpdGggTWljcm9zb2Z0IFJNUyAtIHdlIG9mZmVyIGZ1bGwgb25saW5lIHNvbHV0aW9ucyBmb3IgcmV0YWlsZXJzLiIgdGFyZ2V0PSJfYmxhbmsiPlN5bmNyby1JVDwvYT4uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PiA8IS0tIGVuZDogZm9vdGVyLWJvdHRvbSBzZWN0aW9uIC0tPgoKICAgICAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBncmlkLWZ1bGwgLS0+CiAgICAgICAgPC9kaXY+IDwhLS0gZW5kOiBmb290ZXItYm90dG9tIC0tPgogICAgPC9kaXY+CiAgICAKICAgIDxhIGhyZWY9IiN0b3AiIGlkPSJzY3JvbGwtdG8tdG9wIj5UbyB0b3A8L2E+Cgo8L2Rpdj4gPCEtLSBlbmQ6IGZvb3Rlci1jb250YWluZXIyIC0tPgo8L2Rpdj4gPCEtLSBlbmQ6IGZvb3Rlci1jb250YWluZXIgLS0+CgogICAgICAgICAgICAgICAgCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KCS8vPCFbQ0RBVEFbCgoJCQl2YXIgZ3JpZEl0ZW1zRXF1YWxIZWlnaHRBcHBsaWVkID0gZmFsc2U7CglmdW5jdGlvbiBzZXRHcmlkSXRlbXNFcXVhbEhlaWdodCgkKQoJewoJCXZhciAkbGlzdCA9ICQoJy5jYXRlZ29yeS1wcm9kdWN0cy1ncmlkJyk7CgkJdmFyICRsaXN0SXRlbXMgPSAkbGlzdC5jaGlsZHJlbigpOwoKCQl2YXIgY2VudGVyZWQgPSAkbGlzdC5oYXNDbGFzcygnY2VudGVyZWQnKTsKCQl2YXIgZ3JpZEl0ZW1NYXhIZWlnaHQgPSAwOwoJCSRsaXN0SXRlbXMuZWFjaChmdW5jdGlvbigpIHsKCQkJCgkJCSQodGhpcykuY3NzKCJoZWlnaHQiLCAiYXV0byIpOyAJCQl2YXIgJG9iamVjdCA9ICQodGhpcykuZmluZCgnLmFjdGlvbnMnKTsKCgkJCQkJCWlmIChjZW50ZXJlZCkKCQkJewoJCQkJdmFyIG9iamVjdFdpZHRoID0gJG9iamVjdC53aWR0aCgpOwoJCQkJdmFyIGF2YWlsYWJsZVdpZHRoID0gJCh0aGlzKS53aWR0aCgpOwoJCQkJdmFyIHNwYWNlID0gYXZhaWxhYmxlV2lkdGggLSBvYmplY3RXaWR0aDsKCQkJCXZhciBsZWZ0T2Zmc2V0ID0gc3BhY2UgLyAyOwoJCQkJJG9iamVjdC5jc3MoInBhZGRpbmctbGVmdCIsIGxlZnRPZmZzZXQgKyAicHgiKTsgCQkJfQoKCQkJCQkJdmFyIGJvdHRvbU9mZnNldCA9IHBhcnNlSW50KCQodGhpcykuY3NzKCJwYWRkaW5nLXRvcCIpKTsKCQkJaWYgKGNlbnRlcmVkKSBib3R0b21PZmZzZXQgKz0gMTA7CgkJCSRvYmplY3QuY3NzKCJib3R0b20iLCBib3R0b21PZmZzZXQgKyAicHgiKTsKCgkJCQkJCWlmICgkb2JqZWN0LmlzKCI6dmlzaWJsZSIpKQoJCQl7CgkJCQkJCQkJdmFyIG9iamVjdEhlaWdodCA9ICRvYmplY3QuaGVpZ2h0KCk7CgkJCQkkKHRoaXMpLmNzcygicGFkZGluZy1ib3R0b20iLCAob2JqZWN0SGVpZ2h0ICsgYm90dG9tT2Zmc2V0KSArICJweCIpOwoJCQl9CgoJCQkJCQkKCQkJZ3JpZEl0ZW1NYXhIZWlnaHQgPSBNYXRoLm1heChncmlkSXRlbU1heEhlaWdodCwgJCh0aGlzKS5oZWlnaHQoKSk7CgkJfSk7CgoJCS8vQXBwbHkgbWF4IGhlaWdodAoJCSRsaXN0SXRlbXMuY3NzKCJoZWlnaHQiLCBncmlkSXRlbU1heEhlaWdodCArICJweCIpOwoJCWdyaWRJdGVtc0VxdWFsSGVpZ2h0QXBwbGllZCA9IHRydWU7CgoJfQoJCgoKCWpRdWVyeShmdW5jdGlvbigkKSB7CgoJCQkJJCgnLmNvbGxhcHNpYmxlJykuZWFjaChmdW5jdGlvbihpbmRleCkgewoJCQkkKHRoaXMpLnByZXBlbmQoJzxzcGFuIGNsYXNzPSJvcGVuZXIiPiZuYnNwOzwvc3Bhbj4nKTsKCQkJaWYgKCQodGhpcykuaGFzQ2xhc3MoJ2FjdGl2ZScpKQoJCQl7CgkJCQkkKHRoaXMpLmNoaWxkcmVuKCcuYmxvY2stY29udGVudCcpLmNzcygnZGlzcGxheScsICdibG9jaycpOwoJCQl9CgkJCWVsc2UKCQkJewoJCQkJJCh0aGlzKS5jaGlsZHJlbignLmJsb2NrLWNvbnRlbnQnKS5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpOwoJCQl9CQkJCgkJfSk7CgkJCQkkKCcuY29sbGFwc2libGUgLm9wZW5lcicpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkKCQkJdmFyIHBhcmVudCA9ICQodGhpcykucGFyZW50KCk7CgkJCWlmIChwYXJlbnQuaGFzQ2xhc3MoJ2FjdGl2ZScpKQoJCQl7CgkJCQkkKHRoaXMpLnNpYmxpbmdzKCcuYmxvY2stY29udGVudCcpLnN0b3AodHJ1ZSkuc2xpZGVVcCgzMDAsICJlYXNlT3V0Q3ViaWMiKTsKCQkJCXBhcmVudC5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkkKHRoaXMpLnNpYmxpbmdzKCcuYmxvY2stY29udGVudCcpLnN0b3AodHJ1ZSkuc2xpZGVEb3duKDMwMCwgImVhc2VPdXRDdWJpYyIpOwoJCQkJcGFyZW50LmFkZENsYXNzKCdhY3RpdmUnKTsKCQkJfQoJCQkKCQl9KTsKCQkKCQkKCQkJCXZhciBkZE9wZW5UaW1lb3V0OwoJCXZhciBkTWVudVBvc1RpbWVvdXQ7CgkJdmFyIEREX0RFTEFZX0lOID0gMjAwOwoJCXZhciBERF9ERUxBWV9PVVQgPSAwOwoJCXZhciBERF9BTklNQVRJT05fSU4gPSAwOwoJCXZhciBERF9BTklNQVRJT05fT1VUID0gMDsKCQkkKCIuY2xpY2thYmxlLWRyb3Bkb3duID4gLmRyb3Bkb3duLXRvZ2dsZSIpLmNsaWNrKGZ1bmN0aW9uKCkgewoJCQkkKHRoaXMpLnBhcmVudCgpLmFkZENsYXNzKCdvcGVuJyk7CgkJCSQodGhpcykucGFyZW50KCkudHJpZ2dlcignbW91c2VlbnRlcicpOwoJCX0pOwoJCSQoIi5kcm9wZG93biIpLmhvdmVyKGZ1bmN0aW9uKCkgewoJCQkKCQkJCgkJCXZhciBkZFRvZ2dsZSA9ICQodGhpcykuY2hpbGRyZW4oJy5kcm9wZG93bi10b2dnbGUnKTsKCQkJdmFyIGRkTWVudSA9ICQodGhpcykuY2hpbGRyZW4oJy5kcm9wZG93bi1tZW51Jyk7CgkJCXZhciBkZFdyYXBwZXIgPSBkZE1lbnUucGFyZW50KCk7IAkJCQoJCQkJCQlkZE1lbnUuY3NzKCJsZWZ0IiwgIiIpOwoJCQlkZE1lbnUuY3NzKCJyaWdodCIsICIiKTsKCQkJCgkJCQkJCWlmICgkKHRoaXMpLmhhc0NsYXNzKCdjbGlja2FibGUtZHJvcGRvd24nKSkKCQkJewoJCQkJCQkJCWlmICgkKHRoaXMpLmhhc0NsYXNzKCdvcGVuJykpCgkJCQl7CgkJCQkJJCh0aGlzKS5jaGlsZHJlbignLmRyb3Bkb3duLW1lbnUnKS5zdG9wKHRydWUsIHRydWUpLmRlbGF5KEREX0RFTEFZX0lOKS5mYWRlSW4oRERfQU5JTUFUSU9OX0lOLCAiZWFzZU91dEN1YmljIik7CgkJCQl9CgkJCX0KCQkJZWxzZQoJCQl7CgkJCQkJCQkJY2xlYXJUaW1lb3V0KGRkT3BlblRpbWVvdXQpOwoJCQkJZGRPcGVuVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CgkJCQkJCgkJCQkJZGRXcmFwcGVyLmFkZENsYXNzKCdvcGVuJyk7CgkJCQkJCgkJCQl9LCBERF9ERUxBWV9JTik7CgkJCQkKCQkJCS8vJCh0aGlzKS5hZGRDbGFzcygnb3BlbicpOwoJCQkJJCh0aGlzKS5jaGlsZHJlbignLmRyb3Bkb3duLW1lbnUnKS5zdG9wKHRydWUsIHRydWUpLmRlbGF5KEREX0RFTEFZX0lOKS5mYWRlSW4oRERfQU5JTUFUSU9OX0lOLCAiZWFzZU91dEN1YmljIik7CgkJCX0KCQkJCgkJCQkJCWNsZWFyVGltZW91dChkTWVudVBvc1RpbWVvdXQpOwoJCQlkTWVudVBvc1RpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoKCQkJCWlmIChkZE1lbnUub2Zmc2V0KCkubGVmdCA8IDApCgkJCQl7CgkJCQkJdmFyIHNwYWNlID0gZGRXcmFwcGVyLm9mZnNldCgpLmxlZnQ7IAkJCQkJZGRNZW51LmNzcygibGVmdCIsICgtMSkqc3BhY2UpOwoJCQkJCWRkTWVudS5jc3MoInJpZ2h0IiwgImF1dG8iKTsKCQkJCX0KCQkJCgkJCX0sIEREX0RFTEFZX0lOKTsKCQkJCgkJfSwgZnVuY3Rpb24oKSB7CgkJCXZhciBkZE1lbnUgPSAkKHRoaXMpLmNoaWxkcmVuKCcuZHJvcGRvd24tbWVudScpOwoJCQljbGVhclRpbWVvdXQoZGRPcGVuVGltZW91dCk7IAkJCWRkTWVudS5zdG9wKHRydWUsIHRydWUpLmRlbGF5KEREX0RFTEFZX09VVCkuZmFkZU91dChERF9BTklNQVRJT05fT1VULCAiZWFzZUluQ3ViaWMiKTsKCQkJaWYgKGRkTWVudS5pcygiOmhpZGRlbiIpKQoJCQl7CgkJCQlkZE1lbnUuaGlkZSgpOwoJCQl9CgkJCSQodGhpcykucmVtb3ZlQ2xhc3MoJ29wZW4nKTsKCQl9KTsKCQkKCQkKCQkKCQkJCQkJCSQoIi5tYWluIikuYWRkQ2xhc3MoInNob3ctYmciKTsKCQkJCQoJCQoJCQoJCQkJdmFyIHdpbmRvd1Njcm9sbF90OwoJCSQod2luZG93KS5zY3JvbGwoZnVuY3Rpb24oKXsKCQkJCgkJCWNsZWFyVGltZW91dCh3aW5kb3dTY3JvbGxfdCk7CgkJCXdpbmRvd1Njcm9sbF90ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJCQkJCQoJCQkJaWYgKCQodGhpcykuc2Nyb2xsVG9wKCkgPiAxMDApCgkJCQl7CgkJCQkJJCgnI3Njcm9sbC10by10b3AnKS5mYWRlSW4oKTsKCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQkkKCcjc2Nyb2xsLXRvLXRvcCcpLmZhZGVPdXQoKTsKCQkJCX0KCQkJCgkJCX0sIDUwMCk7CgkJCQoJCX0pOwoJCQoJCSQoJyNzY3JvbGwtdG8tdG9wJykuY2xpY2soZnVuY3Rpb24oKXsKCQkJJCgiaHRtbCwgYm9keSIpLmFuaW1hdGUoe3Njcm9sbFRvcDogMH0sIDYwMCwgImVhc2VPdXRDdWJpYyIpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfSk7CgkJCgkJCgkJCgkJCQkKCQkJdmFyIHN0YXJ0SGVpZ2h0OwoJCQl2YXIgYnBhZDsKCQkJJCgnLmNhdGVnb3J5LXByb2R1Y3RzLWdyaWQnKS5vbignbW91c2VlbnRlcicsICcuaXRlbScsIGZ1bmN0aW9uKCkgewoKCQkJCQkJCQkJCQkJCQlpZiAoJCh3aW5kb3cpLndpZHRoKCkgPj0gNDgwKQoJCQkJCXsKCQkJCQoJCQkJCQkJCQkJCWlmIChncmlkSXRlbXNFcXVhbEhlaWdodEFwcGxpZWQgPT09IGZhbHNlKQoJCQkJCQl7CgkJCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQkJCX0KCQkJCQkKCQkJCQlzdGFydEhlaWdodCA9ICQodGhpcykuaGVpZ2h0KCk7CgkJCQkJJCh0aGlzKS5jc3MoImhlaWdodCIsICJhdXRvIik7IC8vUmVsZWFzZSBoZWlnaHQKCQkJCQkkKHRoaXMpLmZpbmQoIi5kaXNwbGF5LW9uaG92ZXIiKS5mYWRlSW4oNDAwLCAiZWFzZU91dEN1YmljIik7IC8vU2hvdyBlbGVtZW50cyB2aXNpYmxlIG9uIGhvdmVyCgkJCQkJdmFyIGgyID0gJCh0aGlzKS5oZWlnaHQoKTsKCQkJCQkKCQkJCQkJCQkJCS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCQkJCQl2YXIgYWRkdG9jYXJ0SGVpZ2h0ID0gMDsKCQkJCQl2YXIgYWRkdG9saW5rc0hlaWdodCA9IDA7CgkJCQkJCgkJCQkJCQkJCQkKCQkJCQkJCQkJCQoJCQkJCQkJCQkJCXZhciBkaWZmID0gMDsKCQkJCQkJaWYgKGgyIDwgc3RhcnRIZWlnaHQpCgkJCQkJCXsKCQkJCQkJCSQodGhpcykuaGVpZ2h0KHN0YXJ0SGVpZ2h0KTsKCQkJCQkJfQoJCQkJCQllbHNlCgkJCQkJCXsKCQkJCQkJCSQodGhpcykuaGVpZ2h0KGgyKTsKCQkJCQkJCWRpZmYgPSBoMiAtIHN0YXJ0SGVpZ2h0OwoJCQkJCQl9CgkJCQkJCQkJCQkvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoJCQkJCSQodGhpcykuY3NzKCJtYXJnaW4tYm90dG9tIiwgIi0iICsgZGlmZiArICJweCIpOyAKCQkJCQkJCQkJfSAJCQkJCQkJCQoJCQl9KS5vbignbW91c2VsZWF2ZScsICcuaXRlbScsIGZ1bmN0aW9uKCkgewoKCQkJCQkJCQkJCQkJCWlmICgkKHdpbmRvdykud2lkdGgoKSA+PSA0ODApCgkJCQkJewoJCQkJCgkJCQkJLy9DbGVhbiB1cAoJCQkJCSQodGhpcykuZmluZCgiLmRpc3BsYXktb25ob3ZlciIpLnN0b3AodHJ1ZSkuaGlkZSgpOwoJCQkJCSQodGhpcykuY3NzKCJtYXJnaW4tYm90dG9tIiwgIiIpOwoKCQkJCQkJCQkJCQkJCQkJCSQodGhpcykuaGVpZ2h0KHN0YXJ0SGVpZ2h0KTsKCQkJCQkKCQkJCQkJCQkJfSAJCQkJCQkJCQoJCQl9KTsKCQkKCQkKCgoJCQkJJCgnLnByb2R1Y3RzLWdyaWQsIC5wcm9kdWN0cy1saXN0Jykub24oJ21vdXNlZW50ZXInLCAnLml0ZW0nLCBmdW5jdGlvbigpIHsKCQkJJCh0aGlzKS5maW5kKCIuYWx0LWltZyIpLmZhZGVJbig0MDAsICJlYXNlT3V0Q3ViaWMiKTsKCQl9KS5vbignbW91c2VsZWF2ZScsICcuaXRlbScsIGZ1bmN0aW9uKCkgewoJCQkkKHRoaXMpLmZpbmQoIi5hbHQtaW1nIikuc3RvcCh0cnVlKS5mYWRlT3V0KDQwMCwgImVhc2VPdXRDdWJpYyIpOwoJCX0pOwoKCgoJCQkJJCgnLmZhZGUtb24taG92ZXInKS5vbignbW91c2VlbnRlcicsIGZ1bmN0aW9uKCkgewoJCQkkKHRoaXMpLmFuaW1hdGUoe29wYWNpdHk6IDAuNzV9LCAzMDAsICdlYXNlSW5PdXRDdWJpYycpOwoJCX0pLm9uKCdtb3VzZWxlYXZlJywgZnVuY3Rpb24oKSB7CgkJCSQodGhpcykuc3RvcCh0cnVlKS5hbmltYXRlKHtvcGFjaXR5OiAxfSwgMzAwLCAnZWFzZUluT3V0Q3ViaWMnKTsKCQl9KTsKCgoKCQkJCQkJdmFyIHdpbldpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CgkJdmFyIHdpbkhlaWdodCA9ICQod2luZG93KS5oZWlnaHQoKTsKCQkkKHdpbmRvdykucmVzaXplKAoJCQkkLmRlYm91bmNlKDUwLCBvbkV2ZW50UmVzaXplKQoJCSk7IC8vZW5kOiByZXNpemUKCgkJCQlmdW5jdGlvbiBvbkV2ZW50UmVzaXplKCkgewoKCQkJCQkJdmFyIHdpbk5ld1dpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CgkJCXZhciB3aW5OZXdIZWlnaHQgPSAkKHdpbmRvdykuaGVpZ2h0KCk7CgkJCWlmICh3aW5XaWR0aCAhPSB3aW5OZXdXaWR0aCB8fCB3aW5IZWlnaHQgIT0gd2luTmV3SGVpZ2h0KQoJCQl7CgkJCQlhZnRlclJlc2l6ZSgpOyAJCQl9CgkJCS8vVXBkYXRlIHdpbmRvdyBzaXplIHZhcmlhYmxlcwoJCQl3aW5XaWR0aCA9IHdpbk5ld1dpZHRoOwoJCQl3aW5IZWlnaHQgPSB3aW5OZXdIZWlnaHQ7CgoJCX0gLy9lbmQ6IG9uRXZlbnRSZXNpemUKCgkJCQlmdW5jdGlvbiBhZnRlclJlc2l6ZSgpIHsKCgkJCQkJCSQoZG9jdW1lbnQpLnRyaWdnZXIoInRoZW1lUmVzaXplIik7CgoJCQkJCQkJCQkJc2V0R3JpZEl0ZW1zRXF1YWxIZWlnaHQoJCk7CgkJCQkJCQkJCQoJCQkJCQkkKCcuaXRlbXNsaWRlcicpLmVhY2goZnVuY3Rpb24oaW5kZXgpIHsKCQkJCXZhciBmbGV4ID0gJCh0aGlzKS5kYXRhKCdmbGV4c2xpZGVyJyk7CgkJCQlpZiAoZmxleCAhPSBudWxsKQoJCQkJewoJCQkJCWZsZXguZmxleEFuaW1hdGUoMCk7CgkJCQkJZmxleC5yZXNpemUoKTsKCQkJCX0KCQkJfSk7CgkJCQkJCQkKCQkJCQkJdmFyIHNsaWRlc2hvdyA9ICQoJy50aGUtc2xpZGVzaG93JykuZGF0YSgnZmxleHNsaWRlcicpOwoJCQlpZiAoc2xpZGVzaG93ICE9IG51bGwpCgkJCXsKCQkJCXNsaWRlc2hvdy5yZXNpemUoKTsKCQkJfQoKCQl9IC8vZW5kOiBhZnRlclJlc2l6ZQoKCgoJfSk7IC8qIGVuZDogalF1ZXJ5KCl7Li4ufSAqLwoJCgkKCglqUXVlcnkod2luZG93KS5sb2FkKGZ1bmN0aW9uKCl7CgkJCgkJCQkJCQlzZXRHcmlkSXRlbXNFcXVhbEhlaWdodChqUXVlcnkpOwoJCQoJfSk7IC8qIGVuZDogalF1ZXJ5KHdpbmRvdykubG9hZCgpey4uLn0gKi8KCgkvL11dPgo8L3NjcmlwdD4KPCEtLSBzdG0gYm9keS1lbmQgc3RhcnQgLS0+DQo8IS0tIHN0bSBib2R5LWVuZCBlbmQgLS0+DQogICAgPC9kaXY+CjwvZGl2Pgo8L2Rpdj4gPCEtLSBlbmQ6IHJvb3Qtd3JhcHBlciAtLT4KPC9ib2R5Pgo8L2h0bWw+Cg==