Application

Chose application
.NET Native Web Flutter
Chose version
ver. 14.0 ver. 13.0 ver. 12.0 ver. 11.0 ver. 10.0 ver. 9.0 ver. 8.0 ver. 7.0 ver. 6.0 ver. 5.0 ver. 4.0
Choose device
Tizen.Pims.Calendar.CalendarRecord class. The following examples illustrate creating a new record and retrieving an existing record by using its ID:<\/p>\n<ul>\n<li>\n<p>Creating a new record:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Retrieving an existing record:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, eventId);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<p>To manage the record, you can use the classes of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarViews.md/">Tizen.Pims.Calendar.CalendarViews namespace and the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarTypes.md/">Tizen.Pims.Calendar.CalendarTypes class:<\/p>\n<ul>\n<li>\n<p>URI<\/p>\n<p>A record type is identified by a structure called the view. For example, the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarViews.Event.md/">Tizen.Pims.Calendar.CalendarViews.Event class describes the properties of the calendar event record. Every class in the Tizen.Pims.Calendar.CalendarViews namespace has a <code>Uri<\/code> field that uniquely identifies the view. In many cases, you must provide the <code>Uri<\/code> value to indicate what type of record you want to create or operate on:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Views and properties<\/p>\n<p>Generic access methods can be used (according to data-view declarations) to access calendar views. A data-view is almost the same as a database &quot;VIEW&quot;, which limits access and guarantees performance. A &quot;record&quot; represents a single row of the data-views.<\/p>\n<p><strong>Table: Calendar views<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Views<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Book<\/code><\/td>\n<td>This view holds calendar book properties, such as name, color, and visibility.<br>There are 3 <a href=https://samsungtizenos.com/"#book\">default calendar books<\/a> for the local event, todo, and birthday event types.<br>Calendar books can be created by service providers, such as Google or Yahoo (with an account), or by applications, such as Joyn or Facebook.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Event<\/code><\/td>\n<td>This view holds event properties, such as a summary, description, and location.<br>Alarms, attendees, and extended views can be inserted as child records for an event.<br>Recurrence properties can be set to make a repeating event, such as a birthday.<br>The recurrence rules follow the <a href=https://samsungtizenos.com/"https:////www.ietf.org//rfc//rfc2445.txt/">vCalendar2.0 specification<\/a>{:target=&quot;_blank&quot;}.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Todo<\/code><\/td>\n<td>This view holds todo properties, such as due time.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Alarm<\/code><\/td>\n<td>This view holds notification properties. Multiple alarms can be inserted into an event or todo.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Attendee<\/code><\/td>\n<td>This view holds attendee properties. Multiple attendees can be inserted into an event or todo.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Timezone<\/code><\/td>\n<td>This view holds time zone properties.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.InstanceUtimeBook<\/code><\/td>\n<td>This view has the combined properties of instance and book.<br>Instances are generated depending on time type (<code>UtcTime<\/code> or <code>LocalTime<\/code>).<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.InstanceLocaltimeBook<\/code><\/td>\n<td>This view has the combined properties of instance and book. The instance view is used to get repeat instances.<br>Instances are generated depending on the time type (<code>UtcTime<\/code> or <code>LocalTime<\/code>).<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.InstanceUtimeBookExtended<\/code><\/td>\n<td>This view has the combined properties of instance, book, and extended. The instance view is used to get repeat instances.<br>Instances are generated depending on the time type (<code>UtcTime<\/code> or <code>LocalTime<\/code>).<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.InstanceLocaltimeBookExtended<\/code><\/td>\n<td>This view has the combined properties of instance, book, and extended. The instance view is used to get repeat instances.<br>Instances are generated depending on the time type (<code>UtcTime<\/code> or <code>LocalTime<\/code>).<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.UpdatedInfo<\/code><\/td>\n<td>This view has properties to use when identifying record changes depending on the version.<\/td>\n<\/tr>\n<tr>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Extended<\/code><\/td>\n<td>This view has the key\/value properties to add extended data.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/li>\n<li>\n<p>The calendar service uses a version system. Whenever modifications are made to the database, the version number is increased. If sync applications, such as Google or Facebook, sync at version 13 and try to sync again every 1 minute, they want to get the changes from version 14 to the current version. To get the current version, use the <code>Version<\/code> property of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class. You can retrieve the modified record list with the <code>GetChangesByVersion()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">version<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">version <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.Version;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">currentVersion<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">changeslist<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetChangesByVersion<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">..<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">., currentVersion);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">lastVersion<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetLastChangeVersion<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(lastVersion);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Basic types<\/p>\n<p>Records contain properties of basic types: <code>integer<\/code>, <code>long<\/code>, <code>double<\/code>, <code>string<\/code>, and <code>CalendarTime<\/code>.<\/p>\n<p>The <code>CalendarTime<\/code> type holds a time stamp in the <code>DateTime<\/code> format.<\/p>\n<p>The following table lists the setter and getter methods for each type.<\/p>\n<p><strong>Table: Setter and getter methods<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Type<\/th>\n<th>Property<\/th>\n<th>Setter<\/th>\n<th>Getter<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>integer<\/code><\/td>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Event.BookId<\/code><\/td>\n<td><code>record.Set&lt;int&gt;(CalendarViews.Event.BookId, 3)<\/code><\/td>\n<td><code>record.Get&lt;int&gt;(CalendarViews.Event.BookId)<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>long<\/code><\/td>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Todo.CompletedTime<\/code><\/td>\n<td><code>record.Set&lt;long&gt;(CalendarViews.Todo.CompletedTime, 349866000)<\/code><\/td>\n<td><code>record.Get&lt;long&gt;(CalendarViews.Todo.CompletedTime)<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>double<\/code><\/td>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Event.Latitude<\/code><\/td>\n<td><code>record.Set&lt;double&gt;(CalendarViews.Event.Latitude, 37.566)<\/code><\/td>\n<td><code>record.Get&lt;double&gt;(CalendarViews.Event.Latitude)<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>string<\/code><\/td>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Event.Summary<\/code><\/td>\n<td><code>record.Set&lt;string&gt;(CalendarViews.Event.Summary, &quot;Birthday&quot;)<\/code><\/td>\n<td><code>record.Get&lt;string&gt;(CalendarViews.Event.Summary)<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>CalendarTime<\/code><\/td>\n<td><code>Tizen.Pims.Calendar.CalendarViews.Event.Start<\/code><\/td>\n<td><code>record.Set&lt;CalendarTime&gt;(CalendarViews.Event.Start, new CalendarTime(349866000))<\/code><\/td>\n<td><code>record.Get&lt;CalendarTime&gt;(CalendarViews.Event.Start)<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>These methods also require specifying which property to get and set, and for this, every getter and setter method needs a record and property ID.<\/p>\n<p>For example, the property ID of a <code>Summary<\/code> property of an event is <code>CalendarViews.Event.Summary<\/code>.<\/p>\n<p>The following example sets the <code>Summary<\/code> property of an event record:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Event<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Summary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, &quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Meeting<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The <code>CalendarTime<\/code> type can hold 2 types of data. To make UTC time, epoch time needs to be inserted as a parameter.<\/p>\n<p>Birthday is not changed based on the timezone. In this case, the local time type needs to be used to fix the date.<\/p>\n<p>For example, setting a time with <code>new CalendarTime(1981, 2, 1, 0, 0, 0);<\/code> means that the date, 1981\/02\/01, is constant in all countries.<\/p>\n<p><strong>Table: CalendarTime data types<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Identifier<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>CalendarTime.Type.Utc<\/code><\/td>\n<td>UTC time is used to describe non-all-day events.<br>For non-all-day events, you must convert local time to UTC time. The local time zone identifier must be stored in the record, in the corresponding property.<br>For example, when setting the start time of an event, the local time zone must be stored in the <code>CalendarViews.Event.StartTzid<\/code> property.<\/td>\n<\/tr>\n<tr>\n<td><code>CalendarTime.Type.Local<\/code><\/td>\n<td>Date only (year, month, and day of the month) is used to describe all-day events.<br>For all day events, use <code>CalendarTime<\/code> with parameters (year, month, day, hour, minute, second).<br>Both the start and end time of the event must be set, and they do not have to be equal. If they are not, the event lasts more than 1 day.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>For example, adding an event with the current time:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">input<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(DateTime.Now.Ticks);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record = new CalendarRecord(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;CalendarTime&gt;(CalendarViews.Event.Start, input);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.StartTzid, &quot;Asia\/Seoul&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>For example, adding a birthday on 1st of February, 1981:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">input<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">1981<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">2<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">1<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record = new CalendarRecord(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;CalendarTime&gt;(CalendarViews.Event.Start, input);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<p><a name=\"children\"><\/a><\/p>\n<h3 id=\"content-child-records\"><a href=https://samsungtizenos.com/"#content-child-records\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Child records<\/h3>\n<p>A certain record type can be a parent of other records. For example, the attendee records can hold an event identifier in their <code>ParentId<\/code> property. The event is the parent record of the attendee child records.<\/p>\n<p>The following code example creates an event and inserts an attendee record into it as a child record:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">attendee<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Attendee.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">attendee.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Attendee.Name, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;John&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.AddChild(CalendarViews.Event.Attendee, attendee);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"book\"><\/a><\/p>\n<h2 id=\"content-calendar-books\"><a href=https://samsungtizenos.com/"#content-calendar-books\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Calendar books<\/h2>\n<p>A calendar book is a container for other calendar records. Every event and todo must belong to a calendar book. There are 3 built-in calendar books, as shown in the following table.<\/p>\n<p><strong>Table: Calendar books<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Book<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>CalendarTypes.DefaultBook.Event<\/code><\/td>\n<td>Local event book<\/td>\n<\/tr>\n<tr>\n<td><code>CalendarTypes.DefaultBook.Todo<\/code><\/td>\n<td>Local todo book<\/td>\n<\/tr>\n<tr>\n<td><code>CalendarTypes.DefaultBook.Birthday<\/code><\/td>\n<td>Local birthday book<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>To set a calendar book ID for an event:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Event<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">BookId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarTypes<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">DefaultBook<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Event<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>To receive a list of existing calendar books:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetAll<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Book.Uri, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The <code>GetAll()<\/code> method requires as its parameters the URI of the class to get records from, the index from which results are received, and the maximum number of results.<\/p>\n<p><a name=\"event\"><\/a><\/p>\n<h2 id=\"content-event-instances-and-reminders\"><a href=https://samsungtizenos.com/"#content-event-instances-and-reminders\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Event instances and reminders<\/h2>\n<p>An event record describes various properties, such as description, categories, and priority. It also contains information on when the event takes place. In a recurring event, there is more than 1 instance of the event. Each instance has its corresponding instance record.<\/p>\n<p>If an event is inserted with a recurrence rule, alarm, and attendee, its data is saved to each relevant database. Generated instances based on the recurrence rule are also stored in the instance database.<\/p>\n<p><strong>Figure: Views and databases for event instances<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/"media//calendar_db.png/" alt=\"Views and databases for event instances\" \/><\/p>\n<p>The following table illustrates an example of a recurring event and its instances.<\/p>\n<p><strong>Table: Event and instance example<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Event with recurrence rule<\/th>\n<th>Generated instances<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Recurrence rules: <br>Start date on 2012-10-09 (Tuesday)<br>Frequency set to WEEKLY<br>Interval set to 1<br>Count set to 3<\/td>\n<td>2012-10-09 Tuesday<\/td>\n<\/tr>\n<tr>\n<td>Recurrence rules: <br>Start date on 2012-10-09 (Tuesday)<br>Frequency set to WEEKLY<br>Interval set to 1<br>Count set to 3<\/td>\n<td>2012-10-16 Tuesday<\/td>\n<\/tr>\n<tr>\n<td>Recurrence rules: <br>Start date on 2012-10-09 (Tuesday)<br>Frequency set to WEEKLY<br>Interval set to 1<br>Count set to 3<\/td>\n<td>2012-10-22 Tuesday<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>The calendar recurrence model is compliant with the <a href=https://samsungtizenos.com/"http:////www.ietf.org//rfc//rfc2445.txt/">iCalendar specification<\/a>{:target=&quot;_blank&quot;}. The following event properties have the same functionality as their corresponding values in iCalendar:<\/p>\n<p><strong>Table: Recurrence rules<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Recurrence rule property<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>Freq<\/code><\/td>\n<td>Yearly, monthly, weekly, or daily<\/td>\n<\/tr>\n<tr>\n<td><code>Count<\/code><\/td>\n<td>Until count. If the count is 3, 3 instances are generated<\/td>\n<\/tr>\n<tr>\n<td><code>Interval<\/code><\/td>\n<td>Interval is a positive integer representing how often the recurrence rule repeats<\/td>\n<\/tr>\n<tr>\n<td><code>Byday<\/code><\/td>\n<td>MO, TU, WE, TH, FR, SA, or SU<\/td>\n<\/tr>\n<tr>\n<td><code>Bymonthday<\/code><\/td>\n<td>Days of the month<\/td>\n<\/tr>\n<tr>\n<td><code>Byyearday<\/code><\/td>\n<td>Days of the year<\/td>\n<\/tr>\n<tr>\n<td><code>Byweekno<\/code><\/td>\n<td>Ordinals specifying weeks of the year<\/td>\n<\/tr>\n<tr>\n<td><code>Bymonth<\/code><\/td>\n<td>Months of the year<\/td>\n<\/tr>\n<tr>\n<td><code>Bysetpos<\/code><\/td>\n<td>Values which correspond to the nth occurrence within the set of events<\/td>\n<\/tr>\n<tr>\n<td><code>Wkst<\/code><\/td>\n<td>Day on which the workweek starts<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>When you have a recurring event, you can <a href=https://samsungtizenos.com/"#exception_add\">remove a specific recurrence instance<\/a> from it, or <a href=https://samsungtizenos.com/"#exception_modify\">add exceptions to the recurrence<\/a>.<\/p>\n<p><a name=\"exception_rule\"><\/a><\/p>\n<h3 id=\"content-exceptions\"><a href=https://samsungtizenos.com/"#content-exceptions\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Exceptions<\/h3>\n<p>If 1 instance of a recurring event is modified (such as its summary or date) or deleted, it is called an exception. For example, if the second instance date is modified from 16th to 17th, 17th is the exception.<\/p>\n<p><strong>Table: Exception example<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Event<\/th>\n<th>Instances<\/th>\n<th>Exceptions<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Recurrence rules:<br>Start date on 2012-10-09 (Tuesday)<br>Frequency set to WEEKLY<br>Interval set to 1<br>Count set to 3<\/td>\n<td>2012-10-09 Tuesday<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Recurrence rules:<br>Start date on 2012-10-09 (Tuesday)<br>Frequency set to WEEKLY<br>Interval set to 1<br>Count set to 3<\/td>\n<td>2012-10-16 Tuesday &gt; modified<\/td>\n<td>2012-10-17 Tuesday<\/td>\n<\/tr>\n<tr>\n<td>Recurrence rules:<br>Start date on 2012-10-09 (Tuesday)<br>Frequency set to WEEKLY<br>Interval set to 1<br>Count set to 3<\/td>\n<td>2012-10-22 Tuesday<\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p><a name=\"remind\"><\/a><\/p>\n<h3 id=\"content-reminders\"><a href=https://samsungtizenos.com/"#content-reminders\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Reminders<\/h3>\n<p>The following figure illustrates how the alarm process works.<\/p>\n<p><strong>Figure: Alarm process<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/"media//calendar_alarm.png/" alt=\"Alarm process\" \/><\/p>\n<p>To get a reminder when an alarm is triggered, the application must set the reminder MIME name. After the reminder MIME name is set, insert an alarm as a child of an event record:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Set alarm<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">alarm<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Alarm.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">alarm.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Alarm.TickUnit, CalendarTypes.TickUnit.Specific);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ 60 secs before 1404036000 (Sun, 29 Jun 2014 10:00:00 GMT)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">alarm.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Alarm.AlarmTime, <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1404036000<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">-<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">60<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">));<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Add alarm as child<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.AddChild(CalendarViews.Event.Alarm, alarm);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>When the registered alarm is triggered and the alarm manager notices it, the calendar service calls those packages that have the reminder MIME name.<\/p>\n<p><a name=\"filter2\"><\/a><\/p>\n<h2 id=\"content-filters-and-queries\"><a href=https://samsungtizenos.com/"#content-filters-and-queries\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Filters and queries<\/h2>\n<p>Queries are used to retrieve <a href=https://samsungtizenos.com/"#get_event\">event<\/a> and <a href=https://samsungtizenos.com/"#get\">todo<\/a> data which satisfies a given criteria, like an integer property being greater than a given value, or a string property containing a given substring. The criteria are defined by creating filters and adding conditions to them, joining them with logical operators. Also, instead of a condition, another filter can be added to create more complex filters.<\/p>\n<p>When a filter is ready, it can be set as a property of a query. Other query properties allow configuring how the returned results are grouped and sorted.<\/p>\n<p>To filter calendar data:<\/p>\n<ul>\n<li>\n<p>Filtering<\/p>\n<p>The operator precedence in filters is determined by the order in which the conditions and filters are added. The following table shows an example of how the operator precedence works.<\/p>\n<p><strong>Table: Filter conditions<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Condition<\/th>\n<th>Result<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Condition C1<br>OR<br>Condition C2<br>AND<br>Condition C3<\/td>\n<td>(C1 OR C2) AND C3<\/td>\n<\/tr>\n<tr>\n<td><strong>Filter F1<\/strong>:<br>Condition C1<br>OR<br>Condition C2<br><br><strong>Filter F2<\/strong>:<br>Condition C3<br>OR<br>Condition C4<br><br><strong>Filter F3<\/strong>:<br>Condition C5<br>AND<br>F1<br>AND<br>F2<\/td>\n<td>(C5 AND F1) AND F2<br>Meaning (C5 AND (C1 OR C2)) AND (C3 OR C4)<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>The following code creates a filter, accepting events with high priority:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">query<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">filter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, CalendarViews.Event.Priority, CalendarFilter.IntegerMatchType.Equal, CalendarTypes.Priority.High);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SetFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(filter);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetRecordsWithQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(query, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Projection querying<\/p>\n<p>A projection allows you to query the data for only those specific properties of a record that you actually need, at lower latency and cost than retrieving the entire set of properties.<\/p>\n<p>The following example code creates a filter that gets only the event ID and summary from the records with the &quot;test&quot; (string filter) in their summary. Create a query, and add a filter to it; the results are received in a list:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">query<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">filter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, CalendarViews.Event.Summary, CalendarFilter.StringMatchType.Contains, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;test&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SetFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(filter);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">uint<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[] <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">projection<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">uint<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[] {CalendarViews.Event.Summary, CalendarViews.Event.Id};<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SetProjection<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(projection);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetRecordsWithQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(query, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<p><a name=\"change\"><\/a><\/p>\n<h2 id=\"content-database-change-notifications\"><a href=https://samsungtizenos.com/"#content-database-change-notifications\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Database change notifications<\/h2>\n<p>To detect the <a href=https://samsungtizenos.com/"#monitor_event\">event<\/a> and <a href=https://samsungtizenos.com/"#monitor\">todo<\/a> changes in the calendar database, register an event handler with the <code>AddDBChangedDelegate()<\/code> method. To deregister the event handler and ignore database changes, use the <code>RemoveDBChangedDelegate()<\/code> method.<\/p>\n<p>Clients wait for calendar change notifications on the client side. If the calendar is changed by another module, the server publishes an inotify event. The Inotify module broadcasts to the subscribed modules, and an internal inotify handler is called on the client side. A user event handler is called with the user data:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">static<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">DBChangedHandler<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">object<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">DBChangedEventArgs<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">args<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/* Do something *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddDBChangedDelegate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, DBChangedHandler);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"vcal\"><\/a><\/p>\n<h2 id=\"content-vcalendar\"><a href=https://samsungtizenos.com/"#content-vcalendar\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>vCalendar<\/h2>\n<p>Use the vCalendar to exchange personal calendar and schedule information.<\/p>\n<p>vCalendar supports versions 1.0 (.vcs) and 2.0 (.ics). vCalendar version 2.0 is known as iCalendar. For more information on vCalendar, see <a href=https://samsungtizenos.com/"http:////www.ietf.org//rfc//rfc2445.txt/">rfc2445{:target=&quot;_blank&quot;}./n

The following snippet shows an example of the vCalendar:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"\">BEGIN:VCALENDAR<\/span><\/span>\n<span class=\"line\"><span style=\"\">VERSION:2.0<\/span><\/span>\n<span class=\"line\"><span style=\"\">PRODID:-\/\/hacksw\/handcal\/\/NONSGML v1.0\/\/EN<\/span><\/span>\n<span class=\"line\"><span style=\"\">BEGIN:VEVENT<\/span><\/span>\n<span class=\"line\"><span style=\"\">DTSTART:19970714T170000Z<\/span><\/span>\n<span class=\"line\"><span style=\"\">DTEND:19970715T035959Z<\/span><\/span>\n<span class=\"line\"><span style=\"\">SUMMARY:Bastille Day Party<\/span><\/span>\n<span class=\"line\"><span style=\"\">END:VEVENT<\/span><\/span>\n<span class=\"line\"><span style=\"\">END:VCALENDAR<\/span><\/span>\n<span class=\"line\"><span style=\"\"><\/span><\/span><\/code><\/pre>\n<p>To use the vCalendar, follow the steps below:<\/p>\n<ol>\n<li>\n<p>You can use the calendar service to <a href=https://samsungtizenos.com/"#make\">compose a vCalendar stream<\/a>. With the stream, it is possible to transmit data in JSON format:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarList<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(record);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">stream<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> CalendarVcalendar.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Compose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(list);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>You can <a href=https://samsungtizenos.com/"#parse\">parse the vCalendar<\/a>:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">stream<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;BEGIN:VCALENDAR<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">VERSION<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:1.0<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">BEGIN<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">VEVENT<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">SUMMARY<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">test1<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">DTSTART<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:20140721<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">T000000Z<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">DTEND<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:20140721<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">T010000Z<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">AALARM<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">;TYPE<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">=<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">WAVE;VALUE=CONTENT-ID:19960903T060000;PT15M;4;<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;DALARM:19960415T235000;PT5M;2;Your Taxes Are Due !!!<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;MALARM:;TYPE=WAVE;VALUE=URL:19960415T235959; ; ; file:\/\/\/mmedia\/taps.wav<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;END:VEVENT<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;END:VCALENDAR<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> CalendarVcalendar.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Parse<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(stream);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<h2 id=\"content-prerequisites\"><a href=https://samsungtizenos.com/"#content-prerequisites\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Prerequisites<\/h2>\n<p>To enable your application to use the calendar functionality, follow these steps:<\/p>\n<ol>\n<li>\n<p>To use the calendar, the application has to request permission by adding the following privileges to the <code>tizen-manifest.xml<\/code> file:<\/p>\n<code class=\"language-XML\">&lt;privileges&gt;\n &lt;privilege&gt;http:\/\/tizen.org\/privilege\/calendar.read&lt;\/privilege&gt;\n &lt;privilege&gt;http:\/\/tizen.org\/privilege\/calendar.write&lt;\/privilege&gt;\n&lt;\/privileges&gt;\n<\/code>\n<\/li>\n<li>\n<p>To use the methods and properties of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.md/">Tizen.Pims.Calendar namespace, include it in your application:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">using<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Pims<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Calendar<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To access the calendar database, create a new instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarManager.md/">Tizen.Pims.Calendar.CalendarManager class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"create_event\"><\/a><\/p>\n<h2 id=\"content-create-an-event\"><a href=https://samsungtizenos.com/"#content-create-an-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Create an event<\/h2>\n<p>Creating a new event involves creating an event instance, setting its properties, and inserting it into the calendar database.<\/p>\n<p>Some event properties are defined as child records that are associated with the parent record.<\/p>\n<p>To create a new event, follow these steps:<\/p>\n<ol>\n<li>\n<p>Create the event as an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord class, with the <code>CalendarViews.Event.Uri<\/code> property as a parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the event properties:<\/p>\n<ul>\n<li>\n<p>Set the subject:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Summary, &quot;summary&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the description:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Description, &quot;description&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the time zone for the start and end times:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.StartTzid, &quot;Asia\/Seoul&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the start and end times:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">start<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">1404036000<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">); <\/span><span style=\"color:#6F42C1;--shiki-dark:#6A737D\">\/\/\/ 2014\/06\/29 10:00:00 UTC<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">end<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(start.UtcTime <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">3600<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">); <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ 1 hour later<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;CalendarTime&gt;(CalendarViews.Event.Start, start);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;CalendarTime&gt;(CalendarViews.Event.End, end);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To create a recurring event:<\/p>\n<ol>\n<li>\n<p>Set the frequency.<\/p>\n<p>In the following example, the event is set to occur every month on the 3rd, 4th, and 5th day:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.Freq, CalendarTypes.Recurrence.Monthly);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Event.Interval, <\/span><span style=\"color:#005CC5;--shiki-dark:#E1E4E8\">1<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Event.Bymonthday, <\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\">&quot;3,4,5&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the range of recurrence.<\/p>\n<p>In the following example, the event is set to occur a total of 8 times:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.RangeType, CalendarTypes.RangeType.Count);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.Count, 8);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Based on the recurrence settings above and the start time (set in the previous step) of June 29, this event occurs 8 times: on Jul 3, 4, and 5, on Aug 3, 4, and 5, and on Sep 3 and 4.<\/p>\n<\/li>\n<li>\n<p>Add an alarm.<\/p>\n<p>To add an alarm, create an alarm record as an instance of the <code>Tizen.Pims.Calendar.CalendarRecord<\/code> class, set the alarm properties, and insert the alarm as a child record to the event.<\/p>\n<p>In the following example, the alarm is defined to activate 60 seconds before the event start time:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">alarm<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Alarm.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">alarm<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Alarm<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">TickUnit<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarTypes<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">TickUnit<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Specific<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">alarm.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Alarm.AlarmTime, <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1404036000<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">-<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">60<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)); <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/\/ 60 sec before starttime (1404036000)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.AddChild(CalendarViews.Event.Alarm, alarm);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarTypes.TickUnit.md/">Tizen.Pims.Calendar.CalendarTypes.TickUnit enumeration defines the available alarm tick units.<\/p>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>If you use <code>Tizen.Pims.Calendar.CalendarTypes.TickUnit.Specific<\/code> as a tick unit, specify the alarm time in Unix time.<\/p>\n<\/div>\n<\/li>\n<li>\n<p>Add an attendee.<\/p>\n<p>To add an attendee, create an attendee record as an instance of the <code>Tizen.Pims.Calendar.CalendarRecord<\/code> class, set the attendee properties, and insert the attendee as a child record to the event.<\/p>\n<p>In the following example, 1 attendee named John is added:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">attendee<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Attendee.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">attendee<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Attendee<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Name<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">John<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.AddChild(CalendarViews.Event.Attendee, attendee);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<p>Set other event properties similarly, as needed.<\/p>\n<\/li>\n<li>\n<p>Insert the event into the calendar database using the <code>Insert()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class. All child records added to the event are inserted automatically along with the parent.<\/p>\n<p>The system assigns a unique ID to the event, and the method returns it:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">recordId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Insert<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(record);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"get_event\"><\/a><\/p>\n<h2 id=\"content-retrieve-events\"><a href=https://samsungtizenos.com/"#content-retrieve-events\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Retrieve events<\/h2>\n<p>To retrieve a single event, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Retrieve an event record using the <code>Get()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class, with the event ID as the second parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, eventId);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the event instance and release all its resources using the <code>Dispose()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Dispose();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p>To retrieve multiple events:<\/p>\n<ol>\n<li>\n<p>Retrieve a list of all events, or retrieve a filtered list of events:<\/p>\n<ul>\n<li>\n<p>To retrieve a list of all events, use the <code>GetAll()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetAll<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To retrieve a filtered list of events:<\/p>\n<ol>\n<li>\n<p>Create a query as an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarQuery.md/">Tizen.Pims.Calendar.CalendarQuery class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">query<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Create a filter using the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarFilter.md/">Tizen.Pims.Calendar.CalendarFilter class and adding conditions.<\/p>\n<p>The following example adds a string-based filtering condition that retrieves the events whose summary field contains the string &quot;summary to find&quot;:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">filter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, CalendarViews.Event.Summary, CalendarFilter.StringMatchType.Contains, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;summary to find&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To add more conditions, define an operator between the conditions.<\/p>\n<p>The following example adds an AND operator along with a second condition, which is a string-based filtering condition that retrieves the events whose description field contains the string &quot;description to find&quot;.<\/p>\n<p>The combination of the AND operator and the 2 conditions means that the filter only retrieves the events that contain &quot;summary to find&quot; in their summary and &quot;description to find&quot; in their description:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddCondition<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarFilter.LogicalOperator.And, CalendarViews.Event.Description, CalendarFilter.StringMatchType.Contains, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;description to find&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>You can also create a filter with integer and time conditions. For example, to filter all-day events that start after January 1st, 2016:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">start<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">2016<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">1<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">1<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">AddCondition<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarFilter.LogicalOperator.And, CalendarViews.Event.Start, CalendarFilter.IntegerMatchType.GreaterThanOrEqual, start);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the filter to the query using the <code>SetFilter()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarQuery<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">SetFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(filter);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Retrieve the filtered list of events using the <code>GetRecordsWithQuery()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class:<\/p>\n<\/li>\n<\/ol>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">```csharp<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> var list = manager.Database.GetRecordsWithQuery(query, 0, 0);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\"> ```<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">The<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">third<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">parameter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">defines<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">a<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">limit<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">for<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">the<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">number<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">of<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">results<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">.<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">If<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">you<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">it<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">to<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">the<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">returns<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">all<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">events<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">matching<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">the<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">query<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">.<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<ol start=\"6\">\n<li>\n<p>When no longer needed, destroy the filter and query instances and release all their resources using the <code>Dispose()<\/code> methods of the <code>Tizen.Pims.Calendar.CalendarFilter<\/code> and <code>Tizen.Pims.Calendar.CalendarQuery<\/code> classes, respectively:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Use a loop to iterate through the list and retrieve the event details.<\/p>\n<p>Move forward and backward within the event list using the <code>MovePrevious()<\/code> and <code>MoveNext()<\/code> methods of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarList.md/">Tizen.Pims.Calendar.CalendarList class, and retrieve the current event with the <code>GetCurrentRecord()<\/code> method.<\/p>\n<p>The following example iterates through the list and retrieves the summary of each event:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetAll<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MoveFirst<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">while<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (record <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetCurrentRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">summary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> record.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Event.Summary);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MoveNext<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the list instance and release all its resources using the <code>Dispose()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"update_event\"><\/a><\/p>\n<h2 id=\"content-update-an-event\"><a href=https://samsungtizenos.com/"#content-update-an-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Update an event<\/h2>\n<p>To update event details, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Retrieve the event you want to update using the <code>Get()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class, with the event ID as the second parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, eventId);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>You can also retrieve the event using the <code>GetRecordsWithQuery()<\/code> method.<\/p>\n<\/li>\n<li>\n<p>Set the properties you want to update.<\/p>\n<p>The following example sets a new subject and description for the event:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Summary, &quot;Updated Summary&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Description, &quot;Updated Description&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Update the event using the <code>Update()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Update<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(record);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the event and database manager instances and release all their resources using the <code>Dispose()<\/code> methods of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarManager.md/">Tizen.Pims.Calendar.CalendarManager classes, respectively:<\/p>\n<\/li>\n<\/ol>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">```csharp<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">record.Dispose();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">manager.Dispose();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">```<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"delete_event\"><\/a><\/p>\n<h2 id=\"content-delete-an-event\"><a href=https://samsungtizenos.com/"#content-delete-an-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Delete an event<\/h2>\n<p>To delete an event, use the <code>Delete()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class, with the event ID as the second parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Database<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Delete<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Event<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Uri<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">eventId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"exception_add\"><\/a><\/p>\n<h2 id=\"content-remove-an-instance-from-a-recurring-event\"><a href=https://samsungtizenos.com/"#content-remove-an-instance-from-a-recurring-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Remove an instance from a recurring event<\/h2>\n<p>To remove an event instance from a recurring event, follow these steps:<\/p>\n<ol>\n<li>\n<p>Create a recurring event.<\/p>\n<p>The following example creates an event with the following properties:<\/p>\n<ul>\n<li>Frequency: monthly<\/li>\n<li>Interval: 1<\/li>\n<li>Days of the month: &quot;3, 4, 5&quot;<\/li>\n<li>Range type: count<\/li>\n<li>Count: 8<\/li>\n<\/ul>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Summary, &quot;test&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.StartTzid, &quot;Asia\/Seoul&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">start<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1349226000<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;CalendarTime&gt;(CalendarViews.Event.Start, start)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.EndTzid, &quot;Asia\/Seoul&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">end<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1354582800<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;CalendarTime&gt;(CalendarViews.Event.End, end);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.Freq, CalendarTypes.Recurrence.Monthly);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.Interval, 1);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Bymonthday, &quot;3,4,5&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.RangeType, CalendarTypes.RangeType.Count);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Event.Count, 8);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The event has 8 instances:<\/p>\n<p><strong>Table: Event instances<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Unix time<\/th>\n<th>Date time<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1349226000 <br>1349312400 <br> 1349398800 <br>1351904400 <br>1351990800<br> 1352077200 <br>1354496400<br> 1354582800<\/td>\n<td>2012-10-03 01:00:00 <br>2012-10-04 01:00:00 <br>2012-10-05 01:00:00 <br>2012-11-03 01:00:00 <br>2012-11-04 01:00:00 <br>2012-11-05 01:00:00 <br>2012-12-03 01:00:00 <br>2012-12-04 01:00:00<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/li>\n<li>\n<p>Create the exception by setting the <code>Exdate<\/code> property.<\/p>\n<p>In vCalendar 2.0 (RFC 2445), the <code>Exdate<\/code> property is used to identify a deleted instance. If multiple instances are deleted, datetimes are added with a comma (for example, <code>20121104T010000Z, 20121105T010000Z, 20121203T010000Z<\/code>):<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Event.Exdate, &quot;20121104T010000Z&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Insert the event into the calendar database using the <code>Insert()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">eventId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Insert<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(record);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"exception_modify\"><\/a><\/p>\n<h2 id=\"content-add-an-exception-to-a-recurring-event\"><a href=https://samsungtizenos.com/"#content-add-an-exception-to-a-recurring-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Add an exception to a recurring event<\/h2>\n<p>To add an exception to a recurring event:<\/p>\n<ol>\n<li>\n<p>Make sure you have an existing recurring event.<\/p>\n<\/li>\n<li>\n<p>Clone the existing event with the <code>Clone()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord class.<\/p>\n<p>Cloning means that the new event initially has the same properties as the original event. In vCalendar 2.0 (RFC 2445), the recurrence ID is used to identify the modified instance (exception):<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">clone<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> record.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Clone<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">clone<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Event<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">OriginalEventId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">eventId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">clone.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Event.RecurrenceId, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;20121005T010000Z&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Modify or add event properties to create the exception.<\/p>\n<\/li>\n<li>\n<p>Insert the exception into the calendar database using the <code>Insert()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">cloneId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Insert<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(clone);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">clone.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Dispose();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"monitor_event\"><\/a><\/p>\n<h2 id=\"content-monitor-event-changes\"><a href=https://samsungtizenos.com/"#content-monitor-event-changes\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Monitor event changes<\/h2>\n<p>To receive a notification whenever an event changes, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Register an event handler using the <code>AddDBChangedDelegate()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Database<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddDBChangedDelegate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Event<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Uri<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">DBChangedHandler<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Define the event handler:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">static<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">DBChangedHandler<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">object<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">DBChangedEventArgs<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">args<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Do something<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"create\"><\/a><\/p>\n<h2 id=\"content-create-a-todo\"><a href=https://samsungtizenos.com/"#content-create-a-todo\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Create a todo<\/h2>\n<p>Creating a new todo involves creating a todo instance, setting its properties, and inserting it into the calendar database.<\/p>\n<p>Some todo properties are defined as child records that are associated with the parent record. For a detailed list of the todo properties, see the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarViews.Todo.md/">Tizen.Pims.Calendar.CalendarViews.Todo view description. If the property type is <code>child list<\/code>, the property is defined as a child record.<\/p>\n<p>To create a new todo, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Create the todo as an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord class, with the <code>Uri<\/code> property of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class as a parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>Records created as instances of the <code>Tizen.Pims.Calendar.CalendarRecord<\/code> class are memory objects. If you change these objects, the changes are not reflected in the calendar database until you explicitly insert or update the objects to the database using the <code>Insert()<\/code> or <code>Update()<\/code> methods of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class.<\/p>\n<\/div>\n<\/li>\n<li>\n<p>Set the todo properties:<\/p>\n<ul>\n<li>\n<p>Set the subject.<\/p>\n<p>To set the subject for the todo, use the <code>Set&lt;string&gt;()<\/code> method with the <code>Summary<\/code> property of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class as the first parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Todo.Summary, &quot;Summary&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the description.<\/p>\n<p>To set the description for the todo, use the <code>Set&lt;string&gt;()<\/code> method with the <code>Description<\/code> property of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class as the first parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Todo.Description, &quot;Description&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the due time.<\/p>\n<p>To set the due time for the todo, use the <code>Set&lt;CalendarTime&gt;()<\/code> method with the <code>Due<\/code> property of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class as the first parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">due<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">1404036000<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">); <\/span><span style=\"color:#24292E;--shiki-dark:#6A737D\">\/\/\/ 2014\/06\/29 11:00:00 UTC<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Set<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarTime<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Todo<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Due<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">due<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the status.<\/p>\n<p>To set the status for the todo, use the <code>Set&lt;int&gt;()<\/code> with the <code>Status<\/code> property of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class as the first parameter. The <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarTypes.TodoStatus.md/">Tizen.Pims.Calendar.Calendar/u200bTypes./u200bTodo/u200bStatus enumeration defines the possible status values:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;int&gt;(CalendarViews.Todo.Status, CalendarTypes.TodoStatus.NeedAction);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<p>Set other todo properties similarly, as needed.<\/p>\n<\/li>\n<li>\n<p>Insert the todo into the calendar database using the <code>Insert()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class. All child records added to the todo are inserted automatically along with the parent:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">int<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">todoId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Insert<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(record);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the todo and database manager instances and release all their resources using the <code>Dispose()<\/code> methods of the <code>Tizen.Pims.Calendar.CalendarRecord<\/code> and <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarManager.md/">Tizen.Pims.Calendar.CalendarManager classes, respectively:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Dispose();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">manager.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"get\"><\/a><\/p>\n<h2 id=\"content-retrieve-todos\"><a href=https://samsungtizenos.com/"#content-retrieve-todos\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Retrieve todos<\/h2>\n<p>To retrieve a single todo, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Retrieve a todo record using the <code>Get()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord class with the todo ID as the second parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri, todoId);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the todo instance and release all its resources using the <code>Dispose()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Dispose();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p>To retrieve multiple todos:<\/p>\n<ol>\n<li>\n<p>Retrieve a list of all todos, or retrieve a filtered list of todos:<\/p>\n<ul>\n<li>\n<p>To retrieve a list of all todos, use the <code>GetAll()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetAll<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To retrieve a filtered list of todos:<\/p>\n<ol>\n<li>\n<p>Create a query as an instance of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarQuery.md/">Tizen.Pims.Calendar.CalendarQuery class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">query<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Create a filter using the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarFilter.md/">Tizen.Pims.Calendar.CalendarFilter class and adding conditions.<\/p>\n<p>The following example adds a string-based filtering condition that retrieves the todos whose summary field contains the string &quot;summary to find&quot;:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">filter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">CalendarFilter<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri, CalendarViews.Todo.Summary, CalendarFilter.StringMatchType.Contains, <\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">&quot;summary to find&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To add more conditions, define an operator between the conditions.<\/p>\n<p>The following example adds an AND operator along with a second condition, which is a string-based filtering condition that retrieves the todos whose description field contains the string &quot;description to find&quot;.<\/p>\n<p>The combination of the AND operator and the 2 conditions means that the filter only retrieves the todos that contain &quot;summary to find&quot; in their summary and &quot;description to find&quot; in their description:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddCondition<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarFilter.LogicalOperator.And, CalendarViews.Todo.Description, CalendarFilter.StringMatchType.Contains, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;description to find&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>You can also create a filter with integer and time conditions. For example, to filter all completed todos:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">AddCondition<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarFilter.LogicalOperator.And, CalendarViews.Todo.Status, CalendarFilter.IntegerMatchType.Equal, CalendarTypes.TodoStatus.Completed);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Set the filter to the query using the <code>SetFilter()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarQuery<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">SetFilter<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(filter);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Retrieve the filtered list of todos using the <code>GetRecordsWithQuery()<\/code> method of the <code>Tizen.Pims.Calendar.CalendarDatabase<\/code> class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetRecordsWithQuery<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(query, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The third parameter defines a limit for the number of results. If you set it to 0, the list returns all todos matching the query.<\/p>\n<\/li>\n<li>\n<p>When no longer needed, destroy the filter and query instances and release all their resources using the <code>Dispose()<\/code> methods of the <code>Tizen.Pims.Calendar.CalendarFilter<\/code> and <code>Tizen.Pims.Calendar.CalendarQuery<\/code> classes, respectively:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">filter.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">query.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Use a loop to iterate through the list and retrieve the todo details.<\/p>\n<p>Move forward and backward within the event list using the <code>MovePrevious()<\/code> and <code>MoveNext()<\/code> methods of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarList.md/">Tizen.Pims.Calendar.CalendarList class, and retrieve the current event using the <code>GetCurrentRecord()<\/code> method.<\/p>\n<p>The following example iterates through the list and retrieves the summary of each todo:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetAll<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MoveFirst<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">while<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (record <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> list.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetCurrentRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">summary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> record.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Todo.Summary);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MoveNext<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the list instance and release all its resources using the <code>Dispose()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarList.md/">Tizen.Pims.Calendar.CalendarList class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"update\"><\/a><\/p>\n<h2 id=\"content-update-a-todo\"><a href=https://samsungtizenos.com/"#content-update-a-todo\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Update a todo<\/h2>\n<p>To update todo details, follow these steps:<\/p>\n<ol>\n<li>\n<p>Retrieve the todo you want to update using the <code>Get()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarManager.md/">Tizen.Pims.Calendar.CalendarManager class with the todo ID as the second parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.Database.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Todo.Uri, todoId);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>You can also retrieve the todo using the <code>GetRecordsWithQuery()<\/code> method.<\/p>\n<\/li>\n<li>\n<p>Set the properties you want to update.<\/p>\n<p>The following example sets a new subject and description for the todo:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Todo.Summary, &quot;Updated Summary&quot;);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Set&lt;string&gt;(CalendarViews.Todo.Description, &quot;Updated Description&quot;);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Update the todo using the <code>Update()<\/code> method:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">manager.Database.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Update<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(record);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the todo and database manager instances and release all their resources using the <code>Dispose()<\/code> methods of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarRecord.md/">Tizen.Pims.Calendar.CalendarRecord and <code>Tizen.Pims.Calendar.CalendarManager<\/code> classes, respectively:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">record.Dispose();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">manager.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"delete\"><\/a><\/p>\n<h2 id=\"content-delete-a-todo\"><a href=https://samsungtizenos.com/"#content-delete-a-todo\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Delete a todo<\/h2>\n<p>To delete a todo, use the <code>Delete()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarManager.md/">Tizen.Pims.Calendar.CalendarManager class, with the todo ID as the second parameter:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Database<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Delete<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Todo<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Uir<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">todoId<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"monitor\"><\/a><\/p>\n<h2 id=\"content-monitor-todo-changes\"><a href=https://samsungtizenos.com/"#content-monitor-todo-changes\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Monitor todo changes<\/h2>\n<p>To receive a notification whenever a todo changes, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Register an event handler using the <code>AddDBChangedDelegate()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarDatabase.md/">Tizen.Pims.Calendar.CalendarDatabase class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Database<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddDBChangedDelegate<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">CalendarViews<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Todo<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">Uri<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">DBChangedHandler<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Define the event handler:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">static<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">DBChangedHandler<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">object<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">DBChangedEventArgs<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#B392F0\">args<\/span><span style=\"color:#D73A49;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Do something<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"make\"><\/a><\/p>\n<h2 id=\"content-create-a-vcalendar\"><a href=https://samsungtizenos.com/"#content-create-a-vcalendar\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Create a vCalendar<\/h2>\n<p>To create a vCalendar stream from an event, follow these steps:<\/p>\n<ol>\n<li>\n<p>Retrieve the event:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">manager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarManager<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> manager.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(CalendarViews.Event.Uri, eventId);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Create a vCalendar stream from the event:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">CalendarList<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AddRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#E1E4E8\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">stream<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> CalendarVcalendar.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Compose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(list);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When no longer needed, destroy the list instance and release all its resources:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">Dispose<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"parse\"><\/a><\/p>\n<h2 id=\"content-parse-a-vcalendar\"><a href=https://samsungtizenos.com/"#content-parse-a-vcalendar\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Parse a vCalendar<\/h2>\n<p>To parse a vCalendar from a file and insert its content into the calendar database, follow the steps below:<\/p>\n<ol>\n<li>\n<p>Parse the vCalendar stream using the <code>Parse()<\/code> method of the <a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Pims.Calendar.CalendarVcalendar.md/">Tizen.Pims.Calendar.CalendarVcalendar class:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">stream<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;BEGIN:VCALENDAR<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">VERSION<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:1.0<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">BEGIN<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">VEVENT<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">SUMMARY<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">test1<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">DTSTART<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:20140721<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">T000000Z<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">DTEND<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:20140721<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">T010000Z<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">r<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\<\/span><span style=\"color:#6F42C1;--shiki-dark:#79B8FF\">n<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">AALARM<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">;TYPE<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">=<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">WAVE;VALUE<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">=<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">CONTENT<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">-<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">ID<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#9ECBFF;--shiki-dark-font-style:inherit\">19960903T060000<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">;PT15M;<\/span><span style=\"color:#005CC5;--shiki-dark:#9ECBFF\">4<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">;<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#F97583\">+<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">DALARM<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#9ECBFF;--shiki-dark-font-style:inherit\">19960415T235000<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">;PT5M;<\/span><span style=\"color:#005CC5;--shiki-dark:#9ECBFF\">2<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">;Your Taxes Are Due <\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">!!!<\/span><span style=\"color:#24292E;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#F97583\">+<\/span><span style=\"color:#032F62;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#6F42C1;--shiki-dark:#9ECBFF\">MALARM<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">:;TYPE<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">=<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">WAVE;VALUE<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">=<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">URL<\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">:<\/span><span style=\"color:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#9ECBFF;--shiki-dark-font-style:inherit\">19960415T235959<\/span><span style=\"color:#24292E;--shiki-dark:#9ECBFF\">; ; ; <\/span><span style=\"color:#D73A49;--shiki-dark:#9ECBFF\">file:<\/span><span style=\"color:#6A737D;--shiki-dark:#9ECBFF\">\/\/\/mmedia\/taps.wav<\/span><span style=\"color:#6A737D;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#6A737D;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;END:VEVENT<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;END:VCALENDAR<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">\\r\\n<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">&quot;<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">list<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> CalendarVcalendar.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Parse<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(stream);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Iterate through the list of found records, and retrieve record details.<\/p>\n<p>The vCalendar stream can contain multiple events or todos:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">list.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">MoveFirst<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">var<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">record<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">while<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (record <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> list.<\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">GetCurrentRecord<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#24292E;--shiki-dark:#B392F0\">summary<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> record.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&lt;<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">&gt;(CalendarViews.Todo.Summary);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> list.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MoveNext<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<h2 id=\"content-related-information\"><a href=https://samsungtizenos.com/"#content-related-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Related information<\/h2>\n<ul>\n<li>Dependencies\n<ul>\n<li>Tizen 4.0 and Higher<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-records\">Records<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-child-records\">Child records<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-calendar-books\">Calendar books<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-event-instances-and-reminders\">Event instances and reminders<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-exceptions\">Exceptions<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-reminders\">Reminders<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-filters-and-queries\">Filters and queries<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-database-change-notifications\">Database change notifications<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-vcalendar\">vCalendar<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-prerequisites\">Prerequisites<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-create-an-event\">Create an event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-retrieve-events\">Retrieve events<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-update-an-event\">Update an event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-delete-an-event\">Delete an event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-remove-an-instance-from-a-recurring-event\">Remove an instance from a recurring event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-add-an-exception-to-a-recurring-event\">Add an exception to a recurring event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-monitor-event-changes\">Monitor event changes<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-create-a-todo\">Create a todo<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-retrieve-todos\">Retrieve todos<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-update-a-todo\">Update a todo<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-delete-a-todo\">Delete a todo<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-monitor-todo-changes\">Monitor todo changes<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-create-a-vcalendar\">Create a vCalendar<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-parse-a-vcalendar\">Parse a vCalendar<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"Calendar","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"APmrDWGo0XuWGtj94JAS","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/pims\/calendar","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"1bacbee57e0a024e85bb391065fe88c53366c880a20be8f389d616493381fc12"}" wire:effects="[]" wire:id="APmrDWGo0XuWGtj94JAS" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtY2FsZW5kYXJcIj48YSBocmVmPVwiI2NvbnRlbnQtY2FsZW5kYXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkNhbGVuZGFyPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPkEgY2FsZW5kYXIgaXMgYSBzeXN0ZW0gb2Ygb3JnYW5pemluZyBkYXlzIGZvciBzb2NpYWwgcHVycG9zZXMuIEl0IGlzIGNvbXBvc2VkIG9mIDxhIGhyZWY9XCIjcmVjb3JkMlwiPnJlY29yZHM8XC9hPiwgc3VjaCBhcyBldmVudHMgYW5kIHRvZG9zLiBUaGUgcmVjb3JkcyBjb25zaXN0IG9mIHN1YnJlY29yZHMsIHN1Y2ggYXMgYWxhcm1zLCBhdHRlbmRlZXMsIG9yIGV4dGVuc2lvbnMuIEZvciBleGFtcGxlLCBpZiBhbiBldmVudCBpcyByZWN1cnJpbmcsIHNlcGFyYXRlIGluc3RhbmNlcyBhcmUgZ2VuZXJhdGVkIGZvciBlYWNoIHRpbWUgdGhlIGV2ZW50IG9jY3Vycy48XC9wPlxuPHA+VGhlIGNhbGVuZGFyIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiBhIGNhbGVuZGFyIGRhdGFiYXNlLiBUbyBtYW5hZ2UgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBkYXRhYmFzZSwgeW91IG11c3QgPGEgaHJlZj1cIiNwcmVyZXF1aXNpdGVzXCI+Y3JlYXRlIGEgY2FsZW5kYXIgbWFuYWdlciBpbnN0YW5jZTxcL2E+LjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGZpZ3VyZSBpbGx1c3RyYXRlcyB0aGUgY2FsZW5kYXIgbW9kZWwuPFwvcD5cbjxwPjxzdHJvbmc+RmlndXJlOiBDYWxlbmRhciBtb2RlbDxcL3N0cm9uZz48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvY2FsZW5kYXJfbW9kZWwucG5nXCIgYWx0PVwiQ2FsZW5kYXIgbW9kZWxcIiBcLz48XC9wPlxuPHA+VGhlIG1haW4gZmVhdHVyZXMgb2YgdGhlIFRpemVuLlBpbXMuQ2FsZW5kYXIgbmFtZXNwYWNlIGluY2x1ZGUgdGhlIGZvbGxvd2luZzo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+Q2FsZW5kYXIgYm9va3M8XC9wPlxuPHVsPlxuPGxpPkRldGVybWluZSB3aGVyZSB0aGUgZXZlbnRzIGFuZCB0b2RvcyBiZWxvbmcuPFwvbGk+XG48bGk+Q3JlYXRlIDxhIGhyZWY9XCIjYm9va1wiPmNhbGVuZGFyIGJvb2tzPFwvYT4gdXNpbmcgdGhlIGxvY2FsIGRldmljZSAod2l0aCBubyBhY2NvdW50KSwgc2VydmljZSBwcm92aWRlcnMsIHN1Y2ggYXMgR29vZ2xlIG9yIFlhaG9vICh3aXRoIGFuIGFjY291bnQpLCBvciBhcHBsaWNhdGlvbnMsIHN1Y2ggYXMgSm95biBvciBGYWNlYm9vay48XC9saT5cbjxsaT5TZWFyY2ggYW5kIG9yZ2FuaXplIGV2ZW50cyB1c2luZyA8YSBocmVmPVwiI2ZpbHRlcjJcIj5maWx0ZXJzIGFuZCBxdWVyaWVzPFwvYT4uPFwvbGk+XG48bGk+TW9uaXRvciA8YSBocmVmPVwiI2NoYW5nZVwiPmRhdGFiYXNlIGNoYW5nZXM8XC9hPi48XC9saT5cbjxcL3VsPlxuPHA+RWFjaCBhY2NvdW50IGNhbiBoYXZlIG11bHRpcGxlIGNhbGVuZGFyIGJvb2tzLiBUaGUgY2FsZW5kYXIgYm9vayBuYW1lIGRvZXMgbm90IG5lZWQgdG8gYmUgdW5pcXVlIG9uIHRoZSBkZXZpY2UgYmVjYXVzZSBpdCBpcyBoYW5kbGVkIHdpdGggYW4gSUQuIFNpbmNlIHRoZSBsb2NhbCBkZXZpY2UgYWRkcmVzcyBib29rIGhhcyBubyBhY2NvdW50LCBpdHMgcmVsYXRlZCBhY2NvdW50IElEIGlzIHplcm8uPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+RXZlbnRzIGFuZCB0b2RvczxcL3A+XG48dWw+XG48bGk+TWFuYWdlIDxhIGhyZWY9XCIjZXZlbnRcIj5ldmVudCBpbnN0YW5jZXM8XC9hPi48XC9saT5cbjxsaT5DcmVhdGUgPGEgaHJlZj1cIiNjcmVhdGVfZXZlbnRcIj5ldmVudHM8XC9hPiBhbmQgPGEgaHJlZj1cIiNjcmVhdGVcIj50b2RvczxcL2E+LCBzZXQgcHJvcGVydGllcyBmb3IgdGhlbSwgc3VjaCBhcyBzdW1tYXJ5LCBzdGFydCB0aW1lLCBhbmQgZGVzY3JpcHRpb24sIGFuZCBzdG9yZSB0aGVtIGluIHRoZSBkYXRhYmFzZS48XC9saT5cbjxsaT5VcGRhdGUgPGEgaHJlZj1cIiN1cGRhdGVfZXZlbnRcIj5ldmVudDxcL2E+IGFuZCA8YSBocmVmPVwiI3VwZGF0ZVwiPnRvZG88XC9hPiBkZXRhaWxzIGluIHRoZSBkYXRhYmFzZS48XC9saT5cbjxsaT5EZWxldGUgPGEgaHJlZj1cIiNkZWxldGVfZXZlbnRcIj5ldmVudHM8XC9hPiBhbmQgPGEgaHJlZj1cIiNkZWxldGVcIj50b2RvczxcL2E+IGZyb20gdGhlIGRhdGFiYXNlLjxcL2xpPlxuPGxpPlNldCA8YSBocmVmPVwiI3JlbWluZFwiPnJlbWluZGVyczxcL2E+LjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuPHA+VGhlIGNhbGVuZGFyIHNlcnZpY2Ugc3VwcG9ydHMgPGEgaHJlZj1cIiN2Y2FsXCI+dkNhbGVuZGFyczxcL2E+LjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGZpZ3VyZSBpbGx1c3RyYXRlcyB0aGUgZGlmZmVyZW50IENhbGVuZGFyIGVudGl0aWVzIGFuZCB0aGVpciByZWxhdGlvbnNoaXBzLjxcL3A+XG48cD48c3Ryb25nPkZpZ3VyZTogQ2FsZW5kYXIgZW50aXRpZXM8XC9zdHJvbmc+PFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL2NhbGVuZGFyX2VudGl0eS5wbmdcIiBhbHQ9XCJDYWxlbmRhciBlbnRpdGllc1wiIFwvPjxcL3A+XG48cD48YSBuYW1lPVwicmVjb3JkMlwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcmVjb3Jkc1wiPjxhIGhyZWY9XCIjY29udGVudC1yZWNvcmRzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5SZWNvcmRzPFwvaDI+XG48cD5BIHJlY29yZCByZXByZXNlbnRzIGFuIGFjdHVhbCByZWNvcmQgaW4gdGhlIGludGVybmFsIGRhdGFiYXNlLCBidXQgeW91IGNhbiBjb25zaWRlciBpdCBhcyBhIHN0cnVjdHVyZSBkZXNjcmliaW5nIGEgc2luZ2xlIGJ1dCBjb21wbGV4IGVudGl0eSwgc3VjaCBhcyBhIGNhbGVuZGFyIGV2ZW50IG9yIGEgdGltZSB6b25lLjxcL3A+XG48cD5BIHJlY29yZCBoYXMgbWFueSBwcm9wZXJ0aWVzLCBmb3IgZXhhbXBsZSwgYSB0b2RvIHJlY29yZCBoYXMgdGhlIHRvZG8gZGVzY3JpcHRpb24sIHByaW9yaXR5LCBwcm9ncmVzcywgY3JlYXRpb24gdGltZSwgbGFzdCBtb2RpZmllZCBhbmQgY29tcGxldGVkIHRpbWUsIGFuZCBtYW55IG90aGVyIHByb3BlcnRpZXMuIEEgcmVjb3JkIGNhbiBhbHNvIGNvbnRhaW4gYW4gaWRlbnRpZmllciBmaWVsZCwgd2hpY2ggaG9sZHMgdGhlIElEIG9mIGFub3RoZXIgcmVjb3JkLiBTZXR0aW5nIHRoaXMgZmllbGQncyB2YWx1ZSBlc3RhYmxpc2hlcyBhIHJlbGF0aW9uIGJldHdlZW4gdGhlIHJlY29yZHMsIGZvciBleGFtcGxlLCBhIGNhbGVuZGFyIGV2ZW50IGNvbnRhaW5zIHRoZSBJRCBvZiBhIGNhbGVuZGFyIGJvb2sgdG8gd2hpY2ggaXQgYmVsb25ncy48XC9wPlxuPHA+UmVjb3JkcyBhcmUgc3RvcmVkIGFzIGluc3RhbmNlcyBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclJlY29yZC5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQ8XC9hPiBjbGFzcy4gVGhlIGZvbGxvd2luZyBleGFtcGxlcyBpbGx1c3RyYXRlIGNyZWF0aW5nIGEgbmV3IHJlY29yZCBhbmQgcmV0cmlldmluZyBhbiBleGlzdGluZyByZWNvcmQgYnkgdXNpbmcgaXRzIElEOjxcL3A+XG48dWw+XG48bGk+XG48cD5DcmVhdGluZyBhIG5ldyByZWNvcmQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5SZXRyaWV2aW5nIGFuIGV4aXN0aW5nIHJlY29yZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpLCBldmVudElkKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC91bD5cbjxwPlRvIG1hbmFnZSB0aGUgcmVjb3JkLCB5b3UgY2FuIHVzZSB0aGUgY2xhc3NlcyBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzPFwvYT4gbmFtZXNwYWNlIGFuZCB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclR5cGVzLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclR5cGVzPFwvYT4gY2xhc3M6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPlVSSTxcL3A+XG48cD5BIHJlY29yZCB0eXBlIGlzIGlkZW50aWZpZWQgYnkgYSBzdHJ1Y3R1cmUgY2FsbGVkIHRoZSB2aWV3LiBGb3IgZXhhbXBsZSwgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5FdmVudC5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5FdmVudDxcL2E+IGNsYXNzIGRlc2NyaWJlcyB0aGUgcHJvcGVydGllcyBvZiB0aGUgY2FsZW5kYXIgZXZlbnQgcmVjb3JkLiBFdmVyeSBjbGFzcyBpbiB0aGUgVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzIG5hbWVzcGFjZSBoYXMgYSA8Y29kZT5Vcmk8XC9jb2RlPiBmaWVsZCB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHZpZXcuIEluIG1hbnkgY2FzZXMsIHlvdSBtdXN0IHByb3ZpZGUgdGhlIDxjb2RlPlVyaTxcL2NvZGU+IHZhbHVlIHRvIGluZGljYXRlIHdoYXQgdHlwZSBvZiByZWNvcmQgeW91IHdhbnQgdG8gY3JlYXRlIG9yIG9wZXJhdGUgb246PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5WaWV3cyBhbmQgcHJvcGVydGllczxcL3A+XG48cD5HZW5lcmljIGFjY2VzcyBtZXRob2RzIGNhbiBiZSB1c2VkIChhY2NvcmRpbmcgdG8gZGF0YS12aWV3IGRlY2xhcmF0aW9ucykgdG8gYWNjZXNzIGNhbGVuZGFyIHZpZXdzLiBBIGRhdGEtdmlldyBpcyBhbG1vc3QgdGhlIHNhbWUgYXMgYSBkYXRhYmFzZSAmcXVvdDtWSUVXJnF1b3Q7LCB3aGljaCBsaW1pdHMgYWNjZXNzIGFuZCBndWFyYW50ZWVzIHBlcmZvcm1hbmNlLiBBICZxdW90O3JlY29yZCZxdW90OyByZXByZXNlbnRzIGEgc2luZ2xlIHJvdyBvZiB0aGUgZGF0YS12aWV3cy48XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogQ2FsZW5kYXIgdmlld3M8XC9zdHJvbmc+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlZpZXdzPFwvdGg+XG48dGg+RGVzY3JpcHRpb248XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLkJvb2s8XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBob2xkcyBjYWxlbmRhciBib29rIHByb3BlcnRpZXMsIHN1Y2ggYXMgbmFtZSwgY29sb3IsIGFuZCB2aXNpYmlsaXR5Ljxicj5UaGVyZSBhcmUgMyA8YSBocmVmPVwiI2Jvb2tcIj5kZWZhdWx0IGNhbGVuZGFyIGJvb2tzPFwvYT4gZm9yIHRoZSBsb2NhbCBldmVudCwgdG9kbywgYW5kIGJpcnRoZGF5IGV2ZW50IHR5cGVzLjxicj5DYWxlbmRhciBib29rcyBjYW4gYmUgY3JlYXRlZCBieSBzZXJ2aWNlIHByb3ZpZGVycywgc3VjaCBhcyBHb29nbGUgb3IgWWFob28gKHdpdGggYW4gYWNjb3VudCksIG9yIGJ5IGFwcGxpY2F0aW9ucywgc3VjaCBhcyBKb3luIG9yIEZhY2Vib29rLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLkV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UaGlzIHZpZXcgaG9sZHMgZXZlbnQgcHJvcGVydGllcywgc3VjaCBhcyBhIHN1bW1hcnksIGRlc2NyaXB0aW9uLCBhbmQgbG9jYXRpb24uPGJyPkFsYXJtcywgYXR0ZW5kZWVzLCBhbmQgZXh0ZW5kZWQgdmlld3MgY2FuIGJlIGluc2VydGVkIGFzIGNoaWxkIHJlY29yZHMgZm9yIGFuIGV2ZW50Ljxicj5SZWN1cnJlbmNlIHByb3BlcnRpZXMgY2FuIGJlIHNldCB0byBtYWtlIGEgcmVwZWF0aW5nIGV2ZW50LCBzdWNoIGFzIGEgYmlydGhkYXkuPGJyPlRoZSByZWN1cnJlbmNlIHJ1bGVzIGZvbGxvdyB0aGUgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cuaWV0Zi5vcmdcL3JmY1wvcmZjMjQ0NS50eHRcIj52Q2FsZW5kYXIyLjAgc3BlY2lmaWNhdGlvbjxcL2E+ezp0YXJnZXQ9JnF1b3Q7X2JsYW5rJnF1b3Q7fS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5Ub2RvPFwvY29kZT48XC90ZD5cbjx0ZD5UaGlzIHZpZXcgaG9sZHMgdG9kbyBwcm9wZXJ0aWVzLCBzdWNoIGFzIGR1ZSB0aW1lLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLkFsYXJtPFwvY29kZT48XC90ZD5cbjx0ZD5UaGlzIHZpZXcgaG9sZHMgbm90aWZpY2F0aW9uIHByb3BlcnRpZXMuIE11bHRpcGxlIGFsYXJtcyBjYW4gYmUgaW5zZXJ0ZWQgaW50byBhbiBldmVudCBvciB0b2RvLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLkF0dGVuZGVlPFwvY29kZT48XC90ZD5cbjx0ZD5UaGlzIHZpZXcgaG9sZHMgYXR0ZW5kZWUgcHJvcGVydGllcy4gTXVsdGlwbGUgYXR0ZW5kZWVzIGNhbiBiZSBpbnNlcnRlZCBpbnRvIGFuIGV2ZW50IG9yIHRvZG8uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuVGltZXpvbmU8XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBob2xkcyB0aW1lIHpvbmUgcHJvcGVydGllcy48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5JbnN0YW5jZVV0aW1lQm9vazxcL2NvZGU+PFwvdGQ+XG48dGQ+VGhpcyB2aWV3IGhhcyB0aGUgY29tYmluZWQgcHJvcGVydGllcyBvZiBpbnN0YW5jZSBhbmQgYm9vay48YnI+SW5zdGFuY2VzIGFyZSBnZW5lcmF0ZWQgZGVwZW5kaW5nIG9uIHRpbWUgdHlwZSAoPGNvZGU+VXRjVGltZTxcL2NvZGU+IG9yIDxjb2RlPkxvY2FsVGltZTxcL2NvZGU+KS48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5JbnN0YW5jZUxvY2FsdGltZUJvb2s8XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBoYXMgdGhlIGNvbWJpbmVkIHByb3BlcnRpZXMgb2YgaW5zdGFuY2UgYW5kIGJvb2suIFRoZSBpbnN0YW5jZSB2aWV3IGlzIHVzZWQgdG8gZ2V0IHJlcGVhdCBpbnN0YW5jZXMuPGJyPkluc3RhbmNlcyBhcmUgZ2VuZXJhdGVkIGRlcGVuZGluZyBvbiB0aGUgdGltZSB0eXBlICg8Y29kZT5VdGNUaW1lPFwvY29kZT4gb3IgPGNvZGU+TG9jYWxUaW1lPFwvY29kZT4pLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLkluc3RhbmNlVXRpbWVCb29rRXh0ZW5kZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBoYXMgdGhlIGNvbWJpbmVkIHByb3BlcnRpZXMgb2YgaW5zdGFuY2UsIGJvb2ssIGFuZCBleHRlbmRlZC4gVGhlIGluc3RhbmNlIHZpZXcgaXMgdXNlZCB0byBnZXQgcmVwZWF0IGluc3RhbmNlcy48YnI+SW5zdGFuY2VzIGFyZSBnZW5lcmF0ZWQgZGVwZW5kaW5nIG9uIHRoZSB0aW1lIHR5cGUgKDxjb2RlPlV0Y1RpbWU8XC9jb2RlPiBvciA8Y29kZT5Mb2NhbFRpbWU8XC9jb2RlPikuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuSW5zdGFuY2VMb2NhbHRpbWVCb29rRXh0ZW5kZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBoYXMgdGhlIGNvbWJpbmVkIHByb3BlcnRpZXMgb2YgaW5zdGFuY2UsIGJvb2ssIGFuZCBleHRlbmRlZC4gVGhlIGluc3RhbmNlIHZpZXcgaXMgdXNlZCB0byBnZXQgcmVwZWF0IGluc3RhbmNlcy48YnI+SW5zdGFuY2VzIGFyZSBnZW5lcmF0ZWQgZGVwZW5kaW5nIG9uIHRoZSB0aW1lIHR5cGUgKDxjb2RlPlV0Y1RpbWU8XC9jb2RlPiBvciA8Y29kZT5Mb2NhbFRpbWU8XC9jb2RlPikuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuVXBkYXRlZEluZm88XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBoYXMgcHJvcGVydGllcyB0byB1c2Ugd2hlbiBpZGVudGlmeWluZyByZWNvcmQgY2hhbmdlcyBkZXBlbmRpbmcgb24gdGhlIHZlcnNpb24uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuRXh0ZW5kZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRoaXMgdmlldyBoYXMgdGhlIGtleVwvdmFsdWUgcHJvcGVydGllcyB0byBhZGQgZXh0ZW5kZWQgZGF0YS48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48XC9saT5cbjxsaT5cbjxwPlRoZSBjYWxlbmRhciBzZXJ2aWNlIHVzZXMgYSB2ZXJzaW9uIHN5c3RlbS4gV2hlbmV2ZXIgbW9kaWZpY2F0aW9ucyBhcmUgbWFkZSB0byB0aGUgZGF0YWJhc2UsIHRoZSB2ZXJzaW9uIG51bWJlciBpcyBpbmNyZWFzZWQuIElmIHN5bmMgYXBwbGljYXRpb25zLCBzdWNoIGFzIEdvb2dsZSBvciBGYWNlYm9vaywgc3luYyBhdCB2ZXJzaW9uIDEzIGFuZCB0cnkgdG8gc3luYyBhZ2FpbiBldmVyeSAxIG1pbnV0ZSwgdGhleSB3YW50IHRvIGdldCB0aGUgY2hhbmdlcyBmcm9tIHZlcnNpb24gMTQgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbi4gVG8gZ2V0IHRoZSBjdXJyZW50IHZlcnNpb24sIHVzZSB0aGUgPGNvZGU+VmVyc2lvbjxcL2NvZGU+IHByb3BlcnR5IG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2UubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9hPiBjbGFzcy4gWW91IGNhbiByZXRyaWV2ZSB0aGUgbW9kaWZpZWQgcmVjb3JkIGxpc3Qgd2l0aCB0aGUgPGNvZGU+R2V0Q2hhbmdlc0J5VmVyc2lvbigpPFwvY29kZT4gbWV0aG9kOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+dmVyc2lvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnZlcnNpb24gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS5WZXJzaW9uOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmN1cnJlbnRWZXJzaW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5jaGFuZ2VzbGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRDaGFuZ2VzQnlWZXJzaW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4uLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LiwgY3VycmVudFZlcnNpb24pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmxhc3RWZXJzaW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldExhc3RDaGFuZ2VWZXJzaW9uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4obGFzdFZlcnNpb24pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPkJhc2ljIHR5cGVzPFwvcD5cbjxwPlJlY29yZHMgY29udGFpbiBwcm9wZXJ0aWVzIG9mIGJhc2ljIHR5cGVzOiA8Y29kZT5pbnRlZ2VyPFwvY29kZT4sIDxjb2RlPmxvbmc8XC9jb2RlPiwgPGNvZGU+ZG91YmxlPFwvY29kZT4sIDxjb2RlPnN0cmluZzxcL2NvZGU+LCBhbmQgPGNvZGU+Q2FsZW5kYXJUaW1lPFwvY29kZT4uPFwvcD5cbjxwPlRoZSA8Y29kZT5DYWxlbmRhclRpbWU8XC9jb2RlPiB0eXBlIGhvbGRzIGEgdGltZSBzdGFtcCBpbiB0aGUgPGNvZGU+RGF0ZVRpbWU8XC9jb2RlPiBmb3JtYXQuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgdGFibGUgbGlzdHMgdGhlIHNldHRlciBhbmQgZ2V0dGVyIG1ldGhvZHMgZm9yIGVhY2ggdHlwZS48XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogU2V0dGVyIGFuZCBnZXR0ZXIgbWV0aG9kczxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+VHlwZTxcL3RoPlxuPHRoPlByb3BlcnR5PFwvdGg+XG48dGg+U2V0dGVyPFwvdGg+XG48dGg+R2V0dGVyPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPjxjb2RlPmludGVnZXI8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5FdmVudC5Cb29rSWQ8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPnJlY29yZC5TZXQmbHQ7aW50Jmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkJvb2tJZCwgMyk8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPnJlY29yZC5HZXQmbHQ7aW50Jmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkJvb2tJZCk8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+bG9uZzxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLlRvZG8uQ29tcGxldGVkVGltZTxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+cmVjb3JkLlNldCZsdDtsb25nJmd0OyhDYWxlbmRhclZpZXdzLlRvZG8uQ29tcGxldGVkVGltZSwgMzQ5ODY2MDAwKTxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+cmVjb3JkLkdldCZsdDtsb25nJmd0OyhDYWxlbmRhclZpZXdzLlRvZG8uQ29tcGxldGVkVGltZSk8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+ZG91YmxlPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuRXZlbnQuTGF0aXR1ZGU8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPnJlY29yZC5TZXQmbHQ7ZG91YmxlJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkxhdGl0dWRlLCAzNy41NjYpPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5yZWNvcmQuR2V0Jmx0O2RvdWJsZSZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5MYXRpdHVkZSk8XC9jb2RlPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+c3RyaW5nPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuRXZlbnQuU3VtbWFyeTxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+cmVjb3JkLlNldCZsdDtzdHJpbmcmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuU3VtbWFyeSwgJnF1b3Q7QmlydGhkYXkmcXVvdDspPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5yZWNvcmQuR2V0Jmx0O3N0cmluZyZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5TdW1tYXJ5KTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5DYWxlbmRhclRpbWU8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWaWV3cy5FdmVudC5TdGFydDxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+cmVjb3JkLlNldCZsdDtDYWxlbmRhclRpbWUmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuU3RhcnQsIG5ldyBDYWxlbmRhclRpbWUoMzQ5ODY2MDAwKSk8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPnJlY29yZC5HZXQmbHQ7Q2FsZW5kYXJUaW1lJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0KTxcL2NvZGU+PFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VGhlc2UgbWV0aG9kcyBhbHNvIHJlcXVpcmUgc3BlY2lmeWluZyB3aGljaCBwcm9wZXJ0eSB0byBnZXQgYW5kIHNldCwgYW5kIGZvciB0aGlzLCBldmVyeSBnZXR0ZXIgYW5kIHNldHRlciBtZXRob2QgbmVlZHMgYSByZWNvcmQgYW5kIHByb3BlcnR5IElELjxcL3A+XG48cD5Gb3IgZXhhbXBsZSwgdGhlIHByb3BlcnR5IElEIG9mIGEgPGNvZGU+U3VtbWFyeTxcL2NvZGU+IHByb3BlcnR5IG9mIGFuIGV2ZW50IGlzIDxjb2RlPkNhbGVuZGFyVmlld3MuRXZlbnQuU3VtbWFyeTxcL2NvZGU+LjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgc2V0cyB0aGUgPGNvZGU+U3VtbWFyeTxcL2NvZGU+IHByb3BlcnR5IG9mIGFuIGV2ZW50IHJlY29yZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+U2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5DYWxlbmRhclZpZXdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5FdmVudDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+U3VtbWFyeTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCAmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPk1lZXRpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPlRoZSA8Y29kZT5DYWxlbmRhclRpbWU8XC9jb2RlPiB0eXBlIGNhbiBob2xkIDIgdHlwZXMgb2YgZGF0YS4gVG8gbWFrZSBVVEMgdGltZSwgZXBvY2ggdGltZSBuZWVkcyB0byBiZSBpbnNlcnRlZCBhcyBhIHBhcmFtZXRlci48XC9wPlxuPHA+QmlydGhkYXkgaXMgbm90IGNoYW5nZWQgYmFzZWQgb24gdGhlIHRpbWV6b25lLiBJbiB0aGlzIGNhc2UsIHRoZSBsb2NhbCB0aW1lIHR5cGUgbmVlZHMgdG8gYmUgdXNlZCB0byBmaXggdGhlIGRhdGUuPFwvcD5cbjxwPkZvciBleGFtcGxlLCBzZXR0aW5nIGEgdGltZSB3aXRoIDxjb2RlPm5ldyBDYWxlbmRhclRpbWUoMTk4MSwgMiwgMSwgMCwgMCwgMCk7PFwvY29kZT4gbWVhbnMgdGhhdCB0aGUgZGF0ZSwgMTk4MVwvMDJcLzAxLCBpcyBjb25zdGFudCBpbiBhbGwgY291bnRyaWVzLjxcL3A+XG48cD48c3Ryb25nPlRhYmxlOiBDYWxlbmRhclRpbWUgZGF0YSB0eXBlczxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+SWRlbnRpZmllcjxcL3RoPlxuPHRoPkRlc2NyaXB0aW9uPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPjxjb2RlPkNhbGVuZGFyVGltZS5UeXBlLlV0YzxcL2NvZGU+PFwvdGQ+XG48dGQ+VVRDIHRpbWUgaXMgdXNlZCB0byBkZXNjcmliZSBub24tYWxsLWRheSBldmVudHMuPGJyPkZvciBub24tYWxsLWRheSBldmVudHMsIHlvdSBtdXN0IGNvbnZlcnQgbG9jYWwgdGltZSB0byBVVEMgdGltZS4gVGhlIGxvY2FsIHRpbWUgem9uZSBpZGVudGlmaWVyIG11c3QgYmUgc3RvcmVkIGluIHRoZSByZWNvcmQsIGluIHRoZSBjb3JyZXNwb25kaW5nIHByb3BlcnR5Ljxicj5Gb3IgZXhhbXBsZSwgd2hlbiBzZXR0aW5nIHRoZSBzdGFydCB0aW1lIG9mIGFuIGV2ZW50LCB0aGUgbG9jYWwgdGltZSB6b25lIG11c3QgYmUgc3RvcmVkIGluIHRoZSA8Y29kZT5DYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0VHppZDxcL2NvZGU+IHByb3BlcnR5LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+Q2FsZW5kYXJUaW1lLlR5cGUuTG9jYWw8XC9jb2RlPjxcL3RkPlxuPHRkPkRhdGUgb25seSAoeWVhciwgbW9udGgsIGFuZCBkYXkgb2YgdGhlIG1vbnRoKSBpcyB1c2VkIHRvIGRlc2NyaWJlIGFsbC1kYXkgZXZlbnRzLjxicj5Gb3IgYWxsIGRheSBldmVudHMsIHVzZSA8Y29kZT5DYWxlbmRhclRpbWU8XC9jb2RlPiB3aXRoIHBhcmFtZXRlcnMgKHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kKS48YnI+Qm90aCB0aGUgc3RhcnQgYW5kIGVuZCB0aW1lIG9mIHRoZSBldmVudCBtdXN0IGJlIHNldCwgYW5kIHRoZXkgZG8gbm90IGhhdmUgdG8gYmUgZXF1YWwuIElmIHRoZXkgYXJlIG5vdCwgdGhlIGV2ZW50IGxhc3RzIG1vcmUgdGhhbiAxIGRheS48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48cD5Gb3IgZXhhbXBsZSwgYWRkaW5nIGFuIGV2ZW50IHdpdGggdGhlIGN1cnJlbnQgdGltZTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyVGltZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+aW5wdXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oRGF0ZVRpbWUuTm93LlRpY2tzKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZCA9IG5ldyBDYWxlbmRhclJlY29yZChDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtDYWxlbmRhclRpbWUmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuU3RhcnQsIGlucHV0KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuU2V0Jmx0O3N0cmluZyZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5TdGFydFR6aWQsICZxdW90O0FzaWFcL1Nlb3VsJnF1b3Q7KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+Rm9yIGV4YW1wbGUsIGFkZGluZyBhIGJpcnRoZGF5IG9uIDFzdCBvZiBGZWJydWFyeSwgMTk4MTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyVGltZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+aW5wdXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xOTgxPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjE8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJSZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQgPSBuZXcgQ2FsZW5kYXJSZWNvcmQoQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7Q2FsZW5kYXJUaW1lJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0LCBpbnB1dCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvdWw+XG48cD48YSBuYW1lPVwiY2hpbGRyZW5cIj48XC9hPjxcL3A+XG48aDMgaWQ9XCJjb250ZW50LWNoaWxkLXJlY29yZHNcIj48YSBocmVmPVwiI2NvbnRlbnQtY2hpbGQtcmVjb3Jkc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q2hpbGQgcmVjb3JkczxcL2gzPlxuPHA+QSBjZXJ0YWluIHJlY29yZCB0eXBlIGNhbiBiZSBhIHBhcmVudCBvZiBvdGhlciByZWNvcmRzLiBGb3IgZXhhbXBsZSwgdGhlIGF0dGVuZGVlIHJlY29yZHMgY2FuIGhvbGQgYW4gZXZlbnQgaWRlbnRpZmllciBpbiB0aGVpciA8Y29kZT5QYXJlbnRJZDxcL2NvZGU+IHByb3BlcnR5LiBUaGUgZXZlbnQgaXMgdGhlIHBhcmVudCByZWNvcmQgb2YgdGhlIGF0dGVuZGVlIGNoaWxkIHJlY29yZHMuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgY29kZSBleGFtcGxlIGNyZWF0ZXMgYW4gZXZlbnQgYW5kIGluc2VydHMgYW4gYXR0ZW5kZWUgcmVjb3JkIGludG8gaXQgYXMgYSBjaGlsZCByZWNvcmQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmF0dGVuZGVlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5BdHRlbmRlZS5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmF0dGVuZGVlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoQ2FsZW5kYXJWaWV3cy5BdHRlbmRlZS5OYW1lLCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O0pvaG4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLkFkZENoaWxkKENhbGVuZGFyVmlld3MuRXZlbnQuQXR0ZW5kZWUsIGF0dGVuZGVlKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+PGEgbmFtZT1cImJvb2tcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWNhbGVuZGFyLWJvb2tzXCI+PGEgaHJlZj1cIiNjb250ZW50LWNhbGVuZGFyLWJvb2tzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5DYWxlbmRhciBib29rczxcL2gyPlxuPHA+QSBjYWxlbmRhciBib29rIGlzIGEgY29udGFpbmVyIGZvciBvdGhlciBjYWxlbmRhciByZWNvcmRzLiBFdmVyeSBldmVudCBhbmQgdG9kbyBtdXN0IGJlbG9uZyB0byBhIGNhbGVuZGFyIGJvb2suIFRoZXJlIGFyZSAzIGJ1aWx0LWluIGNhbGVuZGFyIGJvb2tzLCBhcyBzaG93biBpbiB0aGUgZm9sbG93aW5nIHRhYmxlLjxcL3A+XG48cD48c3Ryb25nPlRhYmxlOiBDYWxlbmRhciBib29rczxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+Qm9vazxcL3RoPlxuPHRoPkRlc2NyaXB0aW9uPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPjxjb2RlPkNhbGVuZGFyVHlwZXMuRGVmYXVsdEJvb2suRXZlbnQ8XC9jb2RlPjxcL3RkPlxuPHRkPkxvY2FsIGV2ZW50IGJvb2s8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkNhbGVuZGFyVHlwZXMuRGVmYXVsdEJvb2suVG9kbzxcL2NvZGU+PFwvdGQ+XG48dGQ+TG9jYWwgdG9kbyBib29rPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5DYWxlbmRhclR5cGVzLkRlZmF1bHRCb29rLkJpcnRoZGF5PFwvY29kZT48XC90ZD5cbjx0ZD5Mb2NhbCBiaXJ0aGRheSBib29rPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+VG8gc2V0IGEgY2FsZW5kYXIgYm9vayBJRCBmb3IgYW4gZXZlbnQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlNldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Q2FsZW5kYXJWaWV3czxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+RXZlbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkJvb2tJZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVHlwZXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkRlZmF1bHRCb29rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5FdmVudDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+VG8gcmVjZWl2ZSBhIGxpc3Qgb2YgZXhpc3RpbmcgY2FsZW5kYXIgYm9va3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJNYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmxpc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtYW5hZ2VyLkRhdGFiYXNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0QWxsPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5Cb29rLlVyaSwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+VGhlIDxjb2RlPkdldEFsbCgpPFwvY29kZT4gbWV0aG9kIHJlcXVpcmVzIGFzIGl0cyBwYXJhbWV0ZXJzIHRoZSBVUkkgb2YgdGhlIGNsYXNzIHRvIGdldCByZWNvcmRzIGZyb20sIHRoZSBpbmRleCBmcm9tIHdoaWNoIHJlc3VsdHMgYXJlIHJlY2VpdmVkLCBhbmQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHJlc3VsdHMuPFwvcD5cbjxwPjxhIG5hbWU9XCJldmVudFwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtZXZlbnQtaW5zdGFuY2VzLWFuZC1yZW1pbmRlcnNcIj48YSBocmVmPVwiI2NvbnRlbnQtZXZlbnQtaW5zdGFuY2VzLWFuZC1yZW1pbmRlcnNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkV2ZW50IGluc3RhbmNlcyBhbmQgcmVtaW5kZXJzPFwvaDI+XG48cD5BbiBldmVudCByZWNvcmQgZGVzY3JpYmVzIHZhcmlvdXMgcHJvcGVydGllcywgc3VjaCBhcyBkZXNjcmlwdGlvbiwgY2F0ZWdvcmllcywgYW5kIHByaW9yaXR5LiBJdCBhbHNvIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHdoZW4gdGhlIGV2ZW50IHRha2VzIHBsYWNlLiBJbiBhIHJlY3VycmluZyBldmVudCwgdGhlcmUgaXMgbW9yZSB0aGFuIDEgaW5zdGFuY2Ugb2YgdGhlIGV2ZW50LiBFYWNoIGluc3RhbmNlIGhhcyBpdHMgY29ycmVzcG9uZGluZyBpbnN0YW5jZSByZWNvcmQuPFwvcD5cbjxwPklmIGFuIGV2ZW50IGlzIGluc2VydGVkIHdpdGggYSByZWN1cnJlbmNlIHJ1bGUsIGFsYXJtLCBhbmQgYXR0ZW5kZWUsIGl0cyBkYXRhIGlzIHNhdmVkIHRvIGVhY2ggcmVsZXZhbnQgZGF0YWJhc2UuIEdlbmVyYXRlZCBpbnN0YW5jZXMgYmFzZWQgb24gdGhlIHJlY3VycmVuY2UgcnVsZSBhcmUgYWxzbyBzdG9yZWQgaW4gdGhlIGluc3RhbmNlIGRhdGFiYXNlLjxcL3A+XG48cD48c3Ryb25nPkZpZ3VyZTogVmlld3MgYW5kIGRhdGFiYXNlcyBmb3IgZXZlbnQgaW5zdGFuY2VzPFwvc3Ryb25nPjxcL3A+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9jYWxlbmRhcl9kYi5wbmdcIiBhbHQ9XCJWaWV3cyBhbmQgZGF0YWJhc2VzIGZvciBldmVudCBpbnN0YW5jZXNcIiBcLz48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyB0YWJsZSBpbGx1c3RyYXRlcyBhbiBleGFtcGxlIG9mIGEgcmVjdXJyaW5nIGV2ZW50IGFuZCBpdHMgaW5zdGFuY2VzLjxcL3A+XG48cD48c3Ryb25nPlRhYmxlOiBFdmVudCBhbmQgaW5zdGFuY2UgZXhhbXBsZTxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RXZlbnQgd2l0aCByZWN1cnJlbmNlIHJ1bGU8XC90aD5cbjx0aD5HZW5lcmF0ZWQgaW5zdGFuY2VzPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPlJlY3VycmVuY2UgcnVsZXM6IDxicj5TdGFydCBkYXRlIG9uIDIwMTItMTAtMDkgKFR1ZXNkYXkpPGJyPkZyZXF1ZW5jeSBzZXQgdG8gV0VFS0xZPGJyPkludGVydmFsIHNldCB0byAxPGJyPkNvdW50IHNldCB0byAzPFwvdGQ+XG48dGQ+MjAxMi0xMC0wOSBUdWVzZGF5PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5SZWN1cnJlbmNlIHJ1bGVzOiA8YnI+U3RhcnQgZGF0ZSBvbiAyMDEyLTEwLTA5IChUdWVzZGF5KTxicj5GcmVxdWVuY3kgc2V0IHRvIFdFRUtMWTxicj5JbnRlcnZhbCBzZXQgdG8gMTxicj5Db3VudCBzZXQgdG8gMzxcL3RkPlxuPHRkPjIwMTItMTAtMTYgVHVlc2RheTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+UmVjdXJyZW5jZSBydWxlczogPGJyPlN0YXJ0IGRhdGUgb24gMjAxMi0xMC0wOSAoVHVlc2RheSk8YnI+RnJlcXVlbmN5IHNldCB0byBXRUVLTFk8YnI+SW50ZXJ2YWwgc2V0IHRvIDE8YnI+Q291bnQgc2V0IHRvIDM8XC90ZD5cbjx0ZD4yMDEyLTEwLTIyIFR1ZXNkYXk8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgY2FsZW5kYXIgcmVjdXJyZW5jZSBtb2RlbCBpcyBjb21wbGlhbnQgd2l0aCB0aGUgPGEgaHJlZj1cImh0dHA6XC9cL3d3dy5pZXRmLm9yZ1wvcmZjXC9yZmMyNDQ1LnR4dFwiPmlDYWxlbmRhciBzcGVjaWZpY2F0aW9uPFwvYT57OnRhcmdldD0mcXVvdDtfYmxhbmsmcXVvdDt9LiBUaGUgZm9sbG93aW5nIGV2ZW50IHByb3BlcnRpZXMgaGF2ZSB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGFzIHRoZWlyIGNvcnJlc3BvbmRpbmcgdmFsdWVzIGluIGlDYWxlbmRhcjo8XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogUmVjdXJyZW5jZSBydWxlczxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+UmVjdXJyZW5jZSBydWxlIHByb3BlcnR5PFwvdGg+XG48dGg+RGVzY3JpcHRpb248XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PGNvZGU+RnJlcTxcL2NvZGU+PFwvdGQ+XG48dGQ+WWVhcmx5LCBtb250aGx5LCB3ZWVrbHksIG9yIGRhaWx5PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Db3VudDxcL2NvZGU+PFwvdGQ+XG48dGQ+VW50aWwgY291bnQuIElmIHRoZSBjb3VudCBpcyAzLCAzIGluc3RhbmNlcyBhcmUgZ2VuZXJhdGVkPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5JbnRlcnZhbDxcL2NvZGU+PFwvdGQ+XG48dGQ+SW50ZXJ2YWwgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyIHJlcHJlc2VudGluZyBob3cgb2Z0ZW4gdGhlIHJlY3VycmVuY2UgcnVsZSByZXBlYXRzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5CeWRheTxcL2NvZGU+PFwvdGQ+XG48dGQ+TU8sIFRVLCBXRSwgVEgsIEZSLCBTQSwgb3IgU1U8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkJ5bW9udGhkYXk8XC9jb2RlPjxcL3RkPlxuPHRkPkRheXMgb2YgdGhlIG1vbnRoPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5CeXllYXJkYXk8XC9jb2RlPjxcL3RkPlxuPHRkPkRheXMgb2YgdGhlIHllYXI8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkJ5d2Vla25vPFwvY29kZT48XC90ZD5cbjx0ZD5PcmRpbmFscyBzcGVjaWZ5aW5nIHdlZWtzIG9mIHRoZSB5ZWFyPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5CeW1vbnRoPFwvY29kZT48XC90ZD5cbjx0ZD5Nb250aHMgb2YgdGhlIHllYXI8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkJ5c2V0cG9zPFwvY29kZT48XC90ZD5cbjx0ZD5WYWx1ZXMgd2hpY2ggY29ycmVzcG9uZCB0byB0aGUgbnRoIG9jY3VycmVuY2Ugd2l0aGluIHRoZSBzZXQgb2YgZXZlbnRzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Xa3N0PFwvY29kZT48XC90ZD5cbjx0ZD5EYXkgb24gd2hpY2ggdGhlIHdvcmt3ZWVrIHN0YXJ0czxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPldoZW4geW91IGhhdmUgYSByZWN1cnJpbmcgZXZlbnQsIHlvdSBjYW4gPGEgaHJlZj1cIiNleGNlcHRpb25fYWRkXCI+cmVtb3ZlIGEgc3BlY2lmaWMgcmVjdXJyZW5jZSBpbnN0YW5jZTxcL2E+IGZyb20gaXQsIG9yIDxhIGhyZWY9XCIjZXhjZXB0aW9uX21vZGlmeVwiPmFkZCBleGNlcHRpb25zIHRvIHRoZSByZWN1cnJlbmNlPFwvYT4uPFwvcD5cbjxwPjxhIG5hbWU9XCJleGNlcHRpb25fcnVsZVwiPjxcL2E+PFwvcD5cbjxoMyBpZD1cImNvbnRlbnQtZXhjZXB0aW9uc1wiPjxhIGhyZWY9XCIjY29udGVudC1leGNlcHRpb25zXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5FeGNlcHRpb25zPFwvaDM+XG48cD5JZiAxIGluc3RhbmNlIG9mIGEgcmVjdXJyaW5nIGV2ZW50IGlzIG1vZGlmaWVkIChzdWNoIGFzIGl0cyBzdW1tYXJ5IG9yIGRhdGUpIG9yIGRlbGV0ZWQsIGl0IGlzIGNhbGxlZCBhbiBleGNlcHRpb24uIEZvciBleGFtcGxlLCBpZiB0aGUgc2Vjb25kIGluc3RhbmNlIGRhdGUgaXMgbW9kaWZpZWQgZnJvbSAxNnRoIHRvIDE3dGgsIDE3dGggaXMgdGhlIGV4Y2VwdGlvbi48XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogRXhjZXB0aW9uIGV4YW1wbGU8XC9zdHJvbmc+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkV2ZW50PFwvdGg+XG48dGg+SW5zdGFuY2VzPFwvdGg+XG48dGg+RXhjZXB0aW9uczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5SZWN1cnJlbmNlIHJ1bGVzOjxicj5TdGFydCBkYXRlIG9uIDIwMTItMTAtMDkgKFR1ZXNkYXkpPGJyPkZyZXF1ZW5jeSBzZXQgdG8gV0VFS0xZPGJyPkludGVydmFsIHNldCB0byAxPGJyPkNvdW50IHNldCB0byAzPFwvdGQ+XG48dGQ+MjAxMi0xMC0wOSBUdWVzZGF5PFwvdGQ+XG48dGQ+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5SZWN1cnJlbmNlIHJ1bGVzOjxicj5TdGFydCBkYXRlIG9uIDIwMTItMTAtMDkgKFR1ZXNkYXkpPGJyPkZyZXF1ZW5jeSBzZXQgdG8gV0VFS0xZPGJyPkludGVydmFsIHNldCB0byAxPGJyPkNvdW50IHNldCB0byAzPFwvdGQ+XG48dGQ+MjAxMi0xMC0xNiBUdWVzZGF5ICZndDsgbW9kaWZpZWQ8XC90ZD5cbjx0ZD4yMDEyLTEwLTE3IFR1ZXNkYXk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPlJlY3VycmVuY2UgcnVsZXM6PGJyPlN0YXJ0IGRhdGUgb24gMjAxMi0xMC0wOSAoVHVlc2RheSk8YnI+RnJlcXVlbmN5IHNldCB0byBXRUVLTFk8YnI+SW50ZXJ2YWwgc2V0IHRvIDE8YnI+Q291bnQgc2V0IHRvIDM8XC90ZD5cbjx0ZD4yMDEyLTEwLTIyIFR1ZXNkYXk8XC90ZD5cbjx0ZD48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48cD48YSBuYW1lPVwicmVtaW5kXCI+PFwvYT48XC9wPlxuPGgzIGlkPVwiY29udGVudC1yZW1pbmRlcnNcIj48YSBocmVmPVwiI2NvbnRlbnQtcmVtaW5kZXJzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5SZW1pbmRlcnM8XC9oMz5cbjxwPlRoZSBmb2xsb3dpbmcgZmlndXJlIGlsbHVzdHJhdGVzIGhvdyB0aGUgYWxhcm0gcHJvY2VzcyB3b3Jrcy48XC9wPlxuPHA+PHN0cm9uZz5GaWd1cmU6IEFsYXJtIHByb2Nlc3M8XC9zdHJvbmc+PFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL2NhbGVuZGFyX2FsYXJtLnBuZ1wiIGFsdD1cIkFsYXJtIHByb2Nlc3NcIiBcLz48XC9wPlxuPHA+VG8gZ2V0IGEgcmVtaW5kZXIgd2hlbiBhbiBhbGFybSBpcyB0cmlnZ2VyZWQsIHRoZSBhcHBsaWNhdGlvbiBtdXN0IHNldCB0aGUgcmVtaW5kZXIgTUlNRSBuYW1lLiBBZnRlciB0aGUgcmVtaW5kZXIgTUlNRSBuYW1lIGlzIHNldCwgaW5zZXJ0IGFuIGFsYXJtIGFzIGEgY2hpbGQgb2YgYW4gZXZlbnQgcmVjb3JkOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIFNldCBhbGFybTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+YWxhcm08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJSZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkFsYXJtLlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YWxhcm0uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0OyhDYWxlbmRhclZpZXdzLkFsYXJtLlRpY2tVbml0LCBDYWxlbmRhclR5cGVzLlRpY2tVbml0LlNwZWNpZmljKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gNjAgc2VjcyBiZWZvcmUgMTQwNDAzNjAwMCAoU3VuLCAyOSBKdW4gMjAxNCAxMDowMDowMCBHTVQpPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YWxhcm0uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyVGltZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0OyhDYWxlbmRhclZpZXdzLkFsYXJtLkFsYXJtVGltZSwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyVGltZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MTQwNDAzNjAwMDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+LTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+NjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPikpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gQWRkIGFsYXJtIGFzIGNoaWxkPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJSZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLkFkZENoaWxkKENhbGVuZGFyVmlld3MuRXZlbnQuQWxhcm0sIGFsYXJtKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+V2hlbiB0aGUgcmVnaXN0ZXJlZCBhbGFybSBpcyB0cmlnZ2VyZWQgYW5kIHRoZSBhbGFybSBtYW5hZ2VyIG5vdGljZXMgaXQsIHRoZSBjYWxlbmRhciBzZXJ2aWNlIGNhbGxzIHRob3NlIHBhY2thZ2VzIHRoYXQgaGF2ZSB0aGUgcmVtaW5kZXIgTUlNRSBuYW1lLjxcL3A+XG48cD48YSBuYW1lPVwiZmlsdGVyMlwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtZmlsdGVycy1hbmQtcXVlcmllc1wiPjxhIGhyZWY9XCIjY29udGVudC1maWx0ZXJzLWFuZC1xdWVyaWVzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWx0ZXJzIGFuZCBxdWVyaWVzPFwvaDI+XG48cD5RdWVyaWVzIGFyZSB1c2VkIHRvIHJldHJpZXZlIDxhIGhyZWY9XCIjZ2V0X2V2ZW50XCI+ZXZlbnQ8XC9hPiBhbmQgPGEgaHJlZj1cIiNnZXRcIj50b2RvPFwvYT4gZGF0YSB3aGljaCBzYXRpc2ZpZXMgYSBnaXZlbiBjcml0ZXJpYSwgbGlrZSBhbiBpbnRlZ2VyIHByb3BlcnR5IGJlaW5nIGdyZWF0ZXIgdGhhbiBhIGdpdmVuIHZhbHVlLCBvciBhIHN0cmluZyBwcm9wZXJ0eSBjb250YWluaW5nIGEgZ2l2ZW4gc3Vic3RyaW5nLiBUaGUgY3JpdGVyaWEgYXJlIGRlZmluZWQgYnkgY3JlYXRpbmcgZmlsdGVycyBhbmQgYWRkaW5nIGNvbmRpdGlvbnMgdG8gdGhlbSwgam9pbmluZyB0aGVtIHdpdGggbG9naWNhbCBvcGVyYXRvcnMuIEFsc28sIGluc3RlYWQgb2YgYSBjb25kaXRpb24sIGFub3RoZXIgZmlsdGVyIGNhbiBiZSBhZGRlZCB0byBjcmVhdGUgbW9yZSBjb21wbGV4IGZpbHRlcnMuPFwvcD5cbjxwPldoZW4gYSBmaWx0ZXIgaXMgcmVhZHksIGl0IGNhbiBiZSBzZXQgYXMgYSBwcm9wZXJ0eSBvZiBhIHF1ZXJ5LiBPdGhlciBxdWVyeSBwcm9wZXJ0aWVzIGFsbG93IGNvbmZpZ3VyaW5nIGhvdyB0aGUgcmV0dXJuZWQgcmVzdWx0cyBhcmUgZ3JvdXBlZCBhbmQgc29ydGVkLjxcL3A+XG48cD5UbyBmaWx0ZXIgY2FsZW5kYXIgZGF0YTo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+RmlsdGVyaW5nPFwvcD5cbjxwPlRoZSBvcGVyYXRvciBwcmVjZWRlbmNlIGluIGZpbHRlcnMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIGNvbmRpdGlvbnMgYW5kIGZpbHRlcnMgYXJlIGFkZGVkLiBUaGUgZm9sbG93aW5nIHRhYmxlIHNob3dzIGFuIGV4YW1wbGUgb2YgaG93IHRoZSBvcGVyYXRvciBwcmVjZWRlbmNlIHdvcmtzLjxcL3A+XG48cD48c3Ryb25nPlRhYmxlOiBGaWx0ZXIgY29uZGl0aW9uczxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+Q29uZGl0aW9uPFwvdGg+XG48dGg+UmVzdWx0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPkNvbmRpdGlvbiBDMTxicj5PUjxicj5Db25kaXRpb24gQzI8YnI+QU5EPGJyPkNvbmRpdGlvbiBDMzxcL3RkPlxuPHRkPihDMSBPUiBDMikgQU5EIEMzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48c3Ryb25nPkZpbHRlciBGMTxcL3N0cm9uZz46PGJyPkNvbmRpdGlvbiBDMTxicj5PUjxicj5Db25kaXRpb24gQzI8YnI+PGJyPjxzdHJvbmc+RmlsdGVyIEYyPFwvc3Ryb25nPjo8YnI+Q29uZGl0aW9uIEMzPGJyPk9SPGJyPkNvbmRpdGlvbiBDNDxicj48YnI+PHN0cm9uZz5GaWx0ZXIgRjM8XC9zdHJvbmc+Ojxicj5Db25kaXRpb24gQzU8YnI+QU5EPGJyPkYxPGJyPkFORDxicj5GMjxcL3RkPlxuPHRkPihDNSBBTkQgRjEpIEFORCBGMjxicj5NZWFuaW5nIChDNSBBTkQgKEMxIE9SIEMyKSkgQU5EIChDMyBPUiBDNCk8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48cD5UaGUgZm9sbG93aW5nIGNvZGUgY3JlYXRlcyBhIGZpbHRlciwgYWNjZXB0aW5nIGV2ZW50cyB3aXRoIGhpZ2ggcHJpb3JpdHk6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnF1ZXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUXVlcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5maWx0ZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJGaWx0ZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSwgQ2FsZW5kYXJWaWV3cy5FdmVudC5Qcmlvcml0eSwgQ2FsZW5kYXJGaWx0ZXIuSW50ZWdlck1hdGNoVHlwZS5FcXVhbCwgQ2FsZW5kYXJUeXBlcy5Qcmlvcml0eS5IaWdoKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5xdWVyeS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlNldEZpbHRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGZpbHRlcik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRSZWNvcmRzV2l0aFF1ZXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4ocXVlcnksIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+UHJvamVjdGlvbiBxdWVyeWluZzxcL3A+XG48cD5BIHByb2plY3Rpb24gYWxsb3dzIHlvdSB0byBxdWVyeSB0aGUgZGF0YSBmb3Igb25seSB0aG9zZSBzcGVjaWZpYyBwcm9wZXJ0aWVzIG9mIGEgcmVjb3JkIHRoYXQgeW91IGFjdHVhbGx5IG5lZWQsIGF0IGxvd2VyIGxhdGVuY3kgYW5kIGNvc3QgdGhhbiByZXRyaWV2aW5nIHRoZSBlbnRpcmUgc2V0IG9mIHByb3BlcnRpZXMuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgZXhhbXBsZSBjb2RlIGNyZWF0ZXMgYSBmaWx0ZXIgdGhhdCBnZXRzIG9ubHkgdGhlIGV2ZW50IElEIGFuZCBzdW1tYXJ5IGZyb20gdGhlIHJlY29yZHMgd2l0aCB0aGUgJnF1b3Q7dGVzdCZxdW90OyAoc3RyaW5nIGZpbHRlcikgaW4gdGhlaXIgc3VtbWFyeS4gQ3JlYXRlIGEgcXVlcnksIGFuZCBhZGQgYSBmaWx0ZXIgdG8gaXQ7IHRoZSByZXN1bHRzIGFyZSByZWNlaXZlZCBpbiBhIGxpc3Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnF1ZXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUXVlcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5maWx0ZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJGaWx0ZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSwgQ2FsZW5kYXJWaWV3cy5FdmVudC5TdW1tYXJ5LCBDYWxlbmRhckZpbHRlci5TdHJpbmdNYXRjaFR5cGUuQ29udGFpbnMsIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7dGVzdCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5xdWVyeS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlNldEZpbHRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGZpbHRlcik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnVpbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPltdIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cHJvamVjdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj51aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5bXSB7Q2FsZW5kYXJWaWV3cy5FdmVudC5TdW1tYXJ5LCBDYWxlbmRhclZpZXdzLkV2ZW50LklkfTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5xdWVyeS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlNldFByb2plY3Rpb248XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihwcm9qZWN0aW9uKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5saXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldFJlY29yZHNXaXRoUXVlcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihxdWVyeSwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5maWx0ZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EaXNwb3NlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5xdWVyeS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRpc3Bvc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL3VsPlxuPHA+PGEgbmFtZT1cImNoYW5nZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtZGF0YWJhc2UtY2hhbmdlLW5vdGlmaWNhdGlvbnNcIj48YSBocmVmPVwiI2NvbnRlbnQtZGF0YWJhc2UtY2hhbmdlLW5vdGlmaWNhdGlvbnNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRhdGFiYXNlIGNoYW5nZSBub3RpZmljYXRpb25zPFwvaDI+XG48cD5UbyBkZXRlY3QgdGhlIDxhIGhyZWY9XCIjbW9uaXRvcl9ldmVudFwiPmV2ZW50PFwvYT4gYW5kIDxhIGhyZWY9XCIjbW9uaXRvclwiPnRvZG88XC9hPiBjaGFuZ2VzIGluIHRoZSBjYWxlbmRhciBkYXRhYmFzZSwgcmVnaXN0ZXIgYW4gZXZlbnQgaGFuZGxlciB3aXRoIHRoZSA8Y29kZT5BZGREQkNoYW5nZWREZWxlZ2F0ZSgpPFwvY29kZT4gbWV0aG9kLiBUbyBkZXJlZ2lzdGVyIHRoZSBldmVudCBoYW5kbGVyIGFuZCBpZ25vcmUgZGF0YWJhc2UgY2hhbmdlcywgdXNlIHRoZSA8Y29kZT5SZW1vdmVEQkNoYW5nZWREZWxlZ2F0ZSgpPFwvY29kZT4gbWV0aG9kLjxcL3A+XG48cD5DbGllbnRzIHdhaXQgZm9yIGNhbGVuZGFyIGNoYW5nZSBub3RpZmljYXRpb25zIG9uIHRoZSBjbGllbnQgc2lkZS4gSWYgdGhlIGNhbGVuZGFyIGlzIGNoYW5nZWQgYnkgYW5vdGhlciBtb2R1bGUsIHRoZSBzZXJ2ZXIgcHVibGlzaGVzIGFuIGlub3RpZnkgZXZlbnQuIFRoZSBJbm90aWZ5IG1vZHVsZSBicm9hZGNhc3RzIHRvIHRoZSBzdWJzY3JpYmVkIG1vZHVsZXMsIGFuZCBhbiBpbnRlcm5hbCBpbm90aWZ5IGhhbmRsZXIgaXMgY2FsbGVkIG9uIHRoZSBjbGllbnQgc2lkZS4gQSB1c2VyIGV2ZW50IGhhbmRsZXIgaXMgY2FsbGVkIHdpdGggdGhlIHVzZXIgZGF0YTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0YXRpYzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojQjM5MkYwXCI+REJDaGFuZ2VkSGFuZGxlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+b2JqZWN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zZW5kZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EQkNoYW5nZWRFdmVudEFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC8qIERvIHNvbWV0aGluZyAqXC88XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGREQkNoYW5nZWREZWxlZ2F0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpLCBEQkNoYW5nZWRIYW5kbGVyKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+PGEgbmFtZT1cInZjYWxcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXZjYWxlbmRhclwiPjxhIGhyZWY9XCIjY29udGVudC12Y2FsZW5kYXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPnZDYWxlbmRhcjxcL2gyPlxuPHA+VXNlIHRoZSB2Q2FsZW5kYXIgdG8gZXhjaGFuZ2UgcGVyc29uYWwgY2FsZW5kYXIgYW5kIHNjaGVkdWxlIGluZm9ybWF0aW9uLjxcL3A+XG48cD52Q2FsZW5kYXIgc3VwcG9ydHMgdmVyc2lvbnMgMS4wICgudmNzKSBhbmQgMi4wICguaWNzKS4gdkNhbGVuZGFyIHZlcnNpb24gMi4wIGlzIGtub3duIGFzIGlDYWxlbmRhci4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdkNhbGVuZGFyLCBzZWUgPGEgaHJlZj1cImh0dHA6XC9cL3d3dy5pZXRmLm9yZ1wvcmZjXC9yZmMyNDQ1LnR4dFwiPnJmYzI0NDU8XC9hPns6dGFyZ2V0PSZxdW90O19ibGFuayZxdW90O30uPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgc25pcHBldCBzaG93cyBhbiBleGFtcGxlIG9mIHRoZSB2Q2FsZW5kYXI6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cIlwiPkJFR0lOOlZDQUxFTkRBUjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiXCI+VkVSU0lPTjoyLjA8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cIlwiPlBST0RJRDotXC9cL2hhY2tzd1wvaGFuZGNhbFwvXC9OT05TR01MIHYxLjBcL1wvRU48XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cIlwiPkJFR0lOOlZFVkVOVDxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiXCI+RFRTVEFSVDoxOTk3MDcxNFQxNzAwMDBaPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJcIj5EVEVORDoxOTk3MDcxNVQwMzU5NTlaPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJcIj5TVU1NQVJZOkJhc3RpbGxlIERheSBQYXJ0eTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiXCI+RU5EOlZFVkVOVDxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiXCI+RU5EOlZDQUxFTkRBUjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiXCI+PFwvc3Bhbj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+VG8gdXNlIHRoZSB2Q2FsZW5kYXIsIGZvbGxvdyB0aGUgc3RlcHMgYmVsb3c6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPllvdSBjYW4gdXNlIHRoZSBjYWxlbmRhciBzZXJ2aWNlIHRvIDxhIGhyZWY9XCIjbWFrZVwiPmNvbXBvc2UgYSB2Q2FsZW5kYXIgc3RyZWFtPFwvYT4uIFdpdGggdGhlIHN0cmVhbSwgaXQgaXMgcG9zc2libGUgdG8gdHJhbnNtaXQgZGF0YSBpbiBKU09OIGZvcm1hdDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJMaXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5saXN0LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QWRkUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4ocmVjb3JkKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnN0cmVhbTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IENhbGVuZGFyVmNhbGVuZGFyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q29tcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGxpc3QpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPllvdSBjYW4gPGEgaHJlZj1cIiNwYXJzZVwiPnBhcnNlIHRoZSB2Q2FsZW5kYXI8XC9hPjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3RyZWFtPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtCRUdJTjpWQ0FMRU5EQVI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcclxcbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICAgICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5WRVJTSU9OPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj46MS4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+QkVHSU48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlZFVkVOVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlNVTU1BUlk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPnRlc3QxPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+RFRTVEFSVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+OjIwMTQwNzIxPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5UMDAwMDAwWjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPkRURU5EPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj46MjAxNDA3MjE8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlQwMTAwMDBaPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+QUFMQVJNPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj47VFlQRTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojOUVDQkZGXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+V0FWRTtWQUxVRT1DT05URU5ULUlEOjE5OTYwOTAzVDA2MDAwMDtQVDE1TTs0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFxyXFxuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtEQUxBUk06MTk5NjA0MTVUMjM1MDAwO1BUNU07MjtZb3VyIFRheGVzIEFyZSBEdWUgISEhPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXHJcXG48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O01BTEFSTTo7VFlQRT1XQVZFO1ZBTFVFPVVSTDoxOTk2MDQxNVQyMzU5NTk7IDsgOyBmaWxlOlwvXC9cL21tZWRpYVwvdGFwcy53YXY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcclxcbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICAgICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7RU5EOlZFVkVOVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFxyXFxuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtFTkQ6VkNBTEVOREFSPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXHJcXG48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IENhbGVuZGFyVmNhbGVuZGFyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UGFyc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihzdHJlYW0pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPGgyIGlkPVwiY29udGVudC1wcmVyZXF1aXNpdGVzXCI+PGEgaHJlZj1cIiNjb250ZW50LXByZXJlcXVpc2l0ZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlByZXJlcXVpc2l0ZXM8XC9oMj5cbjxwPlRvIGVuYWJsZSB5b3VyIGFwcGxpY2F0aW9uIHRvIHVzZSB0aGUgY2FsZW5kYXIgZnVuY3Rpb25hbGl0eSwgZm9sbG93IHRoZXNlIHN0ZXBzOjxcL3A+XG48b2w+XG48bGk+XG48cD5UbyB1c2UgdGhlIGNhbGVuZGFyLCB0aGUgYXBwbGljYXRpb24gaGFzIHRvIHJlcXVlc3QgcGVybWlzc2lvbiBieSBhZGRpbmcgdGhlIGZvbGxvd2luZyBwcml2aWxlZ2VzIHRvIHRoZSA8Y29kZT50aXplbi1tYW5pZmVzdC54bWw8XC9jb2RlPiBmaWxlOjxcL3A+XG48Y29kZSBjbGFzcz1cImxhbmd1YWdlLVhNTFwiPiZsdDtwcml2aWxlZ2VzJmd0O1xuICAgJmx0O3ByaXZpbGVnZSZndDtodHRwOlwvXC90aXplbi5vcmdcL3ByaXZpbGVnZVwvY2FsZW5kYXIucmVhZCZsdDtcL3ByaXZpbGVnZSZndDtcbiAgICZsdDtwcml2aWxlZ2UmZ3Q7aHR0cDpcL1wvdGl6ZW4ub3JnXC9wcml2aWxlZ2VcL2NhbGVuZGFyLndyaXRlJmx0O1wvcHJpdmlsZWdlJmd0O1xuJmx0O1wvcHJpdmlsZWdlcyZndDtcbjxcL2NvZGU+XG48XC9saT5cbjxsaT5cbjxwPlRvIHVzZSB0aGUgbWV0aG9kcyBhbmQgcHJvcGVydGllcyBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXI8XC9hPiBuYW1lc3BhY2UsIGluY2x1ZGUgaXQgaW4geW91ciBhcHBsaWNhdGlvbjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnVzaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5UaXplbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UGltczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UbyBhY2Nlc3MgdGhlIGNhbGVuZGFyIGRhdGFiYXNlLCBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJNYW5hZ2VyLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhck1hbmFnZXI8XC9hPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cImNyZWF0ZV9ldmVudFwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtY3JlYXRlLWFuLWV2ZW50XCI+PGEgaHJlZj1cIiNjb250ZW50LWNyZWF0ZS1hbi1ldmVudFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q3JlYXRlIGFuIGV2ZW50PFwvaDI+XG48cD5DcmVhdGluZyBhIG5ldyBldmVudCBpbnZvbHZlcyBjcmVhdGluZyBhbiBldmVudCBpbnN0YW5jZSwgc2V0dGluZyBpdHMgcHJvcGVydGllcywgYW5kIGluc2VydGluZyBpdCBpbnRvIHRoZSBjYWxlbmRhciBkYXRhYmFzZS48XC9wPlxuPHA+U29tZSBldmVudCBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIGFzIGNoaWxkIHJlY29yZHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXJlbnQgcmVjb3JkLjxcL3A+XG48cD5UbyBjcmVhdGUgYSBuZXcgZXZlbnQsIGZvbGxvdyB0aGVzZSBzdGVwczo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+Q3JlYXRlIHRoZSBldmVudCBhcyBhbiBpbnN0YW5jZSBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclJlY29yZC5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQ8XC9hPiBjbGFzcywgd2l0aCB0aGUgPGNvZGU+Q2FsZW5kYXJWaWV3cy5FdmVudC5Vcmk8XC9jb2RlPiBwcm9wZXJ0eSBhcyBhIHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlNldCB0aGUgZXZlbnQgcHJvcGVydGllczo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+U2V0IHRoZSBzdWJqZWN0OjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtzdHJpbmcmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuU3VtbWFyeSwgJnF1b3Q7c3VtbWFyeSZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+U2V0IHRoZSBkZXNjcmlwdGlvbjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7c3RyaW5nJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkRlc2NyaXB0aW9uLCAmcXVvdDtkZXNjcmlwdGlvbiZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+U2V0IHRoZSB0aW1lIHpvbmUgZm9yIHRoZSBzdGFydCBhbmQgZW5kIHRpbWVzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtzdHJpbmcmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuU3RhcnRUemlkLCAmcXVvdDtBc2lhXC9TZW91bCZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+U2V0IHRoZSBzdGFydCBhbmQgZW5kIHRpbWVzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zdGFydDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclRpbWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjE0MDQwMzYwMDA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIDIwMTRcLzA2XC8yOSAxMDowMDowMCBVVEM8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclRpbWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmVuZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclRpbWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihzdGFydC5VdGNUaW1lIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MzYwMDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTsgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gMSBob3VyIGxhdGVyPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7Q2FsZW5kYXJUaW1lJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0LCBzdGFydCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtDYWxlbmRhclRpbWUmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuRW5kLCBlbmQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRvIGNyZWF0ZSBhIHJlY3VycmluZyBldmVudDo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+U2V0IHRoZSBmcmVxdWVuY3kuPFwvcD5cbjxwPkluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgdGhlIGV2ZW50IGlzIHNldCB0byBvY2N1ciBldmVyeSBtb250aCBvbiB0aGUgM3JkLCA0dGgsIGFuZCA1dGggZGF5OjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJSZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuRnJlcSwgQ2FsZW5kYXJUeXBlcy5SZWN1cnJlbmNlLk1vbnRobHkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlNldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuSW50ZXJ2YWwsIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+MTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkJ5bW9udGhkYXksIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+JnF1b3Q7Myw0LDUmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+U2V0IHRoZSByYW5nZSBvZiByZWN1cnJlbmNlLjxcL3A+XG48cD5JbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsIHRoZSBldmVudCBpcyBzZXQgdG8gb2NjdXIgYSB0b3RhbCBvZiA4IHRpbWVzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuUmFuZ2VUeXBlLCBDYWxlbmRhclR5cGVzLlJhbmdlVHlwZS5Db3VudCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuQ291bnQsIDgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+QmFzZWQgb24gdGhlIHJlY3VycmVuY2Ugc2V0dGluZ3MgYWJvdmUgYW5kIHRoZSBzdGFydCB0aW1lIChzZXQgaW4gdGhlIHByZXZpb3VzIHN0ZXApIG9mIEp1bmUgMjksIHRoaXMgZXZlbnQgb2NjdXJzIDggdGltZXM6IG9uIEp1bCAzLCA0LCBhbmQgNSwgb24gQXVnIDMsIDQsIGFuZCA1LCBhbmQgb24gU2VwIDMgYW5kIDQuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+QWRkIGFuIGFsYXJtLjxcL3A+XG48cD5UbyBhZGQgYW4gYWxhcm0sIGNyZWF0ZSBhbiBhbGFybSByZWNvcmQgYXMgYW4gaW5zdGFuY2Ugb2YgdGhlIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQ8XC9jb2RlPiBjbGFzcywgc2V0IHRoZSBhbGFybSBwcm9wZXJ0aWVzLCBhbmQgaW5zZXJ0IHRoZSBhbGFybSBhcyBhIGNoaWxkIHJlY29yZCB0byB0aGUgZXZlbnQuPFwvcD5cbjxwPkluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZSwgdGhlIGFsYXJtIGlzIGRlZmluZWQgdG8gYWN0aXZhdGUgNjAgc2Vjb25kcyBiZWZvcmUgdGhlIGV2ZW50IHN0YXJ0IHRpbWU6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFsYXJtPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5BbGFybS5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmFsYXJtPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0Oyg8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVmlld3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkFsYXJtPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5UaWNrVW5pdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVHlwZXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlRpY2tVbml0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5TcGVjaWZpYzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5hbGFybS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlNldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7KENhbGVuZGFyVmlld3MuQWxhcm0uQWxhcm1UaW1lLCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xNDA0MDM2MDAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4tPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj42MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KSk7IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIDYwIHNlYyBiZWZvcmUgc3RhcnR0aW1lICgxNDA0MDM2MDAwKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuQWRkQ2hpbGQoQ2FsZW5kYXJWaWV3cy5FdmVudC5BbGFybSwgYWxhcm0pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5UaGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclR5cGVzLlRpY2tVbml0Lm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclR5cGVzLlRpY2tVbml0PFwvYT4gZW51bWVyYXRpb24gZGVmaW5lcyB0aGUgYXZhaWxhYmxlIGFsYXJtIHRpY2sgdW5pdHMuPFwvcD5cbjxkaXYgY2xhc3M9XCJtZC1hbGVydCBtZC1hbGVydC1ub3RlXCI+XG48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvMjAwMFwvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCA4YTggOCAwIDEgMSAxNiAwQTggOCAwIDAgMSAwIDhabTgtNi41YTYuNSA2LjUgMCAxIDAgMCAxMyA2LjUgNi41IDAgMCAwIDAtMTNaTTYuNSA3Ljc1QS43NS43NSAwIDAgMSA3LjI1IDdoMWEuNzUuNzUgMCAwIDEgLjc1Ljc1djIuNzVoLjI1YS43NS43NSAwIDAgMSAwIDEuNWgtMmEuNzUuNzUgMCAwIDEgMC0xLjVoLjI1di0yaC0uMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaTTggNmExIDEgMCAxIDEgMC0yIDEgMSAwIDAgMSAwIDJaXCJcLz48XC9zdmc+Tm90ZTxcL3NwYW4+XG48cD5JZiB5b3UgdXNlIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJUeXBlcy5UaWNrVW5pdC5TcGVjaWZpYzxcL2NvZGU+IGFzIGEgdGljayB1bml0LCBzcGVjaWZ5IHRoZSBhbGFybSB0aW1lIGluIFVuaXggdGltZS48XC9wPlxuPFwvZGl2PlxuPFwvbGk+XG48bGk+XG48cD5BZGQgYW4gYXR0ZW5kZWUuPFwvcD5cbjxwPlRvIGFkZCBhbiBhdHRlbmRlZSwgY3JlYXRlIGFuIGF0dGVuZGVlIHJlY29yZCBhcyBhbiBpbnN0YW5jZSBvZiB0aGUgPGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclJlY29yZDxcL2NvZGU+IGNsYXNzLCBzZXQgdGhlIGF0dGVuZGVlIHByb3BlcnRpZXMsIGFuZCBpbnNlcnQgdGhlIGF0dGVuZGVlIGFzIGEgY2hpbGQgcmVjb3JkIHRvIHRoZSBldmVudC48XC9wPlxuPHA+SW4gdGhlIGZvbGxvd2luZyBleGFtcGxlLCAxIGF0dGVuZGVlIG5hbWVkIEpvaG4gaXMgYWRkZWQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmF0dGVuZGVlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5BdHRlbmRlZS5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmF0dGVuZGVlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0Oyg8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVmlld3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkF0dGVuZGVlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5OYW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5Kb2huPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5BZGRDaGlsZChDYWxlbmRhclZpZXdzLkV2ZW50LkF0dGVuZGVlLCBhdHRlbmRlZSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvdWw+XG48cD5TZXQgb3RoZXIgZXZlbnQgcHJvcGVydGllcyBzaW1pbGFybHksIGFzIG5lZWRlZC48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5JbnNlcnQgdGhlIGV2ZW50IGludG8gdGhlIGNhbGVuZGFyIGRhdGFiYXNlIHVzaW5nIHRoZSA8Y29kZT5JbnNlcnQoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvYT4gY2xhc3MuIEFsbCBjaGlsZCByZWNvcmRzIGFkZGVkIHRvIHRoZSBldmVudCBhcmUgaW5zZXJ0ZWQgYXV0b21hdGljYWxseSBhbG9uZyB3aXRoIHRoZSBwYXJlbnQuPFwvcD5cbjxwPlRoZSBzeXN0ZW0gYXNzaWducyBhIHVuaXF1ZSBJRCB0byB0aGUgZXZlbnQsIGFuZCB0aGUgbWV0aG9kIHJldHVybnMgaXQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJNYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZElkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkluc2VydDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHJlY29yZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwiZ2V0X2V2ZW50XCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1yZXRyaWV2ZS1ldmVudHNcIj48YSBocmVmPVwiI2NvbnRlbnQtcmV0cmlldmUtZXZlbnRzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5SZXRyaWV2ZSBldmVudHM8XC9oMj5cbjxwPlRvIHJldHJpZXZlIGEgc2luZ2xlIGV2ZW50LCBmb2xsb3cgdGhlIHN0ZXBzIGJlbG93OjxcL3A+XG48b2w+XG48bGk+XG48cD5SZXRyaWV2ZSBhbiBldmVudCByZWNvcmQgdXNpbmcgdGhlIDxjb2RlPkdldCgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2UubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9hPiBjbGFzcywgd2l0aCB0aGUgZXZlbnQgSUQgYXMgdGhlIHNlY29uZCBwYXJhbWV0ZXI6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJNYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSwgZXZlbnRJZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IHRoZSBldmVudCBpbnN0YW5jZSBhbmQgcmVsZWFzZSBhbGwgaXRzIHJlc291cmNlcyB1c2luZyB0aGUgPGNvZGU+RGlzcG9zZSgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUmVjb3JkLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclJlY29yZDxcL2E+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLkRpc3Bvc2UoKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPlRvIHJldHJpZXZlIG11bHRpcGxlIGV2ZW50czo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+UmV0cmlldmUgYSBsaXN0IG9mIGFsbCBldmVudHMsIG9yIHJldHJpZXZlIGEgZmlsdGVyZWQgbGlzdCBvZiBldmVudHM6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPlRvIHJldHJpZXZlIGEgbGlzdCBvZiBhbGwgZXZlbnRzLCB1c2UgdGhlIDxjb2RlPkdldEFsbCgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9jb2RlPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRBbGw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UbyByZXRyaWV2ZSBhIGZpbHRlcmVkIGxpc3Qgb2YgZXZlbnRzOjxcL3A+XG48b2w+XG48bGk+XG48cD5DcmVhdGUgYSBxdWVyeSBhcyBhbiBpbnN0YW5jZSBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclF1ZXJ5Lm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclF1ZXJ5PFwvYT4gY2xhc3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnF1ZXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUXVlcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5DcmVhdGUgYSBmaWx0ZXIgdXNpbmcgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJGaWx0ZXIubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRmlsdGVyPFwvYT4gY2xhc3MgYW5kIGFkZGluZyBjb25kaXRpb25zLjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgYWRkcyBhIHN0cmluZy1iYXNlZCBmaWx0ZXJpbmcgY29uZGl0aW9uIHRoYXQgcmV0cmlldmVzIHRoZSBldmVudHMgd2hvc2Ugc3VtbWFyeSBmaWVsZCBjb250YWlucyB0aGUgc3RyaW5nICZxdW90O3N1bW1hcnkgdG8gZmluZCZxdW90Ozo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZmlsdGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyRmlsdGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmksIENhbGVuZGFyVmlld3MuRXZlbnQuU3VtbWFyeSwgQ2FsZW5kYXJGaWx0ZXIuU3RyaW5nTWF0Y2hUeXBlLkNvbnRhaW5zLCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O3N1bW1hcnkgdG8gZmluZCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UbyBhZGQgbW9yZSBjb25kaXRpb25zLCBkZWZpbmUgYW4gb3BlcmF0b3IgYmV0d2VlbiB0aGUgY29uZGl0aW9ucy48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIGFkZHMgYW4gQU5EIG9wZXJhdG9yIGFsb25nIHdpdGggYSBzZWNvbmQgY29uZGl0aW9uLCB3aGljaCBpcyBhIHN0cmluZy1iYXNlZCBmaWx0ZXJpbmcgY29uZGl0aW9uIHRoYXQgcmV0cmlldmVzIHRoZSBldmVudHMgd2hvc2UgZGVzY3JpcHRpb24gZmllbGQgY29udGFpbnMgdGhlIHN0cmluZyAmcXVvdDtkZXNjcmlwdGlvbiB0byBmaW5kJnF1b3Q7LjxcL3A+XG48cD5UaGUgY29tYmluYXRpb24gb2YgdGhlIEFORCBvcGVyYXRvciBhbmQgdGhlIDIgY29uZGl0aW9ucyBtZWFucyB0aGF0IHRoZSBmaWx0ZXIgb25seSByZXRyaWV2ZXMgdGhlIGV2ZW50cyB0aGF0IGNvbnRhaW4gJnF1b3Q7c3VtbWFyeSB0byBmaW5kJnF1b3Q7IGluIHRoZWlyIHN1bW1hcnkgYW5kICZxdW90O2Rlc2NyaXB0aW9uIHRvIGZpbmQmcXVvdDsgaW4gdGhlaXIgZGVzY3JpcHRpb246PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5maWx0ZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGRDb25kaXRpb248XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhckZpbHRlci5Mb2dpY2FsT3BlcmF0b3IuQW5kLCBDYWxlbmRhclZpZXdzLkV2ZW50LkRlc2NyaXB0aW9uLCBDYWxlbmRhckZpbHRlci5TdHJpbmdNYXRjaFR5cGUuQ29udGFpbnMsIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7ZGVzY3JpcHRpb24gdG8gZmluZCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+WW91IGNhbiBhbHNvIGNyZWF0ZSBhIGZpbHRlciB3aXRoIGludGVnZXIgYW5kIHRpbWUgY29uZGl0aW9ucy4gRm9yIGV4YW1wbGUsIHRvIGZpbHRlciBhbGwtZGF5IGV2ZW50cyB0aGF0IHN0YXJ0IGFmdGVyIEphbnVhcnkgMXN0LCAyMDE2OjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zdGFydDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhclRpbWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjIwMTY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5maWx0ZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGRDb25kaXRpb248XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhckZpbHRlci5Mb2dpY2FsT3BlcmF0b3IuQW5kLCBDYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0LCBDYWxlbmRhckZpbHRlci5JbnRlZ2VyTWF0Y2hUeXBlLkdyZWF0ZXJUaGFuT3JFcXVhbCwgc3RhcnQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlNldCB0aGUgZmlsdGVyIHRvIHRoZSBxdWVyeSB1c2luZyB0aGUgPGNvZGU+U2V0RmlsdGVyKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJRdWVyeTxcL2NvZGU+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cXVlcnkuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXRGaWx0ZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihmaWx0ZXIpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlJldHJpZXZlIHRoZSBmaWx0ZXJlZCBsaXN0IG9mIGV2ZW50cyB1c2luZyB0aGUgPGNvZGU+R2V0UmVjb3Jkc1dpdGhRdWVyeSgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9jb2RlPiBjbGFzczo8XC9wPlxuPFwvbGk+XG48XC9vbD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+YGBgY3NoYXJwPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+ICB2YXIgbGlzdCA9IG1hbmFnZXIuRGF0YWJhc2UuR2V0UmVjb3Jkc1dpdGhRdWVyeShxdWVyeSwgMCwgMCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+ICBgYGA8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlRoZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+dGhpcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnBhcmFtZXRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+ZGVmaW5lczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+YTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+bGltaXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmZvcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+dGhlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5udW1iZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm9mPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5yZXN1bHRzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5JZjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+eW91PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5zZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPml0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj50bzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnRoZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cmV0dXJuczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+YWxsPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5ldmVudHM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm1hdGNoaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj50aGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnF1ZXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4uPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxvbCBzdGFydD1cIjZcIj5cbjxsaT5cbjxwPldoZW4gbm8gbG9uZ2VyIG5lZWRlZCwgZGVzdHJveSB0aGUgZmlsdGVyIGFuZCBxdWVyeSBpbnN0YW5jZXMgYW5kIHJlbGVhc2UgYWxsIHRoZWlyIHJlc291cmNlcyB1c2luZyB0aGUgPGNvZGU+RGlzcG9zZSgpPFwvY29kZT4gbWV0aG9kcyBvZiB0aGUgPGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckZpbHRlcjxcL2NvZGU+IGFuZCA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUXVlcnk8XC9jb2RlPiBjbGFzc2VzLCByZXNwZWN0aXZlbHk6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5maWx0ZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EaXNwb3NlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5xdWVyeS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRpc3Bvc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlxuPHA+VXNlIGEgbG9vcCB0byBpdGVyYXRlIHRocm91Z2ggdGhlIGxpc3QgYW5kIHJldHJpZXZlIHRoZSBldmVudCBkZXRhaWxzLjxcL3A+XG48cD5Nb3ZlIGZvcndhcmQgYW5kIGJhY2t3YXJkIHdpdGhpbiB0aGUgZXZlbnQgbGlzdCB1c2luZyB0aGUgPGNvZGU+TW92ZVByZXZpb3VzKCk8XC9jb2RlPiBhbmQgPGNvZGU+TW92ZU5leHQoKTxcL2NvZGU+IG1ldGhvZHMgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJMaXN0Lm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckxpc3Q8XC9hPiBjbGFzcywgYW5kIHJldHJpZXZlIHRoZSBjdXJyZW50IGV2ZW50IHdpdGggdGhlIDxjb2RlPkdldEN1cnJlbnRSZWNvcmQoKTxcL2NvZGU+IG1ldGhvZC48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIGl0ZXJhdGVzIHRocm91Z2ggdGhlIGxpc3QgYW5kIHJldHJpZXZlcyB0aGUgc3VtbWFyeSBvZiBlYWNoIGV2ZW50OjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5saXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldEFsbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuRXZlbnQuVXJpLCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxpc3QuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5Nb3ZlRmlyc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+d2hpbGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAocmVjb3JkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGxpc3QuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRDdXJyZW50UmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKSk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zdW1tYXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gcmVjb3JkLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5TdW1tYXJ5KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgbGlzdC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk1vdmVOZXh0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IHRoZSBsaXN0IGluc3RhbmNlIGFuZCByZWxlYXNlIGFsbCBpdHMgcmVzb3VyY2VzIHVzaW5nIHRoZSA8Y29kZT5EaXNwb3NlKCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5saXN0LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RGlzcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwidXBkYXRlX2V2ZW50XCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC11cGRhdGUtYW4tZXZlbnRcIj48YSBocmVmPVwiI2NvbnRlbnQtdXBkYXRlLWFuLWV2ZW50XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5VcGRhdGUgYW4gZXZlbnQ8XC9oMj5cbjxwPlRvIHVwZGF0ZSBldmVudCBkZXRhaWxzLCBmb2xsb3cgdGhlIHN0ZXBzIGJlbG93OjxcL3A+XG48b2w+XG48bGk+XG48cD5SZXRyaWV2ZSB0aGUgZXZlbnQgeW91IHdhbnQgdG8gdXBkYXRlIHVzaW5nIHRoZSA8Y29kZT5HZXQoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvYT4gY2xhc3MsIHdpdGggdGhlIGV2ZW50IElEIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtYW5hZ2VyLkRhdGFiYXNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmksIGV2ZW50SWQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5Zb3UgY2FuIGFsc28gcmV0cmlldmUgdGhlIGV2ZW50IHVzaW5nIHRoZSA8Y29kZT5HZXRSZWNvcmRzV2l0aFF1ZXJ5KCk8XC9jb2RlPiBtZXRob2QuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+U2V0IHRoZSBwcm9wZXJ0aWVzIHlvdSB3YW50IHRvIHVwZGF0ZS48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNldHMgYSBuZXcgc3ViamVjdCBhbmQgZGVzY3JpcHRpb24gZm9yIHRoZSBldmVudDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7c3RyaW5nJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN1bW1hcnksICZxdW90O1VwZGF0ZWQgU3VtbWFyeSZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtzdHJpbmcmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuRGVzY3JpcHRpb24sICZxdW90O1VwZGF0ZWQgRGVzY3JpcHRpb24mcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlVwZGF0ZSB0aGUgZXZlbnQgdXNpbmcgdGhlIDxjb2RlPlVwZGF0ZSgpPFwvY29kZT4gbWV0aG9kOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlVwZGF0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHJlY29yZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IHRoZSBldmVudCBhbmQgZGF0YWJhc2UgbWFuYWdlciBpbnN0YW5jZXMgYW5kIHJlbGVhc2UgYWxsIHRoZWlyIHJlc291cmNlcyB1c2luZyB0aGUgPGNvZGU+RGlzcG9zZSgpPFwvY29kZT4gbWV0aG9kcyBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclJlY29yZC5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQ8XC9hPiBhbmQgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhck1hbmFnZXIubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyTWFuYWdlcjxcL2E+IGNsYXNzZXMsIHJlc3BlY3RpdmVseTo8XC9wPlxuPFwvbGk+XG48XC9vbD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5gYGBjc2hhcnA8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5yZWNvcmQuRGlzcG9zZSgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPm1hbmFnZXIuRGlzcG9zZSgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPmBgYDxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD48YSBuYW1lPVwiZGVsZXRlX2V2ZW50XCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1kZWxldGUtYW4tZXZlbnRcIj48YSBocmVmPVwiI2NvbnRlbnQtZGVsZXRlLWFuLWV2ZW50XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EZWxldGUgYW4gZXZlbnQ8XC9oMj5cbjxwPlRvIGRlbGV0ZSBhbiBldmVudCwgdXNlIHRoZSA8Y29kZT5EZWxldGUoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvYT4gY2xhc3MsIHdpdGggdGhlIGV2ZW50IElEIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+RGF0YWJhc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRlbGV0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Q2FsZW5kYXJWaWV3czxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+RXZlbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlVyaTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmV2ZW50SWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPjxhIG5hbWU9XCJleGNlcHRpb25fYWRkXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1yZW1vdmUtYW4taW5zdGFuY2UtZnJvbS1hLXJlY3VycmluZy1ldmVudFwiPjxhIGhyZWY9XCIjY29udGVudC1yZW1vdmUtYW4taW5zdGFuY2UtZnJvbS1hLXJlY3VycmluZy1ldmVudFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVtb3ZlIGFuIGluc3RhbmNlIGZyb20gYSByZWN1cnJpbmcgZXZlbnQ8XC9oMj5cbjxwPlRvIHJlbW92ZSBhbiBldmVudCBpbnN0YW5jZSBmcm9tIGEgcmVjdXJyaW5nIGV2ZW50LCBmb2xsb3cgdGhlc2Ugc3RlcHM6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPkNyZWF0ZSBhIHJlY3VycmluZyBldmVudC48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIGNyZWF0ZXMgYW4gZXZlbnQgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6PFwvcD5cbjx1bD5cbjxsaT5GcmVxdWVuY3k6IG1vbnRobHk8XC9saT5cbjxsaT5JbnRlcnZhbDogMTxcL2xpPlxuPGxpPkRheXMgb2YgdGhlIG1vbnRoOiAmcXVvdDszLCA0LCA1JnF1b3Q7PFwvbGk+XG48bGk+UmFuZ2UgdHlwZTogY291bnQ8XC9saT5cbjxsaT5Db3VudDogODxcL2xpPlxuPFwvdWw+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5FdmVudC5VcmkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7c3RyaW5nJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN1bW1hcnksICZxdW90O3Rlc3QmcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7c3RyaW5nJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0VHppZCwgJnF1b3Q7QXNpYVwvU2VvdWwmcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyVGltZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3RhcnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xMzQ5MjI2MDAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7Q2FsZW5kYXJUaW1lJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlN0YXJ0LCBzdGFydCk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuU2V0Jmx0O3N0cmluZyZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5FbmRUemlkLCAmcXVvdDtBc2lhXC9TZW91bCZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5lbmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xMzU0NTgyODAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7Q2FsZW5kYXJUaW1lJmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkVuZCwgZW5kKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuRnJlcSwgQ2FsZW5kYXJUeXBlcy5SZWN1cnJlbmNlLk1vbnRobHkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7aW50Jmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LkludGVydmFsLCAxKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuU2V0Jmx0O3N0cmluZyZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5CeW1vbnRoZGF5LCAmcXVvdDszLDQsNSZxdW90Oyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuUmFuZ2VUeXBlLCBDYWxlbmRhclR5cGVzLlJhbmdlVHlwZS5Db3VudCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuRXZlbnQuQ291bnQsIDgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5UaGUgZXZlbnQgaGFzIDggaW5zdGFuY2VzOjxcL3A+XG48cD48c3Ryb25nPlRhYmxlOiBFdmVudCBpbnN0YW5jZXM8XC9zdHJvbmc+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlVuaXggdGltZTxcL3RoPlxuPHRoPkRhdGUgdGltZTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD4xMzQ5MjI2MDAwIDxicj4xMzQ5MzEyNDAwIDxicj4gMTM0OTM5ODgwMCA8YnI+MTM1MTkwNDQwMCA8YnI+MTM1MTk5MDgwMDxicj4gMTM1MjA3NzIwMCA8YnI+MTM1NDQ5NjQwMDxicj4gMTM1NDU4MjgwMDxcL3RkPlxuPHRkPjIwMTItMTAtMDMgMDE6MDA6MDAgPGJyPjIwMTItMTAtMDQgMDE6MDA6MDAgPGJyPjIwMTItMTAtMDUgMDE6MDA6MDAgPGJyPjIwMTItMTEtMDMgMDE6MDA6MDAgPGJyPjIwMTItMTEtMDQgMDE6MDA6MDAgPGJyPjIwMTItMTEtMDUgMDE6MDA6MDAgPGJyPjIwMTItMTItMDMgMDE6MDA6MDAgPGJyPjIwMTItMTItMDQgMDE6MDA6MDA8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48XC9saT5cbjxsaT5cbjxwPkNyZWF0ZSB0aGUgZXhjZXB0aW9uIGJ5IHNldHRpbmcgdGhlIDxjb2RlPkV4ZGF0ZTxcL2NvZGU+IHByb3BlcnR5LjxcL3A+XG48cD5JbiB2Q2FsZW5kYXIgMi4wIChSRkMgMjQ0NSksIHRoZSA8Y29kZT5FeGRhdGU8XC9jb2RlPiBwcm9wZXJ0eSBpcyB1c2VkIHRvIGlkZW50aWZ5IGEgZGVsZXRlZCBpbnN0YW5jZS4gSWYgbXVsdGlwbGUgaW5zdGFuY2VzIGFyZSBkZWxldGVkLCBkYXRldGltZXMgYXJlIGFkZGVkIHdpdGggYSBjb21tYSAoZm9yIGV4YW1wbGUsIDxjb2RlPjIwMTIxMTA0VDAxMDAwMFosIDIwMTIxMTA1VDAxMDAwMFosIDIwMTIxMjAzVDAxMDAwMFo8XC9jb2RlPik6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuU2V0Jmx0O3N0cmluZyZndDsoQ2FsZW5kYXJWaWV3cy5FdmVudC5FeGRhdGUsICZxdW90OzIwMTIxMTA0VDAxMDAwMFomcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPkluc2VydCB0aGUgZXZlbnQgaW50byB0aGUgY2FsZW5kYXIgZGF0YWJhc2UgdXNpbmcgdGhlIDxjb2RlPkluc2VydCgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9jb2RlPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZXZlbnRJZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5JbnNlcnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihyZWNvcmQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkRpc3Bvc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cImV4Y2VwdGlvbl9tb2RpZnlcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWFkZC1hbi1leGNlcHRpb24tdG8tYS1yZWN1cnJpbmctZXZlbnRcIj48YSBocmVmPVwiI2NvbnRlbnQtYWRkLWFuLWV4Y2VwdGlvbi10by1hLXJlY3VycmluZy1ldmVudFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+QWRkIGFuIGV4Y2VwdGlvbiB0byBhIHJlY3VycmluZyBldmVudDxcL2gyPlxuPHA+VG8gYWRkIGFuIGV4Y2VwdGlvbiB0byBhIHJlY3VycmluZyBldmVudDo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+TWFrZSBzdXJlIHlvdSBoYXZlIGFuIGV4aXN0aW5nIHJlY3VycmluZyBldmVudC48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5DbG9uZSB0aGUgZXhpc3RpbmcgZXZlbnQgd2l0aCB0aGUgPGNvZGU+Q2xvbmUoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclJlY29yZC5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQ8XC9hPiBjbGFzcy48XC9wPlxuPHA+Q2xvbmluZyBtZWFucyB0aGF0IHRoZSBuZXcgZXZlbnQgaW5pdGlhbGx5IGhhcyB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHRoZSBvcmlnaW5hbCBldmVudC4gSW4gdkNhbGVuZGFyIDIuMCAoUkZDIDI0NDUpLCB0aGUgcmVjdXJyZW5jZSBJRCBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBtb2RpZmllZCBpbnN0YW5jZSAoZXhjZXB0aW9uKTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Y2xvbmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiByZWNvcmQuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DbG9uZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Y2xvbmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlNldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Q2FsZW5kYXJWaWV3czxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+RXZlbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPk9yaWdpbmFsRXZlbnRJZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmV2ZW50SWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Y2xvbmUuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0OyhDYWxlbmRhclZpZXdzLkV2ZW50LlJlY3VycmVuY2VJZCwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDsyMDEyMTAwNVQwMTAwMDBaJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPk1vZGlmeSBvciBhZGQgZXZlbnQgcHJvcGVydGllcyB0byBjcmVhdGUgdGhlIGV4Y2VwdGlvbi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5JbnNlcnQgdGhlIGV4Y2VwdGlvbiBpbnRvIHRoZSBjYWxlbmRhciBkYXRhYmFzZSB1c2luZyB0aGUgPGNvZGU+SW5zZXJ0KCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJEYXRhYmFzZS5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJEYXRhYmFzZTxcL2E+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aW50PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5jbG9uZUlkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkluc2VydDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGNsb25lKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Y2xvbmUuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EaXNwb3NlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuRGlzcG9zZSgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cIm1vbml0b3JfZXZlbnRcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LW1vbml0b3ItZXZlbnQtY2hhbmdlc1wiPjxhIGhyZWY9XCIjY29udGVudC1tb25pdG9yLWV2ZW50LWNoYW5nZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPk1vbml0b3IgZXZlbnQgY2hhbmdlczxcL2gyPlxuPHA+VG8gcmVjZWl2ZSBhIG5vdGlmaWNhdGlvbiB3aGVuZXZlciBhbiBldmVudCBjaGFuZ2VzLCBmb2xsb3cgdGhlIHN0ZXBzIGJlbG93OjxcL3A+XG48b2w+XG48bGk+XG48cD5SZWdpc3RlciBhbiBldmVudCBoYW5kbGVyIHVzaW5nIHRoZSA8Y29kZT5BZGREQkNoYW5nZWREZWxlZ2F0ZSgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2UubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9hPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkRhdGFiYXNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGREQkNoYW5nZWREZWxlZ2F0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Q2FsZW5kYXJWaWV3czxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+RXZlbnQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlVyaTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkRCQ2hhbmdlZEhhbmRsZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+RGVmaW5lIHRoZSBldmVudCBoYW5kbGVyOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RhdGljPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EQkNoYW5nZWRIYW5kbGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5vYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRCQ2hhbmdlZEV2ZW50QXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojQjM5MkYwXCI+YXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj4gICAgXC9cL1wvIERvIHNvbWV0aGluZzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJjcmVhdGVcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWNyZWF0ZS1hLXRvZG9cIj48YSBocmVmPVwiI2NvbnRlbnQtY3JlYXRlLWEtdG9kb1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q3JlYXRlIGEgdG9kbzxcL2gyPlxuPHA+Q3JlYXRpbmcgYSBuZXcgdG9kbyBpbnZvbHZlcyBjcmVhdGluZyBhIHRvZG8gaW5zdGFuY2UsIHNldHRpbmcgaXRzIHByb3BlcnRpZXMsIGFuZCBpbnNlcnRpbmcgaXQgaW50byB0aGUgY2FsZW5kYXIgZGF0YWJhc2UuPFwvcD5cbjxwPlNvbWUgdG9kbyBwcm9wZXJ0aWVzIGFyZSBkZWZpbmVkIGFzIGNoaWxkIHJlY29yZHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwYXJlbnQgcmVjb3JkLiBGb3IgYSBkZXRhaWxlZCBsaXN0IG9mIHRoZSB0b2RvIHByb3BlcnRpZXMsIHNlZSB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZpZXdzLlRvZG8ubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyVmlld3MuVG9kbzxcL2E+IHZpZXcgZGVzY3JpcHRpb24uIElmIHRoZSBwcm9wZXJ0eSB0eXBlIGlzIDxjb2RlPmNoaWxkIGxpc3Q8XC9jb2RlPiwgdGhlIHByb3BlcnR5IGlzIGRlZmluZWQgYXMgYSBjaGlsZCByZWNvcmQuPFwvcD5cbjxwPlRvIGNyZWF0ZSBhIG5ldyB0b2RvLCBmb2xsb3cgdGhlIHN0ZXBzIGJlbG93OjxcL3A+XG48b2w+XG48bGk+XG48cD5DcmVhdGUgdGhlIHRvZG8gYXMgYW4gaW5zdGFuY2Ugb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUmVjb3JkPFwvYT4gY2xhc3MsIHdpdGggdGhlIDxjb2RlPlVyaTxcL2NvZGU+IHByb3BlcnR5IG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9jb2RlPiBjbGFzcyBhcyBhIHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyUmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5Ub2RvLlVyaSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxkaXYgY2xhc3M9XCJtZC1hbGVydCBtZC1hbGVydC1ub3RlXCI+XG48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvMjAwMFwvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCA4YTggOCAwIDEgMSAxNiAwQTggOCAwIDAgMSAwIDhabTgtNi41YTYuNSA2LjUgMCAxIDAgMCAxMyA2LjUgNi41IDAgMCAwIDAtMTNaTTYuNSA3Ljc1QS43NS43NSAwIDAgMSA3LjI1IDdoMWEuNzUuNzUgMCAwIDEgLjc1Ljc1djIuNzVoLjI1YS43NS43NSAwIDAgMSAwIDEuNWgtMmEuNzUuNzUgMCAwIDEgMC0xLjVoLjI1di0yaC0uMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaTTggNmExIDEgMCAxIDEgMC0yIDEgMSAwIDAgMSAwIDJaXCJcLz48XC9zdmc+Tm90ZTxcL3NwYW4+XG48cD5SZWNvcmRzIGNyZWF0ZWQgYXMgaW5zdGFuY2VzIG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUmVjb3JkPFwvY29kZT4gY2xhc3MgYXJlIG1lbW9yeSBvYmplY3RzLiBJZiB5b3UgY2hhbmdlIHRoZXNlIG9iamVjdHMsIHRoZSBjaGFuZ2VzIGFyZSBub3QgcmVmbGVjdGVkIGluIHRoZSBjYWxlbmRhciBkYXRhYmFzZSB1bnRpbCB5b3UgZXhwbGljaXRseSBpbnNlcnQgb3IgdXBkYXRlIHRoZSBvYmplY3RzIHRvIHRoZSBkYXRhYmFzZSB1c2luZyB0aGUgPGNvZGU+SW5zZXJ0KCk8XC9jb2RlPiBvciA8Y29kZT5VcGRhdGUoKTxcL2NvZGU+IG1ldGhvZHMgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJEYXRhYmFzZS5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJEYXRhYmFzZTxcL2E+IGNsYXNzLjxcL3A+XG48XC9kaXY+XG48XC9saT5cbjxsaT5cbjxwPlNldCB0aGUgdG9kbyBwcm9wZXJ0aWVzOjxcL3A+XG48dWw+XG48bGk+XG48cD5TZXQgdGhlIHN1YmplY3QuPFwvcD5cbjxwPlRvIHNldCB0aGUgc3ViamVjdCBmb3IgdGhlIHRvZG8sIHVzZSB0aGUgPGNvZGU+U2V0Jmx0O3N0cmluZyZndDsoKTxcL2NvZGU+IG1ldGhvZCB3aXRoIHRoZSA8Y29kZT5TdW1tYXJ5PFwvY29kZT4gcHJvcGVydHkgb2YgdGhlIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJEYXRhYmFzZTxcL2NvZGU+IGNsYXNzIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXI6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuU2V0Jmx0O3N0cmluZyZndDsoQ2FsZW5kYXJWaWV3cy5Ub2RvLlN1bW1hcnksICZxdW90O1N1bW1hcnkmcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlNldCB0aGUgZGVzY3JpcHRpb24uPFwvcD5cbjxwPlRvIHNldCB0aGUgZGVzY3JpcHRpb24gZm9yIHRoZSB0b2RvLCB1c2UgdGhlIDxjb2RlPlNldCZsdDtzdHJpbmcmZ3Q7KCk8XC9jb2RlPiBtZXRob2Qgd2l0aCB0aGUgPGNvZGU+RGVzY3JpcHRpb248XC9jb2RlPiBwcm9wZXJ0eSBvZiB0aGUgPGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvY29kZT4gY2xhc3MgYXMgdGhlIGZpcnN0IHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7c3RyaW5nJmd0OyhDYWxlbmRhclZpZXdzLlRvZG8uRGVzY3JpcHRpb24sICZxdW90O0Rlc2NyaXB0aW9uJnF1b3Q7KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5TZXQgdGhlIGR1ZSB0aW1lLjxcL3A+XG48cD5UbyBzZXQgdGhlIGR1ZSB0aW1lIGZvciB0aGUgdG9kbywgdXNlIHRoZSA8Y29kZT5TZXQmbHQ7Q2FsZW5kYXJUaW1lJmd0OygpPFwvY29kZT4gbWV0aG9kIHdpdGggdGhlIDxjb2RlPkR1ZTxcL2NvZGU+IHByb3BlcnR5IG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRGF0YWJhc2U8XC9jb2RlPiBjbGFzcyBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5kdWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJUaW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xNDA0MDM2MDAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOyA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC9cLyAyMDE0XC8wNlwvMjkgMTE6MDA6MDAgVVRDPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5TZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVGltZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0Oyg8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVmlld3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlRvZG88XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkR1ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmR1ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5TZXQgdGhlIHN0YXR1cy48XC9wPlxuPHA+VG8gc2V0IHRoZSBzdGF0dXMgZm9yIHRoZSB0b2RvLCB1c2UgdGhlIDxjb2RlPlNldCZsdDtpbnQmZ3Q7KCk8XC9jb2RlPiB3aXRoIHRoZSA8Y29kZT5TdGF0dXM8XC9jb2RlPiBwcm9wZXJ0eSBvZiB0aGUgPGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvY29kZT4gY2xhc3MgYXMgdGhlIGZpcnN0IHBhcmFtZXRlci4gVGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJUeXBlcy5Ub2RvU3RhdHVzLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclx1MjAwYlR5cGVzLlx1MjAwYlRvZG9cdTIwMGJTdGF0dXM8XC9hPiBlbnVtZXJhdGlvbiBkZWZpbmVzIHRoZSBwb3NzaWJsZSBzdGF0dXMgdmFsdWVzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtpbnQmZ3Q7KENhbGVuZGFyVmlld3MuVG9kby5TdGF0dXMsIENhbGVuZGFyVHlwZXMuVG9kb1N0YXR1cy5OZWVkQWN0aW9uKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC91bD5cbjxwPlNldCBvdGhlciB0b2RvIHByb3BlcnRpZXMgc2ltaWxhcmx5LCBhcyBuZWVkZWQuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+SW5zZXJ0IHRoZSB0b2RvIGludG8gdGhlIGNhbGVuZGFyIGRhdGFiYXNlIHVzaW5nIHRoZSA8Y29kZT5JbnNlcnQoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGNvZGU+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvY29kZT4gY2xhc3MuIEFsbCBjaGlsZCByZWNvcmRzIGFkZGVkIHRvIHRoZSB0b2RvIGFyZSBpbnNlcnRlZCBhdXRvbWF0aWNhbGx5IGFsb25nIHdpdGggdGhlIHBhcmVudDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPmludDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+dG9kb0lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkluc2VydDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHJlY29yZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IHRoZSB0b2RvIGFuZCBkYXRhYmFzZSBtYW5hZ2VyIGluc3RhbmNlcyBhbmQgcmVsZWFzZSBhbGwgdGhlaXIgcmVzb3VyY2VzIHVzaW5nIHRoZSA8Y29kZT5EaXNwb3NlKCk8XC9jb2RlPiBtZXRob2RzIG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUmVjb3JkPFwvY29kZT4gYW5kIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJNYW5hZ2VyLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhck1hbmFnZXI8XC9hPiBjbGFzc2VzLCByZXNwZWN0aXZlbHk6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuRGlzcG9zZSgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm1hbmFnZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EaXNwb3NlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJnZXRcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJldHJpZXZlLXRvZG9zXCI+PGEgaHJlZj1cIiNjb250ZW50LXJldHJpZXZlLXRvZG9zXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5SZXRyaWV2ZSB0b2RvczxcL2gyPlxuPHA+VG8gcmV0cmlldmUgYSBzaW5nbGUgdG9kbywgZm9sbG93IHRoZSBzdGVwcyBiZWxvdzo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+UmV0cmlldmUgYSB0b2RvIHJlY29yZCB1c2luZyB0aGUgPGNvZGU+R2V0KCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUmVjb3JkPFwvYT4gY2xhc3Mgd2l0aCB0aGUgdG9kbyBJRCBhcyB0aGUgc2Vjb25kIHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuVG9kby5VcmksIHRvZG9JZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IHRoZSB0b2RvIGluc3RhbmNlIGFuZCByZWxlYXNlIGFsbCBpdHMgcmVzb3VyY2VzIHVzaW5nIHRoZSA8Y29kZT5EaXNwb3NlKCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5yZWNvcmQuRGlzcG9zZSgpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+VG8gcmV0cmlldmUgbXVsdGlwbGUgdG9kb3M6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPlJldHJpZXZlIGEgbGlzdCBvZiBhbGwgdG9kb3MsIG9yIHJldHJpZXZlIGEgZmlsdGVyZWQgbGlzdCBvZiB0b2Rvczo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+VG8gcmV0cmlldmUgYSBsaXN0IG9mIGFsbCB0b2RvcywgdXNlIHRoZSA8Y29kZT5HZXRBbGwoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvYT4gY2xhc3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJNYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmxpc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtYW5hZ2VyLkRhdGFiYXNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0QWxsPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5Ub2RvLlVyaSwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UbyByZXRyaWV2ZSBhIGZpbHRlcmVkIGxpc3Qgb2YgdG9kb3M6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPkNyZWF0ZSBhIHF1ZXJ5IGFzIGFuIGluc3RhbmNlIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUXVlcnkubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUXVlcnk8XC9hPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cXVlcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJRdWVyeTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyVmlld3MuVG9kby5VcmkpPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+Q3JlYXRlIGEgZmlsdGVyIHVzaW5nIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRmlsdGVyLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckZpbHRlcjxcL2E+IGNsYXNzIGFuZCBhZGRpbmcgY29uZGl0aW9ucy48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIGFkZHMgYSBzdHJpbmctYmFzZWQgZmlsdGVyaW5nIGNvbmRpdGlvbiB0aGF0IHJldHJpZXZlcyB0aGUgdG9kb3Mgd2hvc2Ugc3VtbWFyeSBmaWVsZCBjb250YWlucyB0aGUgc3RyaW5nICZxdW90O3N1bW1hcnkgdG8gZmluZCZxdW90Ozo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+ZmlsdGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyRmlsdGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5Ub2RvLlVyaSwgQ2FsZW5kYXJWaWV3cy5Ub2RvLlN1bW1hcnksIENhbGVuZGFyRmlsdGVyLlN0cmluZ01hdGNoVHlwZS5Db250YWlucywgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtzdW1tYXJ5IHRvIGZpbmQmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+VG8gYWRkIG1vcmUgY29uZGl0aW9ucywgZGVmaW5lIGFuIG9wZXJhdG9yIGJldHdlZW4gdGhlIGNvbmRpdGlvbnMuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgZXhhbXBsZSBhZGRzIGFuIEFORCBvcGVyYXRvciBhbG9uZyB3aXRoIGEgc2Vjb25kIGNvbmRpdGlvbiwgd2hpY2ggaXMgYSBzdHJpbmctYmFzZWQgZmlsdGVyaW5nIGNvbmRpdGlvbiB0aGF0IHJldHJpZXZlcyB0aGUgdG9kb3Mgd2hvc2UgZGVzY3JpcHRpb24gZmllbGQgY29udGFpbnMgdGhlIHN0cmluZyAmcXVvdDtkZXNjcmlwdGlvbiB0byBmaW5kJnF1b3Q7LjxcL3A+XG48cD5UaGUgY29tYmluYXRpb24gb2YgdGhlIEFORCBvcGVyYXRvciBhbmQgdGhlIDIgY29uZGl0aW9ucyBtZWFucyB0aGF0IHRoZSBmaWx0ZXIgb25seSByZXRyaWV2ZXMgdGhlIHRvZG9zIHRoYXQgY29udGFpbiAmcXVvdDtzdW1tYXJ5IHRvIGZpbmQmcXVvdDsgaW4gdGhlaXIgc3VtbWFyeSBhbmQgJnF1b3Q7ZGVzY3JpcHRpb24gdG8gZmluZCZxdW90OyBpbiB0aGVpciBkZXNjcmlwdGlvbjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmZpbHRlci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZENvbmRpdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyRmlsdGVyLkxvZ2ljYWxPcGVyYXRvci5BbmQsIENhbGVuZGFyVmlld3MuVG9kby5EZXNjcmlwdGlvbiwgQ2FsZW5kYXJGaWx0ZXIuU3RyaW5nTWF0Y2hUeXBlLkNvbnRhaW5zLCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O2Rlc2NyaXB0aW9uIHRvIGZpbmQmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPllvdSBjYW4gYWxzbyBjcmVhdGUgYSBmaWx0ZXIgd2l0aCBpbnRlZ2VyIGFuZCB0aW1lIGNvbmRpdGlvbnMuIEZvciBleGFtcGxlLCB0byBmaWx0ZXIgYWxsIGNvbXBsZXRlZCB0b2Rvczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmZpbHRlci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZENvbmRpdGlvbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KENhbGVuZGFyRmlsdGVyLkxvZ2ljYWxPcGVyYXRvci5BbmQsIENhbGVuZGFyVmlld3MuVG9kby5TdGF0dXMsIENhbGVuZGFyRmlsdGVyLkludGVnZXJNYXRjaFR5cGUuRXF1YWwsIENhbGVuZGFyVHlwZXMuVG9kb1N0YXR1cy5Db21wbGV0ZWQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlNldCB0aGUgZmlsdGVyIHRvIHRoZSBxdWVyeSB1c2luZyB0aGUgPGNvZGU+U2V0RmlsdGVyKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJRdWVyeTxcL2NvZGU+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cXVlcnkuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZXRGaWx0ZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihmaWx0ZXIpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlJldHJpZXZlIHRoZSBmaWx0ZXJlZCBsaXN0IG9mIHRvZG9zIHVzaW5nIHRoZSA8Y29kZT5HZXRSZWNvcmRzV2l0aFF1ZXJ5KCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJEYXRhYmFzZTxcL2NvZGU+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5saXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gbWFuYWdlci5EYXRhYmFzZS48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldFJlY29yZHNXaXRoUXVlcnk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihxdWVyeSwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+VGhlIHRoaXJkIHBhcmFtZXRlciBkZWZpbmVzIGEgbGltaXQgZm9yIHRoZSBudW1iZXIgb2YgcmVzdWx0cy4gSWYgeW91IHNldCBpdCB0byAwLCB0aGUgbGlzdCByZXR1cm5zIGFsbCB0b2RvcyBtYXRjaGluZyB0aGUgcXVlcnkuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiBubyBsb25nZXIgbmVlZGVkLCBkZXN0cm95IHRoZSBmaWx0ZXIgYW5kIHF1ZXJ5IGluc3RhbmNlcyBhbmQgcmVsZWFzZSBhbGwgdGhlaXIgcmVzb3VyY2VzIHVzaW5nIHRoZSA8Y29kZT5EaXNwb3NlKCk8XC9jb2RlPiBtZXRob2RzIG9mIHRoZSA8Y29kZT5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyRmlsdGVyPFwvY29kZT4gYW5kIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJRdWVyeTxcL2NvZGU+IGNsYXNzZXMsIHJlc3BlY3RpdmVseTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmZpbHRlci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRpc3Bvc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnF1ZXJ5LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RGlzcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+XG48cD5Vc2UgYSBsb29wIHRvIGl0ZXJhdGUgdGhyb3VnaCB0aGUgbGlzdCBhbmQgcmV0cmlldmUgdGhlIHRvZG8gZGV0YWlscy48XC9wPlxuPHA+TW92ZSBmb3J3YXJkIGFuZCBiYWNrd2FyZCB3aXRoaW4gdGhlIGV2ZW50IGxpc3QgdXNpbmcgdGhlIDxjb2RlPk1vdmVQcmV2aW91cygpPFwvY29kZT4gYW5kIDxjb2RlPk1vdmVOZXh0KCk8XC9jb2RlPiBtZXRob2RzIG9mIHRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyTGlzdC5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJMaXN0PFwvYT4gY2xhc3MsIGFuZCByZXRyaWV2ZSB0aGUgY3VycmVudCBldmVudCB1c2luZyB0aGUgPGNvZGU+R2V0Q3VycmVudFJlY29yZCgpPFwvY29kZT4gbWV0aG9kLjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgaXRlcmF0ZXMgdGhyb3VnaCB0aGUgbGlzdCBhbmQgcmV0cmlldmVzIHRoZSBzdW1tYXJ5IG9mIGVhY2ggdG9kbzo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuRGF0YWJhc2UuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRBbGw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLlRvZG8uVXJpLCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxpc3QuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5Nb3ZlRmlyc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+d2hpbGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAocmVjb3JkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IGxpc3QuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXRDdXJyZW50UmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKSk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zdW1tYXJ5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gcmVjb3JkLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoQ2FsZW5kYXJWaWV3cy5Ub2RvLlN1bW1hcnkpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICBsaXN0LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TW92ZU5leHQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5XaGVuIG5vIGxvbmdlciBuZWVkZWQsIGRlc3Ryb3kgdGhlIGxpc3QgaW5zdGFuY2UgYW5kIHJlbGVhc2UgYWxsIGl0cyByZXNvdXJjZXMgdXNpbmcgdGhlIDxjb2RlPkRpc3Bvc2UoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckxpc3QubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyTGlzdDxcL2E+IGNsYXNzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+bGlzdC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRpc3Bvc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cInVwZGF0ZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtdXBkYXRlLWEtdG9kb1wiPjxhIGhyZWY9XCIjY29udGVudC11cGRhdGUtYS10b2RvXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5VcGRhdGUgYSB0b2RvPFwvaDI+XG48cD5UbyB1cGRhdGUgdG9kbyBkZXRhaWxzLCBmb2xsb3cgdGhlc2Ugc3RlcHM6PFwvcD5cbjxvbD5cbjxsaT5cbjxwPlJldHJpZXZlIHRoZSB0b2RvIHlvdSB3YW50IHRvIHVwZGF0ZSB1c2luZyB0aGUgPGNvZGU+R2V0KCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJNYW5hZ2VyLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhck1hbmFnZXI8XC9hPiBjbGFzcyB3aXRoIHRoZSB0b2RvIElEIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkNhbGVuZGFyTWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dmFyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZWNvcmQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBtYW5hZ2VyLkRhdGFiYXNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oQ2FsZW5kYXJWaWV3cy5Ub2RvLlVyaSwgdG9kb0lkKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+WW91IGNhbiBhbHNvIHJldHJpZXZlIHRoZSB0b2RvIHVzaW5nIHRoZSA8Y29kZT5HZXRSZWNvcmRzV2l0aFF1ZXJ5KCk8XC9jb2RlPiBtZXRob2QuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+U2V0IHRoZSBwcm9wZXJ0aWVzIHlvdSB3YW50IHRvIHVwZGF0ZS48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNldHMgYSBuZXcgc3ViamVjdCBhbmQgZGVzY3JpcHRpb24gZm9yIHRoZSB0b2RvOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLlNldCZsdDtzdHJpbmcmZ3Q7KENhbGVuZGFyVmlld3MuVG9kby5TdW1tYXJ5LCAmcXVvdDtVcGRhdGVkIFN1bW1hcnkmcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnJlY29yZC5TZXQmbHQ7c3RyaW5nJmd0OyhDYWxlbmRhclZpZXdzLlRvZG8uRGVzY3JpcHRpb24sICZxdW90O1VwZGF0ZWQgRGVzY3JpcHRpb24mcXVvdDspOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlVwZGF0ZSB0aGUgdG9kbyB1c2luZyB0aGUgPGNvZGU+VXBkYXRlKCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5tYW5hZ2VyLkRhdGFiYXNlLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+VXBkYXRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4ocmVjb3JkKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5XaGVuIG5vIGxvbmdlciBuZWVkZWQsIGRlc3Ryb3kgdGhlIHRvZG8gYW5kIGRhdGFiYXNlIG1hbmFnZXIgaW5zdGFuY2VzIGFuZCByZWxlYXNlIGFsbCB0aGVpciByZXNvdXJjZXMgdXNpbmcgdGhlIDxjb2RlPkRpc3Bvc2UoKTxcL2NvZGU+IG1ldGhvZHMgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJSZWNvcmQubWRcIj5UaXplbi5QaW1zLkNhbGVuZGFyLkNhbGVuZGFyUmVjb3JkPFwvYT4gYW5kIDxjb2RlPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJNYW5hZ2VyPFwvY29kZT4gY2xhc3NlcywgcmVzcGVjdGl2ZWx5OjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkLkRpc3Bvc2UoKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5tYW5hZ2VyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RGlzcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwiZGVsZXRlXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1kZWxldGUtYS10b2RvXCI+PGEgaHJlZj1cIiNjb250ZW50LWRlbGV0ZS1hLXRvZG9cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRlbGV0ZSBhIHRvZG88XC9oMj5cbjxwPlRvIGRlbGV0ZSBhIHRvZG8sIHVzZSB0aGUgPGNvZGU+RGVsZXRlKCk8XC9jb2RlPiBtZXRob2Qgb2YgdGhlIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJNYW5hZ2VyLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhck1hbmFnZXI8XC9hPiBjbGFzcywgd2l0aCB0aGUgdG9kbyBJRCBhcyB0aGUgc2Vjb25kIHBhcmFtZXRlcjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bWFuYWdlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhck1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkRhdGFiYXNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EZWxldGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVmlld3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlRvZG88XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlVpcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnRvZG9JZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPHA+PGEgbmFtZT1cIm1vbml0b3JcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LW1vbml0b3ItdG9kby1jaGFuZ2VzXCI+PGEgaHJlZj1cIiNjb250ZW50LW1vbml0b3ItdG9kby1jaGFuZ2VzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5Nb25pdG9yIHRvZG8gY2hhbmdlczxcL2gyPlxuPHA+VG8gcmVjZWl2ZSBhIG5vdGlmaWNhdGlvbiB3aGVuZXZlciBhIHRvZG8gY2hhbmdlcywgZm9sbG93IHRoZSBzdGVwcyBiZWxvdzo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+UmVnaXN0ZXIgYW4gZXZlbnQgaGFuZGxlciB1c2luZyB0aGUgPGNvZGU+QWRkREJDaGFuZ2VkRGVsZWdhdGUoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlLm1kXCI+VGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhckRhdGFiYXNlPFwvYT4gY2xhc3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJNYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5tYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5EYXRhYmFzZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QWRkREJDaGFuZ2VkRGVsZWdhdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkNhbGVuZGFyVmlld3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlRvZG88XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPlVyaTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkRCQ2hhbmdlZEhhbmRsZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+RGVmaW5lIHRoZSBldmVudCBoYW5kbGVyOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RhdGljPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EQkNoYW5nZWRIYW5kbGVyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5vYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkRCQ2hhbmdlZEV2ZW50QXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojQjM5MkYwXCI+YXJnczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj4gICAgXC9cL1wvIERvIHNvbWV0aGluZzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJtYWtlXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1jcmVhdGUtYS12Y2FsZW5kYXJcIj48YSBocmVmPVwiI2NvbnRlbnQtY3JlYXRlLWEtdmNhbGVuZGFyXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5DcmVhdGUgYSB2Q2FsZW5kYXI8XC9oMj5cbjxwPlRvIGNyZWF0ZSBhIHZDYWxlbmRhciBzdHJlYW0gZnJvbSBhbiBldmVudCwgZm9sbG93IHRoZXNlIHN0ZXBzOjxcL3A+XG48b2w+XG48bGk+XG48cD5SZXRyaWV2ZSB0aGUgZXZlbnQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPm1hbmFnZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q2FsZW5kYXJNYW5hZ2VyPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IG1hbmFnZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihDYWxlbmRhclZpZXdzLkV2ZW50LlVyaSwgZXZlbnRJZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+Q3JlYXRlIGEgdkNhbGVuZGFyIHN0cmVhbSBmcm9tIHRoZSBldmVudDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZhcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGlzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DYWxlbmRhckxpc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxpc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFkZFJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cmVjb3JkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnN0cmVhbTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IENhbGVuZGFyVmNhbGVuZGFyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Q29tcG9zZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGxpc3QpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPldoZW4gbm8gbG9uZ2VyIG5lZWRlZCwgZGVzdHJveSB0aGUgbGlzdCBpbnN0YW5jZSBhbmQgcmVsZWFzZSBhbGwgaXRzIHJlc291cmNlczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmxpc3QuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5EaXNwb3NlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJwYXJzZVwiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtcGFyc2UtYS12Y2FsZW5kYXJcIj48YSBocmVmPVwiI2NvbnRlbnQtcGFyc2UtYS12Y2FsZW5kYXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlBhcnNlIGEgdkNhbGVuZGFyPFwvaDI+XG48cD5UbyBwYXJzZSBhIHZDYWxlbmRhciBmcm9tIGEgZmlsZSBhbmQgaW5zZXJ0IGl0cyBjb250ZW50IGludG8gdGhlIGNhbGVuZGFyIGRhdGFiYXNlLCBmb2xsb3cgdGhlIHN0ZXBzIGJlbG93OjxcL3A+XG48b2w+XG48bGk+XG48cD5QYXJzZSB0aGUgdkNhbGVuZGFyIHN0cmVhbSB1c2luZyB0aGUgPGNvZGU+UGFyc2UoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGUgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uUGltcy5DYWxlbmRhci5DYWxlbmRhclZjYWxlbmRhci5tZFwiPlRpemVuLlBpbXMuQ2FsZW5kYXIuQ2FsZW5kYXJWY2FsZW5kYXI8XC9hPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3RyZWFtPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtCRUdJTjpWQ0FMRU5EQVI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcclxcbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICAgICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5WRVJTSU9OPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj46MS4wPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+QkVHSU48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlZFVkVOVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlNVTU1BUlk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPnRlc3QxPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+RFRTVEFSVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+OjIwMTQwNzIxPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5UMDAwMDAwWjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPkRURU5EPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj46MjAxNDA3MjE8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlQwMTAwMDBaPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+cjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPis8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+QUFMQVJNPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj47VFlQRTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojOUVDQkZGXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+V0FWRTtWQUxVRTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojOUVDQkZGXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+Q09OVEVOVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojOUVDQkZGXCI+LTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+SUQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0IzMUQyODstLXNoaWtpLWxpZ2h0LWZvbnQtc3R5bGU6aXRhbGljOy0tc2hpa2ktZGFyazojOUVDQkZGOy0tc2hpa2ktZGFyay1mb250LXN0eWxlOmluaGVyaXRcIj4xOTk2MDkwM1QwNjAwMDA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjtQVDE1TTs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcclxcbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICAgICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5EQUxBUk08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0IzMUQyODstLXNoaWtpLWxpZ2h0LWZvbnQtc3R5bGU6aXRhbGljOy0tc2hpa2ktZGFyazojOUVDQkZGOy0tc2hpa2ktZGFyay1mb250LXN0eWxlOmluaGVyaXRcIj4xOTk2MDQxNVQyMzUwMDA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjtQVDVNOzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojOUVDQkZGXCI+MjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+O1lvdXIgVGF4ZXMgQXJlIER1ZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiEhITxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFxyXFxuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPk1BTEFSTTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+OjtUWVBFPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5XQVZFO1ZBTFVFPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj5VUkw8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0IzMUQyODstLXNoaWtpLWxpZ2h0LWZvbnQtc3R5bGU6aXRhbGljOy0tc2hpa2ktZGFyazojOUVDQkZGOy0tc2hpa2ktZGFyay1mb250LXN0eWxlOmluaGVyaXRcIj4xOTk2MDQxNVQyMzU5NTk8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPjsgOyA7IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojOUVDQkZGXCI+ZmlsZTo8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPlwvXC9cL21tZWRpYVwvdGFwcy53YXY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6Izc5QjhGRlwiPlxcclxcbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICAgICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+KzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7RU5EOlZFVkVOVDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+XFxyXFxuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgICAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4rPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtFTkQ6VkNBTEVOREFSPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5cXHJcXG48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmxpc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBDYWxlbmRhclZjYWxlbmRhci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlBhcnNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oc3RyZWFtKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5JdGVyYXRlIHRocm91Z2ggdGhlIGxpc3Qgb2YgZm91bmQgcmVjb3JkcywgYW5kIHJldHJpZXZlIHJlY29yZCBkZXRhaWxzLjxcL3A+XG48cD5UaGUgdkNhbGVuZGFyIHN0cmVhbSBjYW4gY29udGFpbiBtdWx0aXBsZSBldmVudHMgb3IgdG9kb3M6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5saXN0LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TW92ZUZpcnN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52YXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPndoaWxlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gKHJlY29yZCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBsaXN0LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0Q3VycmVudFJlY29yZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCkpPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3VtbWFyeTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IHJlY29yZC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkdldDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmx0OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mZ3Q7KENhbGVuZGFyVmlld3MuVG9kby5TdW1tYXJ5KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgbGlzdC48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk1vdmVOZXh0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48aDIgaWQ9XCJjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2gyPlxuPHVsPlxuPGxpPkRlcGVuZGVuY2llc1xuPHVsPlxuPGxpPlRpemVuIDQuMCBhbmQgSGlnaGVyPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvdWw+XG4iLCJ0YWJsZV9vZl9jb250ZW50IjoiPHVsIGNsYXNzPVwidGFibGUtb2YtY29udGVudHNcIj5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcmVjb3Jkc1wiPlJlY29yZHM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1jaGlsZC1yZWNvcmRzXCI+Q2hpbGQgcmVjb3JkczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWNhbGVuZGFyLWJvb2tzXCI+Q2FsZW5kYXIgYm9va3M8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1ldmVudC1pbnN0YW5jZXMtYW5kLXJlbWluZGVyc1wiPkV2ZW50IGluc3RhbmNlcyBhbmQgcmVtaW5kZXJzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZXhjZXB0aW9uc1wiPkV4Y2VwdGlvbnM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZW1pbmRlcnNcIj5SZW1pbmRlcnM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWx0ZXJzLWFuZC1xdWVyaWVzXCI+RmlsdGVycyBhbmQgcXVlcmllczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWRhdGFiYXNlLWNoYW5nZS1ub3RpZmljYXRpb25zXCI+RGF0YWJhc2UgY2hhbmdlIG5vdGlmaWNhdGlvbnM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC12Y2FsZW5kYXJcIj52Q2FsZW5kYXI8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1wcmVyZXF1aXNpdGVzXCI+UHJlcmVxdWlzaXRlczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWNyZWF0ZS1hbi1ldmVudFwiPkNyZWF0ZSBhbiBldmVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJldHJpZXZlLWV2ZW50c1wiPlJldHJpZXZlIGV2ZW50czxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXVwZGF0ZS1hbi1ldmVudFwiPlVwZGF0ZSBhbiBldmVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWRlbGV0ZS1hbi1ldmVudFwiPkRlbGV0ZSBhbiBldmVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlbW92ZS1hbi1pbnN0YW5jZS1mcm9tLWEtcmVjdXJyaW5nLWV2ZW50XCI+UmVtb3ZlIGFuIGluc3RhbmNlIGZyb20gYSByZWN1cnJpbmcgZXZlbnQ8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1hZGQtYW4tZXhjZXB0aW9uLXRvLWEtcmVjdXJyaW5nLWV2ZW50XCI+QWRkIGFuIGV4Y2VwdGlvbiB0byBhIHJlY3VycmluZyBldmVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LW1vbml0b3ItZXZlbnQtY2hhbmdlc1wiPk1vbml0b3IgZXZlbnQgY2hhbmdlczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWNyZWF0ZS1hLXRvZG9cIj5DcmVhdGUgYSB0b2RvPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcmV0cmlldmUtdG9kb3NcIj5SZXRyaWV2ZSB0b2RvczxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXVwZGF0ZS1hLXRvZG9cIj5VcGRhdGUgYSB0b2RvPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGVsZXRlLWEtdG9kb1wiPkRlbGV0ZSBhIHRvZG88XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1tb25pdG9yLXRvZG8tY2hhbmdlc1wiPk1vbml0b3IgdG9kbyBjaGFuZ2VzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtY3JlYXRlLWEtdmNhbGVuZGFyXCI+Q3JlYXRlIGEgdkNhbGVuZGFyPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcGFyc2UtYS12Y2FsZW5kYXJcIj5QYXJzZSBhIHZDYWxlbmRhcjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj5SZWxhdGVkIGluZm9ybWF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJDYWxlbmRhciIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6Im1MY0ZKWUI1dGRPdkE0ZVR0eUVmIiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvYXBwbGljYXRpb25cL2RvdG5ldFwvZ3VpZGVzXC9waW1zXC9jYWxlbmRhciIsIm1ldGhvZCI6IkdFVCIsInJlbGVhc2UiOiJhLWEtYSJ9LCJjaGVja3N1bSI6IjhlNWYwNjFhMTFlODRhNDBmNGY3NjlkMmRjYjc4NTQ1M2Y1YTEyYTI3Nzk1OWNiMzFkNmU2YTVhZDk3ZWE3NWYifQ==')" >

For the best experience,
Please visit us from a computer

Copyright © 2026 SAMSUNG. All rights reserved.

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.