if("hflights" %in% installed.packages() == FALSE)install.packages("hflights")
      library(hflights)
# 미국 휴스턴에서 출발하는 모든 비행기의 2011년 이착륙기록이 수록된 것으로
# 227,496건의 이착륙기록에 대해 21개 항목을 수집한 데이터
if("MASS" %in% installed.packages() == FALSE)install.packages("MASS")
      library(MASS)
if("datasets" %in% installed.packages() == FALSE)install.packages("datasets")
      library(datasets)
data()

Data sets in package ¡®datasets¡¯:

AirPassengers
               Monthly Airline Passenger
               Numbers 1949-1960
BJsales        Sales Data with Leading
               Indicator
BJsales.lead (BJsales)
               Sales Data with Leading
               Indicator
BOD            Biochemical Oxygen Demand
CO2            Carbon Dioxide Uptake in Grass
               Plants
ChickWeight    Weight versus age of chicks on
               different diets
DNase          Elisa assay of DNase
EuStockMarkets
               Daily Closing Prices of Major
               European Stock Indices,
               1991-1998
Formaldehyde   Determination of Formaldehyde
HairEyeColor   Hair and Eye Color of
               Statistics Students
Harman23.cor   Harman Example 2.3
Harman74.cor   Harman Example 7.4
Indometh       Pharmacokinetics of
               Indomethacin
InsectSprays   Effectiveness of Insect Sprays
JohnsonJohnson
               Quarterly Earnings per Johnson
               & Johnson Share
LakeHuron      Level of Lake Huron 1875-1972
LifeCycleSavings
               Intercountry Life-Cycle
               Savings Data
Loblolly       Growth of Loblolly pine trees
Nile           Flow of the River Nile
Orange         Growth of Orange Trees
OrchardSprays
               Potency of Orchard Sprays
PlantGrowth    Results from an Experiment on
               Plant Growth
Puromycin      Reaction Velocity of an
               Enzymatic Reaction
Seatbelts      Road Casualties in Great
               Britain 1969-84
Theoph         Pharmacokinetics of
               Theophylline
Titanic        Survival of passengers on the
               Titanic
ToothGrowth    The Effect of Vitamin C on
               Tooth Growth in Guinea Pigs
UCBAdmissions
               Student Admissions at UC
               Berkeley
UKDriverDeaths
               Road Casualties in Great
               Britain 1969-84
UKgas          UK Quarterly Gas Consumption
USAccDeaths    Accidental Deaths in the US
               1973-1978
USArrests      Violent Crime Rates by US
               State
USJudgeRatings
               Lawyers' Ratings of State
               Judges in the US Superior
               Court
USPersonalExpenditure
               Personal Expenditure Data
UScitiesD      Distances Between European
               Cities and Between US Cities
VADeaths       Death Rates in Virginia (1940)
WWWusage       Internet Usage per Minute
WorldPhones    The World's Telephones
ability.cov    Ability and Intelligence Tests
airmiles       Passenger Miles on Commercial
               US Airlines, 1937-1960
airquality     New York Air Quality
               Measurements
anscombe       Anscombe's Quartet of
               'Identical' Simple Linear
               Regressions
attenu         The Joyner-Boore Attenuation
               Data
attitude       The Chatterjee-Price Attitude
               Data
austres        Quarterly Time Series of the
               Number of Australian Residents
beaver1 (beavers)
               Body Temperature Series of Two
               Beavers
beaver2 (beavers)
               Body Temperature Series of Two
               Beavers
cars           Speed and Stopping Distances
               of Cars
chickwts       Chicken Weights by Feed Type
co2            Mauna Loa Atmospheric CO2
               Concentration
crimtab        Student's 3000 Criminals Data
discoveries    Yearly Numbers of Important
               Discoveries
esoph          Smoking, Alcohol and
               (O)esophageal Cancer
euro           Conversion Rates of Euro
               Currencies
euro.cross (euro)
               Conversion Rates of Euro
               Currencies
eurodist       Distances Between European
               Cities and Between US Cities
faithful       Old Faithful Geyser Data
fdeaths (UKLungDeaths)
               Monthly Deaths from Lung
               Diseases in the UK
freeny         Freeny's Revenue Data
freeny.x (freeny)
               Freeny's Revenue Data
freeny.y (freeny)
               Freeny's Revenue Data
infert         Infertility after Spontaneous
               and Induced Abortion
iris           Edgar Anderson's Iris Data
iris3          Edgar Anderson's Iris Data
islands        Areas of the World's Major
               Landmasses
ldeaths (UKLungDeaths)
               Monthly Deaths from Lung
               Diseases in the UK
lh             Luteinizing Hormone in Blood
               Samples
longley        Longley's Economic Regression
               Data
lynx           Annual Canadian Lynx trappings
               1821-1934
mdeaths (UKLungDeaths)
               Monthly Deaths from Lung
               Diseases in the UK
morley         Michelson Speed of Light Data
mtcars         Motor Trend Car Road Tests
nhtemp         Average Yearly Temperatures in
               New Haven
nottem         Average Monthly Temperatures
               at Nottingham, 1920-1939
npk            Classical N, P, K Factorial
               Experiment
occupationalStatus
               Occupational Status of Fathers
               and their Sons
precip         Annual Precipitation in US
               Cities
presidents     Quarterly Approval Ratings of
               US Presidents
pressure       Vapor Pressure of Mercury as a
               Function of Temperature
quakes         Locations of Earthquakes off
               Fiji
randu          Random Numbers from
               Congruential Generator RANDU
rivers         Lengths of Major North
               American Rivers
rock           Measurements on Petroleum Rock
               Samples
sleep          Student's Sleep Data
stack.loss (stackloss)
               Brownlee's Stack Loss Plant
               Data
stack.x (stackloss)
               Brownlee's Stack Loss Plant
               Data
stackloss      Brownlee's Stack Loss Plant
               Data
state.abb (state)
               US State Facts and Figures
state.area (state)
               US State Facts and Figures
state.center (state)
               US State Facts and Figures
state.division (state)
               US State Facts and Figures
state.name (state)
               US State Facts and Figures
state.region (state)
               US State Facts and Figures
state.x77 (state)
               US State Facts and Figures
sunspot.month
               Monthly Sunspot Data, from
               1749 to "Present"
sunspot.year   Yearly Sunspot Data, 1700-1988
sunspots       Monthly Sunspot Numbers,
               1749-1983
swiss          Swiss Fertility and
               Socioeconomic Indicators
               (1888) Data
treering       Yearly Treering Data,
               -6000-1979
trees          Girth, Height and Volume for
               Black Cherry Trees
uspop          Populations Recorded by the US
               Census
volcano        Topographic Information on
               Auckland's Maunga Whau Volcano
warpbreaks     The Number of Breaks in Yarn
               during Weaving
women          Average Heights and Weights
               for American Women

Data sets in package ¡®dplyr¡¯:

band_instruments
               Band membership
band_instruments2
               Band membership
band_members   Band membership
nasa           NASA spatio-temporal data
starwars       Starwars characters
storms         Storm tracks data

Data sets in package ¡®ggmap¡¯:

crime          Crime data
hadley         Highly unofficial ggplot2
               image
wind           Wind data from Hurricane Ike
zips           Zip code data for the Greater
               Houston Metropolitan Area from
               the 2000 census

Data sets in package ¡®ggplot2¡¯:

diamonds       Prices of 50,000 round cut
               diamonds
economics      US economic time series
economics_long
               US economic time series
faithfuld      2d density estimate of Old
               Faithful data
luv_colours    'colors()' in Luv space
midwest        Midwest demographics
mpg            Fuel economy data from 1999
               and 2008 for 38 popular models
               of car
msleep         An updated and expanded
               version of the mammals sleep
               dataset
presidential   Terms of 11 presidents from
               Eisenhower to Obama
seals          Vector field of seal movements
txhousing      Housing sales in TX

Data sets in package ¡®googleVis¡¯:

Andrew         Hurricane Andrew: googleVis
               example data set
Cairo          Daily temperature data for
               Cairo
CityPopularity
               CityPopularity: googleVis
               example data set
Exports        Exports: googleVis example
               data set
Fruits         Fruits: googleVis example data
               set
OpenClose      OpenClose: googleVis example
               data set
Population     Population: googleVis example
               data set
Regions        Regions: googleVis example
               data set
Stock          Stock: googleVis example data
               set
dino           Dinosaur data

Data sets in package ¡®hflights¡¯:

hflights       Houston flights data

Data sets in package ¡®MASS¡¯:

Aids2          Australian AIDS Survival Data
Animals        Brain and Body Weights for 28
               Species
Boston         Housing Values in Suburbs of
               Boston
Cars93         Data from 93 Cars on Sale in
               the USA in 1993
Cushings       Diagnostic Tests on Patients
               with Cushing's Syndrome
DDT            DDT in Kale
GAGurine       Level of GAG in Urine of
               Children
Insurance      Numbers of Car Insurance
               claims
Melanoma       Survival from Malignant
               Melanoma
OME            Tests of Auditory Perception
               in Children with OME
Pima.te        Diabetes in Pima Indian Women
Pima.tr        Diabetes in Pima Indian Women
Pima.tr2       Diabetes in Pima Indian Women
Rabbit         Blood Pressure in Rabbits
Rubber         Accelerated Testing of Tyre
               Rubber
SP500          Returns of the Standard and
               Poors 500
Sitka          Growth Curves for Sitka Spruce
               Trees in 1988
Sitka89        Growth Curves for Sitka Spruce
               Trees in 1989
Skye           AFM Compositions of Aphyric
               Skye Lavas
Traffic        Effect of Swedish Speed Limits
               on Accidents
UScereal       Nutritional and Marketing
               Information on US Cereals
UScrime        The Effect of Punishment
               Regimes on Crime Rates
VA             Veteran's Administration Lung
               Cancer Trial
abbey          Determinations of Nickel
               Content
accdeaths      Accidental Deaths in the US
               1973-1978
anorexia       Anorexia Data on Weight Change
bacteria       Presence of Bacteria after
               Drug Treatments
beav1          Body Temperature Series of
               Beaver 1
beav2          Body Temperature Series of
               Beaver 2
biopsy         Biopsy Data on Breast Cancer
               Patients
birthwt        Risk Factors Associated with
               Low Infant Birth Weight
cabbages       Data from a cabbage field
               trial
caith          Colours of Eyes and Hair of
               People in Caithness
cats           Anatomical Data from Domestic
               Cats
cement         Heat Evolved by Setting
               Cements
chem           Copper in Wholemeal Flour
coop           Co-operative Trial in
               Analytical Chemistry
cpus           Performance of Computer CPUs
crabs          Morphological Measurements on
               Leptograpsus Crabs
deaths         Monthly Deaths from Lung
               Diseases in the UK
drivers        Deaths of Car Drivers in Great
               Britain 1969-84
eagles         Foraging Ecology of Bald
               Eagles
epil           Seizure Counts for Epileptics
farms          Ecological Factors in Farm
               Management
fgl            Measurements of Forensic Glass
               Fragments
forbes         Forbes' Data on Boiling Points
               in the Alps
galaxies       Velocities for 82 Galaxies
gehan          Remission Times of Leukaemia
               Patients
genotype       Rat Genotype Data
geyser         Old Faithful Geyser Data
gilgais        Line Transect of Soil in
               Gilgai Territory
hills          Record Times in Scottish Hill
               Races
housing        Frequency Table from a
               Copenhagen Housing Conditions
               Survey
immer          Yields from a Barley Field
               Trial
leuk           Survival Times and White Blood
               Counts for Leukaemia Patients
mammals        Brain and Body Weights for 62
               Species of Land Mammals
mcycle         Data from a Simulated
               Motorcycle Accident
menarche       Age of Menarche in Warsaw
michelson      Michelson's Speed of Light
               Data
minn38         Minnesota High School
               Graduates of 1938
motors         Accelerated Life Testing of
               Motorettes
muscle         Effect of Calcium Chloride on
               Muscle Contraction in Rat
               Hearts
newcomb        Newcomb's Measurements of the
               Passage Time of Light
nlschools      Eighth-Grade Pupils in the
               Netherlands
npk            Classical N, P, K Factorial
               Experiment
npr1           US Naval Petroleum Reserve No.
               1 data
oats           Data from an Oats Field Trial
painters       The Painter's Data of de Piles
petrol         N. L. Prater's Petrol Refinery
               Data
phones         Belgium Phone Calls 1950-1973
quine          Absenteeism from School in
               Rural New South Wales
road           Road Accident Deaths in US
               States
rotifer        Numbers of Rotifers by Fluid
               Density
ships          Ships Damage Data
shoes          Shoe wear data of Box, Hunter
               and Hunter
shrimp         Percentage of Shrimp in Shrimp
               Cocktail
shuttle        Space Shuttle Autolander
               Problem
snails         Snail Mortality Data
steam          The Saturated Steam Pressure
               Data
stormer        The Stormer Viscometer Data
survey         Student Survey Data
synth.te       Synthetic Classification
               Problem
synth.tr       Synthetic Classification
               Problem
topo           Spatial Topographic Data
waders         Counts of Waders at 15 Sites
               in South Africa
whiteside      House Insulation: Whiteside's
               Data
wtloss         Weight Loss Data from an Obese
               Patient

Data sets in package ¡®plyr¡¯:

baseball       Yearly batting records for all
               major league baseball players
ozone          Monthly ozone measurements
               over Central America.

Data sets in package ¡®reshape¡¯:

french_fries   Sensory data from a french
               fries experiment
smiths         Demo data describing the
               Smiths
tips           Tipping data

Data sets in package ¡®RGA¡¯:

ga             Lists all columns for a Google
               Analytics core report type

Data sets in package ¡®stringr¡¯:

fruit          Sample character vectors for
               practicing string
               manipulations.
sentences      Sample character vectors for
               practicing string
               manipulations.
words          Sample character vectors for
               practicing string
               manipulations.

Data sets in package ¡®wordcloud¡¯:

SOTU           United States State of the
               Union Addresses (2010 and
               2011)
Use ¡®data(package = .packages(all.available = TRUE))¡¯
to list the data sets in all *available* packages.

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCg0KYGBge3J9DQppZigiaGZsaWdodHMiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCkgPT0gRkFMU0UpaW5zdGFsbC5wYWNrYWdlcygiaGZsaWdodHMiKQ0KICAgICAgbGlicmFyeShoZmxpZ2h0cykNCiMg66+46rWtIO2ctOyKpO2EtOyXkOyEnCDstpzrsJztlZjripQg66qo65OgIOu5hO2Wieq4sOydmCAyMDEx64WEIOydtOywqeulmeq4sOuhneydtCDsiJjroZ3rkJwg6rKD7Jy866GcDQojIDIyNyw0OTbqsbTsnZgg7J207LCp66WZ6riw66Gd7JeQIOuMgO2VtCAyMeqwnCDtla3rqqnsnYQg7IiY7KeR7ZWcIOuNsOydtO2EsA0KaWYoIk1BU1MiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCkgPT0gRkFMU0UpaW5zdGFsbC5wYWNrYWdlcygiTUFTUyIpDQogICAgICBsaWJyYXJ5KE1BU1MpDQppZigiZGF0YXNldHMiICVpbiUgaW5zdGFsbGVkLnBhY2thZ2VzKCkgPT0gRkFMU0UpaW5zdGFsbC5wYWNrYWdlcygiZGF0YXNldHMiKQ0KICAgICAgbGlicmFyeShkYXRhc2V0cykNCmRhdGEoKQ0KYGBgDQoNCkRhdGEgc2V0cyBpbiBwYWNrYWdlIMKhwq5kYXRhc2V0c8Khwq86DQpgYGB7cn0NCkFpclBhc3NlbmdlcnMNCiAgICAgICAgICAgICAgIE1vbnRobHkgQWlybGluZSBQYXNzZW5nZXINCiAgICAgICAgICAgICAgIE51bWJlcnMgMTk0OS0xOTYwDQpCSnNhbGVzICAgICAgICBTYWxlcyBEYXRhIHdpdGggTGVhZGluZw0KICAgICAgICAgICAgICAgSW5kaWNhdG9yDQpCSnNhbGVzLmxlYWQgKEJKc2FsZXMpDQogICAgICAgICAgICAgICBTYWxlcyBEYXRhIHdpdGggTGVhZGluZw0KICAgICAgICAgICAgICAgSW5kaWNhdG9yDQpCT0QgICAgICAgICAgICBCaW9jaGVtaWNhbCBPeHlnZW4gRGVtYW5kDQpDTzIgICAgICAgICAgICBDYXJib24gRGlveGlkZSBVcHRha2UgaW4gR3Jhc3MNCiAgICAgICAgICAgICAgIFBsYW50cw0KQ2hpY2tXZWlnaHQgICAgV2VpZ2h0IHZlcnN1cyBhZ2Ugb2YgY2hpY2tzIG9uDQogICAgICAgICAgICAgICBkaWZmZXJlbnQgZGlldHMNCkROYXNlICAgICAgICAgIEVsaXNhIGFzc2F5IG9mIEROYXNlDQpFdVN0b2NrTWFya2V0cw0KICAgICAgICAgICAgICAgRGFpbHkgQ2xvc2luZyBQcmljZXMgb2YgTWFqb3INCiAgICAgICAgICAgICAgIEV1cm9wZWFuIFN0b2NrIEluZGljZXMsDQogICAgICAgICAgICAgICAxOTkxLTE5OTgNCkZvcm1hbGRlaHlkZSAgIERldGVybWluYXRpb24gb2YgRm9ybWFsZGVoeWRlDQpIYWlyRXllQ29sb3IgICBIYWlyIGFuZCBFeWUgQ29sb3Igb2YNCiAgICAgICAgICAgICAgIFN0YXRpc3RpY3MgU3R1ZGVudHMNCkhhcm1hbjIzLmNvciAgIEhhcm1hbiBFeGFtcGxlIDIuMw0KSGFybWFuNzQuY29yICAgSGFybWFuIEV4YW1wbGUgNy40DQpJbmRvbWV0aCAgICAgICBQaGFybWFjb2tpbmV0aWNzIG9mDQogICAgICAgICAgICAgICBJbmRvbWV0aGFjaW4NCkluc2VjdFNwcmF5cyAgIEVmZmVjdGl2ZW5lc3Mgb2YgSW5zZWN0IFNwcmF5cw0KSm9obnNvbkpvaG5zb24NCiAgICAgICAgICAgICAgIFF1YXJ0ZXJseSBFYXJuaW5ncyBwZXIgSm9obnNvbg0KICAgICAgICAgICAgICAgJiBKb2huc29uIFNoYXJlDQpMYWtlSHVyb24gICAgICBMZXZlbCBvZiBMYWtlIEh1cm9uIDE4NzUtMTk3Mg0KTGlmZUN5Y2xlU2F2aW5ncw0KICAgICAgICAgICAgICAgSW50ZXJjb3VudHJ5IExpZmUtQ3ljbGUNCiAgICAgICAgICAgICAgIFNhdmluZ3MgRGF0YQ0KTG9ibG9sbHkgICAgICAgR3Jvd3RoIG9mIExvYmxvbGx5IHBpbmUgdHJlZXMNCk5pbGUgICAgICAgICAgIEZsb3cgb2YgdGhlIFJpdmVyIE5pbGUNCk9yYW5nZSAgICAgICAgIEdyb3d0aCBvZiBPcmFuZ2UgVHJlZXMNCk9yY2hhcmRTcHJheXMNCiAgICAgICAgICAgICAgIFBvdGVuY3kgb2YgT3JjaGFyZCBTcHJheXMNClBsYW50R3Jvd3RoICAgIFJlc3VsdHMgZnJvbSBhbiBFeHBlcmltZW50IG9uDQogICAgICAgICAgICAgICBQbGFudCBHcm93dGgNClB1cm9teWNpbiAgICAgIFJlYWN0aW9uIFZlbG9jaXR5IG9mIGFuDQogICAgICAgICAgICAgICBFbnp5bWF0aWMgUmVhY3Rpb24NClNlYXRiZWx0cyAgICAgIFJvYWQgQ2FzdWFsdGllcyBpbiBHcmVhdA0KICAgICAgICAgICAgICAgQnJpdGFpbiAxOTY5LTg0DQpUaGVvcGggICAgICAgICBQaGFybWFjb2tpbmV0aWNzIG9mDQogICAgICAgICAgICAgICBUaGVvcGh5bGxpbmUNClRpdGFuaWMgICAgICAgIFN1cnZpdmFsIG9mIHBhc3NlbmdlcnMgb24gdGhlDQogICAgICAgICAgICAgICBUaXRhbmljDQpUb290aEdyb3d0aCAgICBUaGUgRWZmZWN0IG9mIFZpdGFtaW4gQyBvbg0KICAgICAgICAgICAgICAgVG9vdGggR3Jvd3RoIGluIEd1aW5lYSBQaWdzDQpVQ0JBZG1pc3Npb25zDQogICAgICAgICAgICAgICBTdHVkZW50IEFkbWlzc2lvbnMgYXQgVUMNCiAgICAgICAgICAgICAgIEJlcmtlbGV5DQpVS0RyaXZlckRlYXRocw0KICAgICAgICAgICAgICAgUm9hZCBDYXN1YWx0aWVzIGluIEdyZWF0DQogICAgICAgICAgICAgICBCcml0YWluIDE5NjktODQNClVLZ2FzICAgICAgICAgIFVLIFF1YXJ0ZXJseSBHYXMgQ29uc3VtcHRpb24NClVTQWNjRGVhdGhzICAgIEFjY2lkZW50YWwgRGVhdGhzIGluIHRoZSBVUw0KICAgICAgICAgICAgICAgMTk3My0xOTc4DQpVU0FycmVzdHMgICAgICBWaW9sZW50IENyaW1lIFJhdGVzIGJ5IFVTDQogICAgICAgICAgICAgICBTdGF0ZQ0KVVNKdWRnZVJhdGluZ3MNCiAgICAgICAgICAgICAgIExhd3llcnMnIFJhdGluZ3Mgb2YgU3RhdGUNCiAgICAgICAgICAgICAgIEp1ZGdlcyBpbiB0aGUgVVMgU3VwZXJpb3INCiAgICAgICAgICAgICAgIENvdXJ0DQpVU1BlcnNvbmFsRXhwZW5kaXR1cmUNCiAgICAgICAgICAgICAgIFBlcnNvbmFsIEV4cGVuZGl0dXJlIERhdGENClVTY2l0aWVzRCAgICAgIERpc3RhbmNlcyBCZXR3ZWVuIEV1cm9wZWFuDQogICAgICAgICAgICAgICBDaXRpZXMgYW5kIEJldHdlZW4gVVMgQ2l0aWVzDQpWQURlYXRocyAgICAgICBEZWF0aCBSYXRlcyBpbiBWaXJnaW5pYSAoMTk0MCkNCldXV3VzYWdlICAgICAgIEludGVybmV0IFVzYWdlIHBlciBNaW51dGUNCldvcmxkUGhvbmVzICAgIFRoZSBXb3JsZCdzIFRlbGVwaG9uZXMNCmFiaWxpdHkuY292ICAgIEFiaWxpdHkgYW5kIEludGVsbGlnZW5jZSBUZXN0cw0KYWlybWlsZXMgICAgICAgUGFzc2VuZ2VyIE1pbGVzIG9uIENvbW1lcmNpYWwNCiAgICAgICAgICAgICAgIFVTIEFpcmxpbmVzLCAxOTM3LTE5NjANCmFpcnF1YWxpdHkgICAgIE5ldyBZb3JrIEFpciBRdWFsaXR5DQogICAgICAgICAgICAgICBNZWFzdXJlbWVudHMNCmFuc2NvbWJlICAgICAgIEFuc2NvbWJlJ3MgUXVhcnRldCBvZg0KICAgICAgICAgICAgICAgJ0lkZW50aWNhbCcgU2ltcGxlIExpbmVhcg0KICAgICAgICAgICAgICAgUmVncmVzc2lvbnMNCmF0dGVudSAgICAgICAgIFRoZSBKb3luZXItQm9vcmUgQXR0ZW51YXRpb24NCiAgICAgICAgICAgICAgIERhdGENCmF0dGl0dWRlICAgICAgIFRoZSBDaGF0dGVyamVlLVByaWNlIEF0dGl0dWRlDQogICAgICAgICAgICAgICBEYXRhDQphdXN0cmVzICAgICAgICBRdWFydGVybHkgVGltZSBTZXJpZXMgb2YgdGhlDQogICAgICAgICAgICAgICBOdW1iZXIgb2YgQXVzdHJhbGlhbiBSZXNpZGVudHMNCmJlYXZlcjEgKGJlYXZlcnMpDQogICAgICAgICAgICAgICBCb2R5IFRlbXBlcmF0dXJlIFNlcmllcyBvZiBUd28NCiAgICAgICAgICAgICAgIEJlYXZlcnMNCmJlYXZlcjIgKGJlYXZlcnMpDQogICAgICAgICAgICAgICBCb2R5IFRlbXBlcmF0dXJlIFNlcmllcyBvZiBUd28NCiAgICAgICAgICAgICAgIEJlYXZlcnMNCmNhcnMgICAgICAgICAgIFNwZWVkIGFuZCBTdG9wcGluZyBEaXN0YW5jZXMNCiAgICAgICAgICAgICAgIG9mIENhcnMNCmNoaWNrd3RzICAgICAgIENoaWNrZW4gV2VpZ2h0cyBieSBGZWVkIFR5cGUNCmNvMiAgICAgICAgICAgIE1hdW5hIExvYSBBdG1vc3BoZXJpYyBDTzINCiAgICAgICAgICAgICAgIENvbmNlbnRyYXRpb24NCmNyaW10YWIgICAgICAgIFN0dWRlbnQncyAzMDAwIENyaW1pbmFscyBEYXRhDQpkaXNjb3ZlcmllcyAgICBZZWFybHkgTnVtYmVycyBvZiBJbXBvcnRhbnQNCiAgICAgICAgICAgICAgIERpc2NvdmVyaWVzDQplc29waCAgICAgICAgICBTbW9raW5nLCBBbGNvaG9sIGFuZA0KICAgICAgICAgICAgICAgKE8pZXNvcGhhZ2VhbCBDYW5jZXINCmV1cm8gICAgICAgICAgIENvbnZlcnNpb24gUmF0ZXMgb2YgRXVybw0KICAgICAgICAgICAgICAgQ3VycmVuY2llcw0KZXVyby5jcm9zcyAoZXVybykNCiAgICAgICAgICAgICAgIENvbnZlcnNpb24gUmF0ZXMgb2YgRXVybw0KICAgICAgICAgICAgICAgQ3VycmVuY2llcw0KZXVyb2Rpc3QgICAgICAgRGlzdGFuY2VzIEJldHdlZW4gRXVyb3BlYW4NCiAgICAgICAgICAgICAgIENpdGllcyBhbmQgQmV0d2VlbiBVUyBDaXRpZXMNCmZhaXRoZnVsICAgICAgIE9sZCBGYWl0aGZ1bCBHZXlzZXIgRGF0YQ0KZmRlYXRocyAoVUtMdW5nRGVhdGhzKQ0KICAgICAgICAgICAgICAgTW9udGhseSBEZWF0aHMgZnJvbSBMdW5nDQogICAgICAgICAgICAgICBEaXNlYXNlcyBpbiB0aGUgVUsNCmZyZWVueSAgICAgICAgIEZyZWVueSdzIFJldmVudWUgRGF0YQ0KZnJlZW55LnggKGZyZWVueSkNCiAgICAgICAgICAgICAgIEZyZWVueSdzIFJldmVudWUgRGF0YQ0KZnJlZW55LnkgKGZyZWVueSkNCiAgICAgICAgICAgICAgIEZyZWVueSdzIFJldmVudWUgRGF0YQ0KaW5mZXJ0ICAgICAgICAgSW5mZXJ0aWxpdHkgYWZ0ZXIgU3BvbnRhbmVvdXMNCiAgICAgICAgICAgICAgIGFuZCBJbmR1Y2VkIEFib3J0aW9uDQppcmlzICAgICAgICAgICBFZGdhciBBbmRlcnNvbidzIElyaXMgRGF0YQ0KaXJpczMgICAgICAgICAgRWRnYXIgQW5kZXJzb24ncyBJcmlzIERhdGENCmlzbGFuZHMgICAgICAgIEFyZWFzIG9mIHRoZSBXb3JsZCdzIE1ham9yDQogICAgICAgICAgICAgICBMYW5kbWFzc2VzDQpsZGVhdGhzIChVS0x1bmdEZWF0aHMpDQogICAgICAgICAgICAgICBNb250aGx5IERlYXRocyBmcm9tIEx1bmcNCiAgICAgICAgICAgICAgIERpc2Vhc2VzIGluIHRoZSBVSw0KbGggICAgICAgICAgICAgTHV0ZWluaXppbmcgSG9ybW9uZSBpbiBCbG9vZA0KICAgICAgICAgICAgICAgU2FtcGxlcw0KbG9uZ2xleSAgICAgICAgTG9uZ2xleSdzIEVjb25vbWljIFJlZ3Jlc3Npb24NCiAgICAgICAgICAgICAgIERhdGENCmx5bnggICAgICAgICAgIEFubnVhbCBDYW5hZGlhbiBMeW54IHRyYXBwaW5ncw0KICAgICAgICAgICAgICAgMTgyMS0xOTM0DQptZGVhdGhzIChVS0x1bmdEZWF0aHMpDQogICAgICAgICAgICAgICBNb250aGx5IERlYXRocyBmcm9tIEx1bmcNCiAgICAgICAgICAgICAgIERpc2Vhc2VzIGluIHRoZSBVSw0KbW9ybGV5ICAgICAgICAgTWljaGVsc29uIFNwZWVkIG9mIExpZ2h0IERhdGENCm10Y2FycyAgICAgICAgIE1vdG9yIFRyZW5kIENhciBSb2FkIFRlc3RzDQpuaHRlbXAgICAgICAgICBBdmVyYWdlIFllYXJseSBUZW1wZXJhdHVyZXMgaW4NCiAgICAgICAgICAgICAgIE5ldyBIYXZlbg0Kbm90dGVtICAgICAgICAgQXZlcmFnZSBNb250aGx5IFRlbXBlcmF0dXJlcw0KICAgICAgICAgICAgICAgYXQgTm90dGluZ2hhbSwgMTkyMC0xOTM5DQpucGsgICAgICAgICAgICBDbGFzc2ljYWwgTiwgUCwgSyBGYWN0b3JpYWwNCiAgICAgICAgICAgICAgIEV4cGVyaW1lbnQNCm9jY3VwYXRpb25hbFN0YXR1cw0KICAgICAgICAgICAgICAgT2NjdXBhdGlvbmFsIFN0YXR1cyBvZiBGYXRoZXJzDQogICAgICAgICAgICAgICBhbmQgdGhlaXIgU29ucw0KcHJlY2lwICAgICAgICAgQW5udWFsIFByZWNpcGl0YXRpb24gaW4gVVMNCiAgICAgICAgICAgICAgIENpdGllcw0KcHJlc2lkZW50cyAgICAgUXVhcnRlcmx5IEFwcHJvdmFsIFJhdGluZ3Mgb2YNCiAgICAgICAgICAgICAgIFVTIFByZXNpZGVudHMNCnByZXNzdXJlICAgICAgIFZhcG9yIFByZXNzdXJlIG9mIE1lcmN1cnkgYXMgYQ0KICAgICAgICAgICAgICAgRnVuY3Rpb24gb2YgVGVtcGVyYXR1cmUNCnF1YWtlcyAgICAgICAgIExvY2F0aW9ucyBvZiBFYXJ0aHF1YWtlcyBvZmYNCiAgICAgICAgICAgICAgIEZpamkNCnJhbmR1ICAgICAgICAgIFJhbmRvbSBOdW1iZXJzIGZyb20NCiAgICAgICAgICAgICAgIENvbmdydWVudGlhbCBHZW5lcmF0b3IgUkFORFUNCnJpdmVycyAgICAgICAgIExlbmd0aHMgb2YgTWFqb3IgTm9ydGgNCiAgICAgICAgICAgICAgIEFtZXJpY2FuIFJpdmVycw0Kcm9jayAgICAgICAgICAgTWVhc3VyZW1lbnRzIG9uIFBldHJvbGV1bSBSb2NrDQogICAgICAgICAgICAgICBTYW1wbGVzDQpzbGVlcCAgICAgICAgICBTdHVkZW50J3MgU2xlZXAgRGF0YQ0Kc3RhY2subG9zcyAoc3RhY2tsb3NzKQ0KICAgICAgICAgICAgICAgQnJvd25sZWUncyBTdGFjayBMb3NzIFBsYW50DQogICAgICAgICAgICAgICBEYXRhDQpzdGFjay54IChzdGFja2xvc3MpDQogICAgICAgICAgICAgICBCcm93bmxlZSdzIFN0YWNrIExvc3MgUGxhbnQNCiAgICAgICAgICAgICAgIERhdGENCnN0YWNrbG9zcyAgICAgIEJyb3dubGVlJ3MgU3RhY2sgTG9zcyBQbGFudA0KICAgICAgICAgICAgICAgRGF0YQ0Kc3RhdGUuYWJiIChzdGF0ZSkNCiAgICAgICAgICAgICAgIFVTIFN0YXRlIEZhY3RzIGFuZCBGaWd1cmVzDQpzdGF0ZS5hcmVhIChzdGF0ZSkNCiAgICAgICAgICAgICAgIFVTIFN0YXRlIEZhY3RzIGFuZCBGaWd1cmVzDQpzdGF0ZS5jZW50ZXIgKHN0YXRlKQ0KICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCnN0YXRlLmRpdmlzaW9uIChzdGF0ZSkNCiAgICAgICAgICAgICAgIFVTIFN0YXRlIEZhY3RzIGFuZCBGaWd1cmVzDQpzdGF0ZS5uYW1lIChzdGF0ZSkNCiAgICAgICAgICAgICAgIFVTIFN0YXRlIEZhY3RzIGFuZCBGaWd1cmVzDQpzdGF0ZS5yZWdpb24gKHN0YXRlKQ0KICAgICAgICAgICAgICAgVVMgU3RhdGUgRmFjdHMgYW5kIEZpZ3VyZXMNCnN0YXRlLng3NyAoc3RhdGUpDQogICAgICAgICAgICAgICBVUyBTdGF0ZSBGYWN0cyBhbmQgRmlndXJlcw0Kc3Vuc3BvdC5tb250aA0KICAgICAgICAgICAgICAgTW9udGhseSBTdW5zcG90IERhdGEsIGZyb20NCiAgICAgICAgICAgICAgIDE3NDkgdG8gIlByZXNlbnQiDQpzdW5zcG90LnllYXIgICBZZWFybHkgU3Vuc3BvdCBEYXRhLCAxNzAwLTE5ODgNCnN1bnNwb3RzICAgICAgIE1vbnRobHkgU3Vuc3BvdCBOdW1iZXJzLA0KICAgICAgICAgICAgICAgMTc0OS0xOTgzDQpzd2lzcyAgICAgICAgICBTd2lzcyBGZXJ0aWxpdHkgYW5kDQogICAgICAgICAgICAgICBTb2Npb2Vjb25vbWljIEluZGljYXRvcnMNCiAgICAgICAgICAgICAgICgxODg4KSBEYXRhDQp0cmVlcmluZyAgICAgICBZZWFybHkgVHJlZXJpbmcgRGF0YSwNCiAgICAgICAgICAgICAgIC02MDAwLTE5NzkNCnRyZWVzICAgICAgICAgIEdpcnRoLCBIZWlnaHQgYW5kIFZvbHVtZSBmb3INCiAgICAgICAgICAgICAgIEJsYWNrIENoZXJyeSBUcmVlcw0KdXNwb3AgICAgICAgICAgUG9wdWxhdGlvbnMgUmVjb3JkZWQgYnkgdGhlIFVTDQogICAgICAgICAgICAgICBDZW5zdXMNCnZvbGNhbm8gICAgICAgIFRvcG9ncmFwaGljIEluZm9ybWF0aW9uIG9uDQogICAgICAgICAgICAgICBBdWNrbGFuZCdzIE1hdW5nYSBXaGF1IFZvbGNhbm8NCndhcnBicmVha3MgICAgIFRoZSBOdW1iZXIgb2YgQnJlYWtzIGluIFlhcm4NCiAgICAgICAgICAgICAgIGR1cmluZyBXZWF2aW5nDQp3b21lbiAgICAgICAgICBBdmVyYWdlIEhlaWdodHMgYW5kIFdlaWdodHMNCiAgICAgICAgICAgICAgIGZvciBBbWVyaWNhbiBXb21lbg0KDQoNCmBgYA0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuZHBseXLCocKvOg0KDQpgYGB7cn0NCmJhbmRfaW5zdHJ1bWVudHMNCiAgICAgICAgICAgICAgIEJhbmQgbWVtYmVyc2hpcA0KYmFuZF9pbnN0cnVtZW50czINCiAgICAgICAgICAgICAgIEJhbmQgbWVtYmVyc2hpcA0KYmFuZF9tZW1iZXJzICAgQmFuZCBtZW1iZXJzaGlwDQpuYXNhICAgICAgICAgICBOQVNBIHNwYXRpby10ZW1wb3JhbCBkYXRhDQpzdGFyd2FycyAgICAgICBTdGFyd2FycyBjaGFyYWN0ZXJzDQpzdG9ybXMgICAgICAgICBTdG9ybSB0cmFja3MgZGF0YQ0KYGBgDQoNCg0KRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrmdnbWFwwqHCrzoNCmBgYHtyfQ0KY3JpbWUgICAgICAgICAgQ3JpbWUgZGF0YQ0KaGFkbGV5ICAgICAgICAgSGlnaGx5IHVub2ZmaWNpYWwgZ2dwbG90Mg0KICAgICAgICAgICAgICAgaW1hZ2UNCndpbmQgICAgICAgICAgIFdpbmQgZGF0YSBmcm9tIEh1cnJpY2FuZSBJa2UNCnppcHMgICAgICAgICAgIFppcCBjb2RlIGRhdGEgZm9yIHRoZSBHcmVhdGVyDQogICAgICAgICAgICAgICBIb3VzdG9uIE1ldHJvcG9saXRhbiBBcmVhIGZyb20NCiAgICAgICAgICAgICAgIHRoZSAyMDAwIGNlbnN1cw0KYGBgDQoNCg0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuZ2dwbG90MsKhwq86DQpgYGB7cn0NCmRpYW1vbmRzICAgICAgIFByaWNlcyBvZiA1MCwwMDAgcm91bmQgY3V0DQogICAgICAgICAgICAgICBkaWFtb25kcw0KZWNvbm9taWNzICAgICAgVVMgZWNvbm9taWMgdGltZSBzZXJpZXMNCmVjb25vbWljc19sb25nDQogICAgICAgICAgICAgICBVUyBlY29ub21pYyB0aW1lIHNlcmllcw0KZmFpdGhmdWxkICAgICAgMmQgZGVuc2l0eSBlc3RpbWF0ZSBvZiBPbGQNCiAgICAgICAgICAgICAgIEZhaXRoZnVsIGRhdGENCmx1dl9jb2xvdXJzICAgICdjb2xvcnMoKScgaW4gTHV2IHNwYWNlDQptaWR3ZXN0ICAgICAgICBNaWR3ZXN0IGRlbW9ncmFwaGljcw0KbXBnICAgICAgICAgICAgRnVlbCBlY29ub215IGRhdGEgZnJvbSAxOTk5DQogICAgICAgICAgICAgICBhbmQgMjAwOCBmb3IgMzggcG9wdWxhciBtb2RlbHMNCiAgICAgICAgICAgICAgIG9mIGNhcg0KbXNsZWVwICAgICAgICAgQW4gdXBkYXRlZCBhbmQgZXhwYW5kZWQNCiAgICAgICAgICAgICAgIHZlcnNpb24gb2YgdGhlIG1hbW1hbHMgc2xlZXANCiAgICAgICAgICAgICAgIGRhdGFzZXQNCnByZXNpZGVudGlhbCAgIFRlcm1zIG9mIDExIHByZXNpZGVudHMgZnJvbQ0KICAgICAgICAgICAgICAgRWlzZW5ob3dlciB0byBPYmFtYQ0Kc2VhbHMgICAgICAgICAgVmVjdG9yIGZpZWxkIG9mIHNlYWwgbW92ZW1lbnRzDQp0eGhvdXNpbmcgICAgICBIb3VzaW5nIHNhbGVzIGluIFRYDQpgYGANCg0KDQoNCkRhdGEgc2V0cyBpbiBwYWNrYWdlIMKhwq5nb29nbGVWaXPCocKvOg0KYGBge3J9DQpBbmRyZXcgICAgICAgICBIdXJyaWNhbmUgQW5kcmV3OiBnb29nbGVWaXMNCiAgICAgICAgICAgICAgIGV4YW1wbGUgZGF0YSBzZXQNCkNhaXJvICAgICAgICAgIERhaWx5IHRlbXBlcmF0dXJlIGRhdGEgZm9yDQogICAgICAgICAgICAgICBDYWlybw0KQ2l0eVBvcHVsYXJpdHkNCiAgICAgICAgICAgICAgIENpdHlQb3B1bGFyaXR5OiBnb29nbGVWaXMNCiAgICAgICAgICAgICAgIGV4YW1wbGUgZGF0YSBzZXQNCkV4cG9ydHMgICAgICAgIEV4cG9ydHM6IGdvb2dsZVZpcyBleGFtcGxlDQogICAgICAgICAgICAgICBkYXRhIHNldA0KRnJ1aXRzICAgICAgICAgRnJ1aXRzOiBnb29nbGVWaXMgZXhhbXBsZSBkYXRhDQogICAgICAgICAgICAgICBzZXQNCk9wZW5DbG9zZSAgICAgIE9wZW5DbG9zZTogZ29vZ2xlVmlzIGV4YW1wbGUNCiAgICAgICAgICAgICAgIGRhdGEgc2V0DQpQb3B1bGF0aW9uICAgICBQb3B1bGF0aW9uOiBnb29nbGVWaXMgZXhhbXBsZQ0KICAgICAgICAgICAgICAgZGF0YSBzZXQNClJlZ2lvbnMgICAgICAgIFJlZ2lvbnM6IGdvb2dsZVZpcyBleGFtcGxlDQogICAgICAgICAgICAgICBkYXRhIHNldA0KU3RvY2sgICAgICAgICAgU3RvY2s6IGdvb2dsZVZpcyBleGFtcGxlIGRhdGENCiAgICAgICAgICAgICAgIHNldA0KZGlubyAgICAgICAgICAgRGlub3NhdXIgZGF0YQ0KYGBgDQoNCg0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuaGZsaWdodHPCocKvOg0KYGBge3J9DQpoZmxpZ2h0cyAgICAgICBIb3VzdG9uIGZsaWdodHMgZGF0YQ0KYGBgDQoNCg0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuTUFTU8Khwq86DQpgYGB7cn0NCkFpZHMyICAgICAgICAgIEF1c3RyYWxpYW4gQUlEUyBTdXJ2aXZhbCBEYXRhDQpBbmltYWxzICAgICAgICBCcmFpbiBhbmQgQm9keSBXZWlnaHRzIGZvciAyOA0KICAgICAgICAgICAgICAgU3BlY2llcw0KQm9zdG9uICAgICAgICAgSG91c2luZyBWYWx1ZXMgaW4gU3VidXJicyBvZg0KICAgICAgICAgICAgICAgQm9zdG9uDQpDYXJzOTMgICAgICAgICBEYXRhIGZyb20gOTMgQ2FycyBvbiBTYWxlIGluDQogICAgICAgICAgICAgICB0aGUgVVNBIGluIDE5OTMNCkN1c2hpbmdzICAgICAgIERpYWdub3N0aWMgVGVzdHMgb24gUGF0aWVudHMNCiAgICAgICAgICAgICAgIHdpdGggQ3VzaGluZydzIFN5bmRyb21lDQpERFQgICAgICAgICAgICBERFQgaW4gS2FsZQ0KR0FHdXJpbmUgICAgICAgTGV2ZWwgb2YgR0FHIGluIFVyaW5lIG9mDQogICAgICAgICAgICAgICBDaGlsZHJlbg0KSW5zdXJhbmNlICAgICAgTnVtYmVycyBvZiBDYXIgSW5zdXJhbmNlDQogICAgICAgICAgICAgICBjbGFpbXMNCk1lbGFub21hICAgICAgIFN1cnZpdmFsIGZyb20gTWFsaWduYW50DQogICAgICAgICAgICAgICBNZWxhbm9tYQ0KT01FICAgICAgICAgICAgVGVzdHMgb2YgQXVkaXRvcnkgUGVyY2VwdGlvbg0KICAgICAgICAgICAgICAgaW4gQ2hpbGRyZW4gd2l0aCBPTUUNClBpbWEudGUgICAgICAgIERpYWJldGVzIGluIFBpbWEgSW5kaWFuIFdvbWVuDQpQaW1hLnRyICAgICAgICBEaWFiZXRlcyBpbiBQaW1hIEluZGlhbiBXb21lbg0KUGltYS50cjIgICAgICAgRGlhYmV0ZXMgaW4gUGltYSBJbmRpYW4gV29tZW4NClJhYmJpdCAgICAgICAgIEJsb29kIFByZXNzdXJlIGluIFJhYmJpdHMNClJ1YmJlciAgICAgICAgIEFjY2VsZXJhdGVkIFRlc3Rpbmcgb2YgVHlyZQ0KICAgICAgICAgICAgICAgUnViYmVyDQpTUDUwMCAgICAgICAgICBSZXR1cm5zIG9mIHRoZSBTdGFuZGFyZCBhbmQNCiAgICAgICAgICAgICAgIFBvb3JzIDUwMA0KU2l0a2EgICAgICAgICAgR3Jvd3RoIEN1cnZlcyBmb3IgU2l0a2EgU3BydWNlDQogICAgICAgICAgICAgICBUcmVlcyBpbiAxOTg4DQpTaXRrYTg5ICAgICAgICBHcm93dGggQ3VydmVzIGZvciBTaXRrYSBTcHJ1Y2UNCiAgICAgICAgICAgICAgIFRyZWVzIGluIDE5ODkNClNreWUgICAgICAgICAgIEFGTSBDb21wb3NpdGlvbnMgb2YgQXBoeXJpYw0KICAgICAgICAgICAgICAgU2t5ZSBMYXZhcw0KVHJhZmZpYyAgICAgICAgRWZmZWN0IG9mIFN3ZWRpc2ggU3BlZWQgTGltaXRzDQogICAgICAgICAgICAgICBvbiBBY2NpZGVudHMNClVTY2VyZWFsICAgICAgIE51dHJpdGlvbmFsIGFuZCBNYXJrZXRpbmcNCiAgICAgICAgICAgICAgIEluZm9ybWF0aW9uIG9uIFVTIENlcmVhbHMNClVTY3JpbWUgICAgICAgIFRoZSBFZmZlY3Qgb2YgUHVuaXNobWVudA0KICAgICAgICAgICAgICAgUmVnaW1lcyBvbiBDcmltZSBSYXRlcw0KVkEgICAgICAgICAgICAgVmV0ZXJhbidzIEFkbWluaXN0cmF0aW9uIEx1bmcNCiAgICAgICAgICAgICAgIENhbmNlciBUcmlhbA0KYWJiZXkgICAgICAgICAgRGV0ZXJtaW5hdGlvbnMgb2YgTmlja2VsDQogICAgICAgICAgICAgICBDb250ZW50DQphY2NkZWF0aHMgICAgICBBY2NpZGVudGFsIERlYXRocyBpbiB0aGUgVVMNCiAgICAgICAgICAgICAgIDE5NzMtMTk3OA0KYW5vcmV4aWEgICAgICAgQW5vcmV4aWEgRGF0YSBvbiBXZWlnaHQgQ2hhbmdlDQpiYWN0ZXJpYSAgICAgICBQcmVzZW5jZSBvZiBCYWN0ZXJpYSBhZnRlcg0KICAgICAgICAgICAgICAgRHJ1ZyBUcmVhdG1lbnRzDQpiZWF2MSAgICAgICAgICBCb2R5IFRlbXBlcmF0dXJlIFNlcmllcyBvZg0KICAgICAgICAgICAgICAgQmVhdmVyIDENCmJlYXYyICAgICAgICAgIEJvZHkgVGVtcGVyYXR1cmUgU2VyaWVzIG9mDQogICAgICAgICAgICAgICBCZWF2ZXIgMg0KYmlvcHN5ICAgICAgICAgQmlvcHN5IERhdGEgb24gQnJlYXN0IENhbmNlcg0KICAgICAgICAgICAgICAgUGF0aWVudHMNCmJpcnRod3QgICAgICAgIFJpc2sgRmFjdG9ycyBBc3NvY2lhdGVkIHdpdGgNCiAgICAgICAgICAgICAgIExvdyBJbmZhbnQgQmlydGggV2VpZ2h0DQpjYWJiYWdlcyAgICAgICBEYXRhIGZyb20gYSBjYWJiYWdlIGZpZWxkDQogICAgICAgICAgICAgICB0cmlhbA0KY2FpdGggICAgICAgICAgQ29sb3VycyBvZiBFeWVzIGFuZCBIYWlyIG9mDQogICAgICAgICAgICAgICBQZW9wbGUgaW4gQ2FpdGhuZXNzDQpjYXRzICAgICAgICAgICBBbmF0b21pY2FsIERhdGEgZnJvbSBEb21lc3RpYw0KICAgICAgICAgICAgICAgQ2F0cw0KY2VtZW50ICAgICAgICAgSGVhdCBFdm9sdmVkIGJ5IFNldHRpbmcNCiAgICAgICAgICAgICAgIENlbWVudHMNCmNoZW0gICAgICAgICAgIENvcHBlciBpbiBXaG9sZW1lYWwgRmxvdXINCmNvb3AgICAgICAgICAgIENvLW9wZXJhdGl2ZSBUcmlhbCBpbg0KICAgICAgICAgICAgICAgQW5hbHl0aWNhbCBDaGVtaXN0cnkNCmNwdXMgICAgICAgICAgIFBlcmZvcm1hbmNlIG9mIENvbXB1dGVyIENQVXMNCmNyYWJzICAgICAgICAgIE1vcnBob2xvZ2ljYWwgTWVhc3VyZW1lbnRzIG9uDQogICAgICAgICAgICAgICBMZXB0b2dyYXBzdXMgQ3JhYnMNCmRlYXRocyAgICAgICAgIE1vbnRobHkgRGVhdGhzIGZyb20gTHVuZw0KICAgICAgICAgICAgICAgRGlzZWFzZXMgaW4gdGhlIFVLDQpkcml2ZXJzICAgICAgICBEZWF0aHMgb2YgQ2FyIERyaXZlcnMgaW4gR3JlYXQNCiAgICAgICAgICAgICAgIEJyaXRhaW4gMTk2OS04NA0KZWFnbGVzICAgICAgICAgRm9yYWdpbmcgRWNvbG9neSBvZiBCYWxkDQogICAgICAgICAgICAgICBFYWdsZXMNCmVwaWwgICAgICAgICAgIFNlaXp1cmUgQ291bnRzIGZvciBFcGlsZXB0aWNzDQpmYXJtcyAgICAgICAgICBFY29sb2dpY2FsIEZhY3RvcnMgaW4gRmFybQ0KICAgICAgICAgICAgICAgTWFuYWdlbWVudA0KZmdsICAgICAgICAgICAgTWVhc3VyZW1lbnRzIG9mIEZvcmVuc2ljIEdsYXNzDQogICAgICAgICAgICAgICBGcmFnbWVudHMNCmZvcmJlcyAgICAgICAgIEZvcmJlcycgRGF0YSBvbiBCb2lsaW5nIFBvaW50cw0KICAgICAgICAgICAgICAgaW4gdGhlIEFscHMNCmdhbGF4aWVzICAgICAgIFZlbG9jaXRpZXMgZm9yIDgyIEdhbGF4aWVzDQpnZWhhbiAgICAgICAgICBSZW1pc3Npb24gVGltZXMgb2YgTGV1a2FlbWlhDQogICAgICAgICAgICAgICBQYXRpZW50cw0KZ2Vub3R5cGUgICAgICAgUmF0IEdlbm90eXBlIERhdGENCmdleXNlciAgICAgICAgIE9sZCBGYWl0aGZ1bCBHZXlzZXIgRGF0YQ0KZ2lsZ2FpcyAgICAgICAgTGluZSBUcmFuc2VjdCBvZiBTb2lsIGluDQogICAgICAgICAgICAgICBHaWxnYWkgVGVycml0b3J5DQpoaWxscyAgICAgICAgICBSZWNvcmQgVGltZXMgaW4gU2NvdHRpc2ggSGlsbA0KICAgICAgICAgICAgICAgUmFjZXMNCmhvdXNpbmcgICAgICAgIEZyZXF1ZW5jeSBUYWJsZSBmcm9tIGENCiAgICAgICAgICAgICAgIENvcGVuaGFnZW4gSG91c2luZyBDb25kaXRpb25zDQogICAgICAgICAgICAgICBTdXJ2ZXkNCmltbWVyICAgICAgICAgIFlpZWxkcyBmcm9tIGEgQmFybGV5IEZpZWxkDQogICAgICAgICAgICAgICBUcmlhbA0KbGV1ayAgICAgICAgICAgU3Vydml2YWwgVGltZXMgYW5kIFdoaXRlIEJsb29kDQogICAgICAgICAgICAgICBDb3VudHMgZm9yIExldWthZW1pYSBQYXRpZW50cw0KbWFtbWFscyAgICAgICAgQnJhaW4gYW5kIEJvZHkgV2VpZ2h0cyBmb3IgNjINCiAgICAgICAgICAgICAgIFNwZWNpZXMgb2YgTGFuZCBNYW1tYWxzDQptY3ljbGUgICAgICAgICBEYXRhIGZyb20gYSBTaW11bGF0ZWQNCiAgICAgICAgICAgICAgIE1vdG9yY3ljbGUgQWNjaWRlbnQNCm1lbmFyY2hlICAgICAgIEFnZSBvZiBNZW5hcmNoZSBpbiBXYXJzYXcNCm1pY2hlbHNvbiAgICAgIE1pY2hlbHNvbidzIFNwZWVkIG9mIExpZ2h0DQogICAgICAgICAgICAgICBEYXRhDQptaW5uMzggICAgICAgICBNaW5uZXNvdGEgSGlnaCBTY2hvb2wNCiAgICAgICAgICAgICAgIEdyYWR1YXRlcyBvZiAxOTM4DQptb3RvcnMgICAgICAgICBBY2NlbGVyYXRlZCBMaWZlIFRlc3Rpbmcgb2YNCiAgICAgICAgICAgICAgIE1vdG9yZXR0ZXMNCm11c2NsZSAgICAgICAgIEVmZmVjdCBvZiBDYWxjaXVtIENobG9yaWRlIG9uDQogICAgICAgICAgICAgICBNdXNjbGUgQ29udHJhY3Rpb24gaW4gUmF0DQogICAgICAgICAgICAgICBIZWFydHMNCm5ld2NvbWIgICAgICAgIE5ld2NvbWIncyBNZWFzdXJlbWVudHMgb2YgdGhlDQogICAgICAgICAgICAgICBQYXNzYWdlIFRpbWUgb2YgTGlnaHQNCm5sc2Nob29scyAgICAgIEVpZ2h0aC1HcmFkZSBQdXBpbHMgaW4gdGhlDQogICAgICAgICAgICAgICBOZXRoZXJsYW5kcw0KbnBrICAgICAgICAgICAgQ2xhc3NpY2FsIE4sIFAsIEsgRmFjdG9yaWFsDQogICAgICAgICAgICAgICBFeHBlcmltZW50DQpucHIxICAgICAgICAgICBVUyBOYXZhbCBQZXRyb2xldW0gUmVzZXJ2ZSBOby4NCiAgICAgICAgICAgICAgIDEgZGF0YQ0Kb2F0cyAgICAgICAgICAgRGF0YSBmcm9tIGFuIE9hdHMgRmllbGQgVHJpYWwNCnBhaW50ZXJzICAgICAgIFRoZSBQYWludGVyJ3MgRGF0YSBvZiBkZSBQaWxlcw0KcGV0cm9sICAgICAgICAgTi4gTC4gUHJhdGVyJ3MgUGV0cm9sIFJlZmluZXJ5DQogICAgICAgICAgICAgICBEYXRhDQpwaG9uZXMgICAgICAgICBCZWxnaXVtIFBob25lIENhbGxzIDE5NTAtMTk3Mw0KcXVpbmUgICAgICAgICAgQWJzZW50ZWVpc20gZnJvbSBTY2hvb2wgaW4NCiAgICAgICAgICAgICAgIFJ1cmFsIE5ldyBTb3V0aCBXYWxlcw0Kcm9hZCAgICAgICAgICAgUm9hZCBBY2NpZGVudCBEZWF0aHMgaW4gVVMNCiAgICAgICAgICAgICAgIFN0YXRlcw0Kcm90aWZlciAgICAgICAgTnVtYmVycyBvZiBSb3RpZmVycyBieSBGbHVpZA0KICAgICAgICAgICAgICAgRGVuc2l0eQ0Kc2hpcHMgICAgICAgICAgU2hpcHMgRGFtYWdlIERhdGENCnNob2VzICAgICAgICAgIFNob2Ugd2VhciBkYXRhIG9mIEJveCwgSHVudGVyDQogICAgICAgICAgICAgICBhbmQgSHVudGVyDQpzaHJpbXAgICAgICAgICBQZXJjZW50YWdlIG9mIFNocmltcCBpbiBTaHJpbXANCiAgICAgICAgICAgICAgIENvY2t0YWlsDQpzaHV0dGxlICAgICAgICBTcGFjZSBTaHV0dGxlIEF1dG9sYW5kZXINCiAgICAgICAgICAgICAgIFByb2JsZW0NCnNuYWlscyAgICAgICAgIFNuYWlsIE1vcnRhbGl0eSBEYXRhDQpzdGVhbSAgICAgICAgICBUaGUgU2F0dXJhdGVkIFN0ZWFtIFByZXNzdXJlDQogICAgICAgICAgICAgICBEYXRhDQpzdG9ybWVyICAgICAgICBUaGUgU3Rvcm1lciBWaXNjb21ldGVyIERhdGENCnN1cnZleSAgICAgICAgIFN0dWRlbnQgU3VydmV5IERhdGENCnN5bnRoLnRlICAgICAgIFN5bnRoZXRpYyBDbGFzc2lmaWNhdGlvbg0KICAgICAgICAgICAgICAgUHJvYmxlbQ0Kc3ludGgudHIgICAgICAgU3ludGhldGljIENsYXNzaWZpY2F0aW9uDQogICAgICAgICAgICAgICBQcm9ibGVtDQp0b3BvICAgICAgICAgICBTcGF0aWFsIFRvcG9ncmFwaGljIERhdGENCndhZGVycyAgICAgICAgIENvdW50cyBvZiBXYWRlcnMgYXQgMTUgU2l0ZXMNCiAgICAgICAgICAgICAgIGluIFNvdXRoIEFmcmljYQ0Kd2hpdGVzaWRlICAgICAgSG91c2UgSW5zdWxhdGlvbjogV2hpdGVzaWRlJ3MNCiAgICAgICAgICAgICAgIERhdGENCnd0bG9zcyAgICAgICAgIFdlaWdodCBMb3NzIERhdGEgZnJvbSBhbiBPYmVzZQ0KICAgICAgICAgICAgICAgUGF0aWVudA0KYGBgDQoNCg0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKucGx5csKhwq86DQpgYGB7cn0NCmJhc2ViYWxsICAgICAgIFllYXJseSBiYXR0aW5nIHJlY29yZHMgZm9yIGFsbA0KICAgICAgICAgICAgICAgbWFqb3IgbGVhZ3VlIGJhc2ViYWxsIHBsYXllcnMNCm96b25lICAgICAgICAgIE1vbnRobHkgb3pvbmUgbWVhc3VyZW1lbnRzDQogICAgICAgICAgICAgICBvdmVyIENlbnRyYWwgQW1lcmljYS4NCmBgYA0KDQoNCg0KRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrnJlc2hhcGXCocKvOg0KYGBge3J9DQpmcmVuY2hfZnJpZXMgICBTZW5zb3J5IGRhdGEgZnJvbSBhIGZyZW5jaA0KICAgICAgICAgICAgICAgZnJpZXMgZXhwZXJpbWVudA0Kc21pdGhzICAgICAgICAgRGVtbyBkYXRhIGRlc2NyaWJpbmcgdGhlDQogICAgICAgICAgICAgICBTbWl0aHMNCnRpcHMgICAgICAgICAgIFRpcHBpbmcgZGF0YQ0KYGBgDQoNCg0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuUkdBwqHCrzoNCmBgYHtyfQ0KZ2EgICAgICAgICAgICAgTGlzdHMgYWxsIGNvbHVtbnMgZm9yIGEgR29vZ2xlDQogICAgICAgICAgICAgICBBbmFseXRpY3MgY29yZSByZXBvcnQgdHlwZQ0KYGBgDQoNCg0KDQpEYXRhIHNldHMgaW4gcGFja2FnZSDCocKuc3RyaW5ncsKhwq86DQpgYGB7cn0NCmZydWl0ICAgICAgICAgIFNhbXBsZSBjaGFyYWN0ZXIgdmVjdG9ycyBmb3INCiAgICAgICAgICAgICAgIHByYWN0aWNpbmcgc3RyaW5nDQogICAgICAgICAgICAgICBtYW5pcHVsYXRpb25zLg0Kc2VudGVuY2VzICAgICAgU2FtcGxlIGNoYXJhY3RlciB2ZWN0b3JzIGZvcg0KICAgICAgICAgICAgICAgcHJhY3RpY2luZyBzdHJpbmcNCiAgICAgICAgICAgICAgIG1hbmlwdWxhdGlvbnMuDQp3b3JkcyAgICAgICAgICBTYW1wbGUgY2hhcmFjdGVyIHZlY3RvcnMgZm9yDQogICAgICAgICAgICAgICBwcmFjdGljaW5nIHN0cmluZw0KICAgICAgICAgICAgICAgbWFuaXB1bGF0aW9ucy4NCmBgYA0KDQoNCg0KRGF0YSBzZXRzIGluIHBhY2thZ2UgwqHCrndvcmRjbG91ZMKhwq86DQpgYGB7cn0NClNPVFUgICAgICAgICAgIFVuaXRlZCBTdGF0ZXMgU3RhdGUgb2YgdGhlDQogICAgICAgICAgICAgICBVbmlvbiBBZGRyZXNzZXMgKDIwMTAgYW5kDQogICAgICAgICAgICAgICAyMDExKQ0KYGBgDQoNCg0KDQpgYGB7cn0NClVzZSDCocKuZGF0YShwYWNrYWdlID0gLnBhY2thZ2VzKGFsbC5hdmFpbGFibGUgPSBUUlVFKSnCocKvDQp0byBsaXN0IHRoZSBkYXRhIHNldHMgaW4gYWxsICphdmFpbGFibGUqIHBhY2thZ2VzLg0KYGBgDQoNCg0KDQoNCg0KDQpBZGQgYSBuZXcgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpJbnNlcnQgQ2h1bmsqIGJ1dHRvbiBvbiB0aGUgdG9vbGJhciBvciBieSBwcmVzc2luZyAqQ3RybCtBbHQrSSouDQoNCldoZW4geW91IHNhdmUgdGhlIG5vdGVib29rLCBhbiBIVE1MIGZpbGUgY29udGFpbmluZyB0aGUgY29kZSBhbmQgb3V0cHV0IHdpbGwgYmUgc2F2ZWQgYWxvbmdzaWRlIGl0IChjbGljayB0aGUgKlByZXZpZXcqIGJ1dHRvbiBvciBwcmVzcyAqQ3RybCtTaGlmdCtLKiB0byBwcmV2aWV3IHRoZSBIVE1MIGZpbGUpLg0KDQpUaGUgcHJldmlldyBzaG93cyB5b3UgYSByZW5kZXJlZCBIVE1MIGNvcHkgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBlZGl0b3IuIENvbnNlcXVlbnRseSwgdW5saWtlICpLbml0KiwgKlByZXZpZXcqIGRvZXMgbm90IHJ1biBhbnkgUiBjb2RlIGNodW5rcy4gSW5zdGVhZCwgdGhlIG91dHB1dCBvZiB0aGUgY2h1bmsgd2hlbiBpdCB3YXMgbGFzdCBydW4gaW4gdGhlIGVkaXRvciBpcyBkaXNwbGF5ZWQuDQo=