Simple linear regression of Undredged and Dredged sites

dataset <- read.csv("C:\\Users\\lapguru\\Desktop\\Dal\\Saima masoodi.csv", header=TRUE)

lm_dataset <- lm(Avg..at.Undredged.sites ~ Avg..at.Dredged.sites, data = dataset)
summary(lm_dataset)

Call:
lm(formula = Avg..at.Undredged.sites ~ Avg..at.Dredged.sites, 
    data = dataset)

Residuals:
   Min     1Q Median     3Q    Max 
-88.19 -33.15 -30.99 -19.14 301.89 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)           35.78005   33.08085   1.082    0.305    
Avg..at.Dredged.sites  0.60524    0.07941   7.621  1.8e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 104.2 on 10 degrees of freedom
Multiple R-squared:  0.8531,    Adjusted R-squared:  0.8384 
F-statistic: 58.08 on 1 and 10 DF,  p-value: 1.796e-05
coefficients(lm_dataset)
          (Intercept) Avg..at.Dredged.sites 
           35.7800494             0.6052366 

The Liner model and R(squared) shows the effect of mechanical deweeding (or deweeding at progressive rate) does not have any significant changes at the Dredged sites. The Underaged sites after dredging show the stark similarities in their Physio-Chemical properties with their earlier statuses. As Kundangar (2003) noted that the aquatic weeds play significant role in keeping the water crustily more or less in stable condition. However, Kundangar (2003) also mentions that while the aquatic weed keeps water quality stable but during the autumn and winter seasons, as the weed dies the eutrophic nutrients can release easily into the water. Yet, we can conclude that the seasonality does keep a control on the weed growth in the longer term. And the issue of Physio-Chemical change is larger issue of governance which, can formulate better policies on the increasing eutrophic nature of the lake.

confint (confidence intervals)

ms <- confint(lm_dataset, level = 0.9)
ms
                              5 %       95 %
(Intercept)           -24.1777049 95.7378036
Avg..at.Dredged.sites   0.4613023  0.7491708

for log simple linear regression

log_dataset <- lm(log(Avg..at.Undredged.sites) ~ log(Avg..at.Dredged.sites), data = dataset)
summary(log_dataset)

Call:
lm(formula = log(Avg..at.Undredged.sites) ~ log(Avg..at.Dredged.sites), 
    data = dataset)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.3693 -0.1804  0.1248  0.4438  0.4939 

Coefficients:
                           Estimate Std. Error t value Pr(>|t|)    
(Intercept)                -0.31068    0.31628  -0.982    0.349    
log(Avg..at.Dredged.sites)  1.06425    0.08384  12.694 1.72e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.5937 on 10 degrees of freedom
Multiple R-squared:  0.9416,    Adjusted R-squared:  0.9357 
F-statistic: 161.1 on 1 and 10 DF,  p-value: 1.719e-07
coefficients(log_dataset)
               (Intercept) log(Avg..at.Dredged.sites) 
                 -0.310684                   1.064246 
ms1 <- confint(log_dataset, level = 0.9)
ms
                              5 %       95 %
(Intercept)           -24.1777049 95.7378036
Avg..at.Dredged.sites   0.4613023  0.7491708

See below for more…(qlpot)

qplot(log(dataset$Avg..at.Undredged.sites), log(dataset$Avg..at.Dredged.sites), geom = c("point", "smooth"), span=1)
Ignoring unknown parameters: span

The log simple linear regression makes it clear that there is perhaps no difference in Undredged and Dredged sites per say. At log R2 =0.946 makes it clear that the mechanical or deweeding at progressive rate is a futile activity. The physio-chemical properties do not show any difference whatsoever expected from the exercise.

Covariance of the Undredged and Dredged sites

cov_m <- cov(dataset$Avg..at.Undredged.sites, dataset$Avg..at.Dredged.sites)
var_m <- var(dataset$Avg..at.Dredged.sites)
dif_m <- cov_m/var_m
print(dif_m)

“On the basis of LAWDA’s data from April to july”

Dal <- read.csv("C:\\Users\\lapguru\\Desktop\\Dal\\Dal_R.csv", header=TRUE)

library(ggplot2)
plot(log(Dal$Hazratbal), log(Dal$Habak))

Test plot above on default. Showing the similarities among basins.

Simple linear regression for Hazaratbal and Habak:

The output in the Table below shows high correlation at R(squared)=0.9567.

singlelm <- lm(Hazratbal ~ Habak, data = Dal)
summary(singlelm)

Call:
lm(formula = Hazratbal ~ Habak, data = Dal)

Residuals:
     Min       1Q   Median       3Q      Max 
-123.109   -1.183    4.890    6.884  129.840 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -7.46242    1.07577  -6.937 1.64e-11 ***
Habak        1.25291    0.01338  93.639  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 19.33 on 397 degrees of freedom
Multiple R-squared:  0.9567,    Adjusted R-squared:  0.9566 
F-statistic:  8768 on 1 and 397 DF,  p-value: < 2.2e-16
coefficients(singlelm)
(Intercept)       Habak 
  -7.462420    1.252914 

confidence interval from simple linear regression;

ci <- confint(singlelm, level = 0.9)
ci
                  5 %      95 %
(Intercept) -9.236046 -5.688793
Habak        1.230854  1.274974
resid <- residuals(singlelm)
sum(resid)
[1] 9.306445e-14

Multi linear regression for Hazaratbal, Habak and laam;

Including multiple variables in regression analysis is important as against simple linear regression it includes more than two variables of same length. showing the greater possibility of making less accurate inference from the data. Here the multi linear regression model included three basins on the basis (Hazaratbal, Habak, Laam) of availability of data from LAWDA’s website.

multilm <- lm(Hazratbal ~ Habak + Laam, data = Dal)
summary(multilm)

Call:
lm(formula = Hazratbal ~ Habak + Laam, data = Dal)

Residuals:
    Min      1Q  Median      3Q     Max 
-89.148  -2.443   3.095   5.534  87.260 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) -5.81131    0.83137   -6.99 1.17e-11 ***
Habak        0.36719    0.05408    6.79 4.12e-11 ***
Laam         1.00858    0.06046   16.68  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 14.83 on 396 degrees of freedom
Multiple R-squared:  0.9746,    Adjusted R-squared:  0.9744 
F-statistic:  7585 on 2 and 396 DF,  p-value: < 2.2e-16
coefficients(multilm)
(Intercept)       Habak        Laam 
 -5.8113050   0.3671947   1.0085809 

There is perhaps no difference in output generated by simple linear regression and multiple linear regression. it tells the same story of wrongly inferred info from already existed assumptions about the ecology as separate and specifically about the Dal lake and its inhabitants. The three basins shows no difference in their Physio-Chemical properties despite at different locations.

Confidence interval from Multi linear regression

cimulti <- confint(multilm, level = 0.9)
cimulti
                   5 %       95 %
(Intercept) -7.1820008 -4.4406092
Habak        0.2780338  0.4563556
Laam         0.9088987  1.1082631
residm <- residuals(multilm)
sum(residm)
[1] -2.204625e-13

Further from below plots;

log linear regression for Hazaratbal and Habak;

qplot(log(Dal$Hazratbal), log(Dal$Habak), geom = c("point", "smooth"), span=1)
Ignoring unknown parameters: span

linear regression for Hazaratbal and Laam;

qplot(log(Dal$Hazratbal), log(Dal$Laam), geom = c("point", "smooth"), span=1)
Ignoring unknown parameters: span

Both of the above plots (qplot) narrates the similar story.Log regression Hazaratbal and Habak, Hazaratbal and Laam showing no difference in their physio-chemical properties as has been mentioned again and again in different studies. Scapegoating Dal inhabitants. Similarly, the log simple linear regression on Hazaratbal and Habak basins shows that the Dal’s inhabitants role in the altering the physio-chemical balance of the lake have no space empirically except political rhetoric of elite. Those studies (Jeelani, 2016; Fazal & Amin, 2012, 2013; Ali, 2015; Amin et al., 2014; Dar & Singh, 2017; Murtaza et al., 2011; Wani et al., 1996) which, focused on Dal’s inhabitants as polluters had always missed the social-ecological systems and exclusively focused on ecology as separate and believed on its pristinity as a way forward. Establishing a helping hand in the ecological illiteracy of city residents, as Colding (2012) noted that viewing social separate from ecological and the distance from commons leads to ecological illiteracy among the population in cities.

“References”

Masoodi, S. (2017). Water quality assessment of Dal Lake, Kashmir, J&K. International Journal of Engineering Technology Science and Research, 4(5), 375–383.

Ahmad, W. M. (2016). Study on Dal Lake of Kashmir with Special Reference to the Different Pollutants and their Control Measures.

Ali, U. (2015). Impact of Anthropogenic Activates on Dal Lake (Ecosystem/Conservation Strategies and Problems). International Journal of U-and e-Service, Science and Technology, 8(5), 379–384.

Amin, A., Fazal, S., Mujtaba, A., & Singh, S. K. (2014). Effects of Land Transformation on Water Quality of Dal Lake, Srinagar, India. Journal of the Indian Society of Remote Sensing, 42(1), 119–128. https://doi.org/10/gf4z27

Dar, M. N., & Singh, E. A. (2017). Status of pollution level in Dal lake of Jammu and Kashmir, A Review. International Journal of Current Trends in Science and Technology, 7(12), 9. https://doi.org/10.15520/ctst.v7i12.160

Fazal, S., & Amin, A. (2012). Hanjis activities and its impact on Dal Lake and its environs—A case study of Srinagar city, India. Research Journal of Environmental & Earth Sciences, 4(5), 511–524.

Fazal, S., & Amin, A. (2013). Boatmen and Status of Dal Lake and Its Environs: A Tale of Srinagar. Environment and Urbanization ASIA, 4(1), 73–92. https://doi.org/10.1177/0975425313477727

Jeelani, M. (2016). Lake Ecology in Kashmir, India. https://doi.org/10.1007/978-3-319-40880-4

Murtaza, S., Hussain, S. A., & Ali, S. (2011). Impact of Pollutants on Physico-Chemical Characteristics of Dal Lake under Temperate Conditions of Kashmir. Environment and Ecology, 29(4), 1714–1716.

Wani, M. M., Choubey, V. K., & Joshi, H. (1996). Quantification of suspended solids in Dal lake, Srinagar using remote sensing technology. Journal of the Indian Society of Remote Sensing, 24(1), 25–32. https://doi.org/10/cpndbj

LS0tDQp0aXRsZTogIkRhbCBsYWtlJ3MgUGh5c2lvLUNoZW1pY2FsIFByb3BlcnRpZXMgZnJvbSAoTWFzb29kaSwgMjAxNykgYW5kIGRhdGEgZnJvbSBMQVdEQSINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazogZGVmYXVsdA0KICBwZGZfZG9jdW1lbnQ6IGRlZmF1bHQNCiAgd29yZF9kb2N1bWVudDogZGVmYXVsdA0KLS0tDQoNCg0KIA0KU2ltcGxlIGxpbmVhciByZWdyZXNzaW9uIG9mIFVuZHJlZGdlZCBhbmQgRHJlZGdlZCBzaXRlcyANCmBgYHtyfQ0KZGF0YXNldCA8LSByZWFkLmNzdigiQzpcXFVzZXJzXFxsYXBndXJ1XFxEZXNrdG9wXFxEYWxcXFNhaW1hIG1hc29vZGkuY3N2IiwgaGVhZGVyPVRSVUUpDQoNCmxtX2RhdGFzZXQgPC0gbG0oQXZnLi5hdC5VbmRyZWRnZWQuc2l0ZXMgfiBBdmcuLmF0LkRyZWRnZWQuc2l0ZXMsIGRhdGEgPSBkYXRhc2V0KQ0Kc3VtbWFyeShsbV9kYXRhc2V0KQ0KY29lZmZpY2llbnRzKGxtX2RhdGFzZXQpDQpgYGANClRoZSBMaW5lciBtb2RlbCBhbmQgUihzcXVhcmVkKSBzaG93cyB0aGUgZWZmZWN0IG9mIG1lY2hhbmljYWwgZGV3ZWVkaW5nIChvciBkZXdlZWRpbmcgYXQgcHJvZ3Jlc3NpdmUgcmF0ZSkgZG9lcyBub3QgaGF2ZSBhbnkgc2lnbmlmaWNhbnQgY2hhbmdlcyBhdCB0aGUgRHJlZGdlZCBzaXRlcy4gVGhlIFVuZGVyYWdlZCBzaXRlcyBhZnRlciBkcmVkZ2luZyBzaG93IHRoZSBzdGFyayBzaW1pbGFyaXRpZXMgaW4gdGhlaXIgUGh5c2lvLUNoZW1pY2FsIHByb3BlcnRpZXMgd2l0aCB0aGVpciBlYXJsaWVyIHN0YXR1c2VzLiBBcyBLdW5kYW5nYXIgKDIwMDMpIG5vdGVkIHRoYXQgdGhlIGFxdWF0aWMgd2VlZHMgcGxheSBzaWduaWZpY2FudCByb2xlIGluIGtlZXBpbmcgdGhlIHdhdGVyIGNydXN0aWx5IG1vcmUgb3IgbGVzcyBpbiBzdGFibGUgY29uZGl0aW9uLiBIb3dldmVyLCBLdW5kYW5nYXIgKDIwMDMpIGFsc28gbWVudGlvbnMgdGhhdCB3aGlsZSB0aGUgYXF1YXRpYyB3ZWVkIGtlZXBzIHdhdGVyIHF1YWxpdHkgc3RhYmxlIGJ1dCBkdXJpbmcgdGhlIGF1dHVtbiBhbmQgd2ludGVyIHNlYXNvbnMsIGFzIHRoZSB3ZWVkIGRpZXMgdGhlIGV1dHJvcGhpYyBudXRyaWVudHMgY2FuIHJlbGVhc2UgZWFzaWx5IGludG8gdGhlIHdhdGVyLiBZZXQsIHdlIGNhbiBjb25jbHVkZSB0aGF0IHRoZSBzZWFzb25hbGl0eSBkb2VzIGtlZXAgYSBjb250cm9sIG9uIHRoZSB3ZWVkIGdyb3d0aCBpbiB0aGUgbG9uZ2VyIHRlcm0uIEFuZCB0aGUgaXNzdWUgb2YgUGh5c2lvLUNoZW1pY2FsIGNoYW5nZSBpcyBsYXJnZXIgaXNzdWUgb2YgZ292ZXJuYW5jZSB3aGljaCwgY2FuIGZvcm11bGF0ZSBiZXR0ZXIgcG9saWNpZXMgb24gdGhlIGluY3JlYXNpbmcgZXV0cm9waGljIG5hdHVyZSBvZiB0aGUgbGFrZS4NCg0KDQoNCg0KDQpjb25maW50IChjb25maWRlbmNlIGludGVydmFscykNCmBgYHtyfQ0KbXMgPC0gY29uZmludChsbV9kYXRhc2V0LCBsZXZlbCA9IDAuOSkNCm1zDQpgYGANCg0KDQoNCg0KDQoNCmZvciBsb2cgc2ltcGxlIGxpbmVhciByZWdyZXNzaW9uDQpgYGB7cn0NCmxvZ19kYXRhc2V0IDwtIGxtKGxvZyhBdmcuLmF0LlVuZHJlZGdlZC5zaXRlcykgfiBsb2coQXZnLi5hdC5EcmVkZ2VkLnNpdGVzKSwgZGF0YSA9IGRhdGFzZXQpDQpzdW1tYXJ5KGxvZ19kYXRhc2V0KQ0KY29lZmZpY2llbnRzKGxvZ19kYXRhc2V0KQ0KbXMxIDwtIGNvbmZpbnQobG9nX2RhdGFzZXQsIGxldmVsID0gMC45KQ0KbXMNCmBgYA0KDQpTZWUgYmVsb3cgZm9yIG1vcmUuLi4ocWxwb3QpDQoNCg0KDQoNCg0KYGBge3J9DQpxcGxvdChsb2coZGF0YXNldCRBdmcuLmF0LlVuZHJlZGdlZC5zaXRlcyksIGxvZyhkYXRhc2V0JEF2Zy4uYXQuRHJlZGdlZC5zaXRlcyksIGdlb20gPSBjKCJwb2ludCIsICJzbW9vdGgiKSwgc3Bhbj0xKQ0KYGBgDQpUaGUgbG9nIHNpbXBsZSBsaW5lYXIgcmVncmVzc2lvbiBtYWtlcyBpdCBjbGVhciB0aGF0IHRoZXJlIGlzIHBlcmhhcHMgbm8gZGlmZmVyZW5jZSBpbiBVbmRyZWRnZWQgYW5kIERyZWRnZWQgc2l0ZXMgcGVyIHNheS4gQXQgbG9nIFIyID0wLjk0NiBtYWtlcyBpdCBjbGVhciB0aGF0IHRoZSBtZWNoYW5pY2FsIG9yIGRld2VlZGluZyBhdCBwcm9ncmVzc2l2ZSByYXRlIGlzIGEgZnV0aWxlIGFjdGl2aXR5LiBUaGUgcGh5c2lvLWNoZW1pY2FsIHByb3BlcnRpZXMgZG8gbm90IHNob3cgYW55IGRpZmZlcmVuY2Ugd2hhdHNvZXZlciBleHBlY3RlZCBmcm9tIHRoZSBleGVyY2lzZS4gIA0KDQoNCkNvdmFyaWFuY2Ugb2YgdGhlIFVuZHJlZGdlZCBhbmQgRHJlZGdlZCBzaXRlcw0KDQpgYGB7cn0NCmNvdl9tIDwtIGNvdihkYXRhc2V0JEF2Zy4uYXQuVW5kcmVkZ2VkLnNpdGVzLCBkYXRhc2V0JEF2Zy4uYXQuRHJlZGdlZC5zaXRlcykNCnZhcl9tIDwtIHZhcihkYXRhc2V0JEF2Zy4uYXQuRHJlZGdlZC5zaXRlcykNCmRpZl9tIDwtIGNvdl9tL3Zhcl9tDQpwcmludChkaWZfbSkNCmBgYA0KDQoiT24gdGhlIGJhc2lzIG9mIExBV0RBJ3MgZGF0YSBmcm9tIEFwcmlsIHRvIGp1bHkiIA0KDQpgYGB7cn0NCkRhbCA8LSByZWFkLmNzdigiQzpcXFVzZXJzXFxsYXBndXJ1XFxEZXNrdG9wXFxEYWxcXERhbF9SLmNzdiIsIGhlYWRlcj1UUlVFKQ0KDQpsaWJyYXJ5KGdncGxvdDIpDQpwbG90KGxvZyhEYWwkSGF6cmF0YmFsKSwgbG9nKERhbCRIYWJhaykpDQpgYGANClRlc3QgcGxvdCBhYm92ZSBvbiBkZWZhdWx0LiBTaG93aW5nIHRoZSBzaW1pbGFyaXRpZXMgYW1vbmcgYmFzaW5zLg0KDQoNClNpbXBsZSBsaW5lYXIgcmVncmVzc2lvbiBmb3IgSGF6YXJhdGJhbCBhbmQgSGFiYWs6DQoNClRoZSBvdXRwdXQgaW4gdGhlIFRhYmxlIGJlbG93IHNob3dzIGhpZ2ggY29ycmVsYXRpb24gYXQgUihzcXVhcmVkKT0wLjk1NjcuICANCmBgYHtyfQ0Kc2luZ2xlbG0gPC0gbG0oSGF6cmF0YmFsIH4gSGFiYWssIGRhdGEgPSBEYWwpDQpzdW1tYXJ5KHNpbmdsZWxtKQ0KY29lZmZpY2llbnRzKHNpbmdsZWxtKQ0KYGBgDQoNCg0KY29uZmlkZW5jZSBpbnRlcnZhbCBmcm9tIHNpbXBsZSBsaW5lYXIgcmVncmVzc2lvbjsNCg0KYGBge3J9DQpjaSA8LSBjb25maW50KHNpbmdsZWxtLCBsZXZlbCA9IDAuOSkNCmNpDQpyZXNpZCA8LSByZXNpZHVhbHMoc2luZ2xlbG0pDQpzdW0ocmVzaWQpDQpgYGANCg0KDQoNCk11bHRpIGxpbmVhciByZWdyZXNzaW9uIGZvciBIYXphcmF0YmFsLCBIYWJhayBhbmQgbGFhbTsNCg0KSW5jbHVkaW5nIG11bHRpcGxlIHZhcmlhYmxlcyBpbiByZWdyZXNzaW9uIGFuYWx5c2lzIGlzIGltcG9ydGFudCBhcyBhZ2FpbnN0IHNpbXBsZSBsaW5lYXIgcmVncmVzc2lvbiBpdCBpbmNsdWRlcyBtb3JlIHRoYW4gdHdvIHZhcmlhYmxlcyBvZiBzYW1lIGxlbmd0aC4gc2hvd2luZyB0aGUgZ3JlYXRlciBwb3NzaWJpbGl0eSBvZiBtYWtpbmcgbGVzcyBhY2N1cmF0ZSBpbmZlcmVuY2UgZnJvbSB0aGUgZGF0YS4gSGVyZSB0aGUgbXVsdGkgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWwgaW5jbHVkZWQgdGhyZWUgYmFzaW5zIG9uIHRoZSBiYXNpcyAoSGF6YXJhdGJhbCwgSGFiYWssIExhYW0pIG9mIGF2YWlsYWJpbGl0eSBvZiBkYXRhIGZyb20gTEFXREEncyB3ZWJzaXRlLiANCg0KYGBge3J9DQptdWx0aWxtIDwtIGxtKEhhenJhdGJhbCB+IEhhYmFrICsgTGFhbSwgZGF0YSA9IERhbCkNCnN1bW1hcnkobXVsdGlsbSkNCmNvZWZmaWNpZW50cyhtdWx0aWxtKQ0KYGBgDQoNClRoZXJlIGlzIHBlcmhhcHMgbm8gZGlmZmVyZW5jZSBpbiBvdXRwdXQgZ2VuZXJhdGVkIGJ5IHNpbXBsZSBsaW5lYXIgcmVncmVzc2lvbiBhbmQgbXVsdGlwbGUgbGluZWFyIHJlZ3Jlc3Npb24uIGl0IHRlbGxzIHRoZSBzYW1lIHN0b3J5IG9mIHdyb25nbHkgaW5mZXJyZWQgaW5mbyBmcm9tIGFscmVhZHkgZXhpc3RlZCBhc3N1bXB0aW9ucyBhYm91dCB0aGUgZWNvbG9neSBhcyBzZXBhcmF0ZSBhbmQgc3BlY2lmaWNhbGx5IGFib3V0IHRoZSBEYWwgbGFrZSBhbmQgaXRzIGluaGFiaXRhbnRzLiBUaGUgdGhyZWUgYmFzaW5zIHNob3dzIG5vIGRpZmZlcmVuY2UgaW4gdGhlaXIgUGh5c2lvLUNoZW1pY2FsIHByb3BlcnRpZXMgZGVzcGl0ZSBhdCBkaWZmZXJlbnQgbG9jYXRpb25zLiANCg0KDQoNCkNvbmZpZGVuY2UgaW50ZXJ2YWwgZnJvbSBNdWx0aSBsaW5lYXIgcmVncmVzc2lvbg0KYGBge3J9DQpjaW11bHRpIDwtIGNvbmZpbnQobXVsdGlsbSwgbGV2ZWwgPSAwLjkpDQpjaW11bHRpDQpyZXNpZG0gPC0gcmVzaWR1YWxzKG11bHRpbG0pDQpzdW0ocmVzaWRtKQ0KYGBgDQoNCg0KRnVydGhlciBmcm9tIGJlbG93IHBsb3RzOw0KDQoNCg0KbG9nIGxpbmVhciByZWdyZXNzaW9uIGZvciBIYXphcmF0YmFsIGFuZCBIYWJhazsgDQpgYGB7cn0NCnFwbG90KGxvZyhEYWwkSGF6cmF0YmFsKSwgbG9nKERhbCRIYWJhayksIGdlb20gPSBjKCJwb2ludCIsICJzbW9vdGgiKSwgc3Bhbj0xKQ0KYGBgDQoNCg0KDQoNCmxpbmVhciByZWdyZXNzaW9uIGZvciBIYXphcmF0YmFsIGFuZCBMYWFtOw0KYGBge3J9DQpxcGxvdChsb2coRGFsJEhhenJhdGJhbCksIGxvZyhEYWwkTGFhbSksIGdlb20gPSBjKCJwb2ludCIsICJzbW9vdGgiKSwgc3Bhbj0xKQ0KYGBgDQoNCg0KQm90aCBvZiB0aGUgYWJvdmUgcGxvdHMgKHFwbG90KSBuYXJyYXRlcyB0aGUgc2ltaWxhciBzdG9yeS5Mb2cgcmVncmVzc2lvbiBIYXphcmF0YmFsIGFuZCBIYWJhaywgSGF6YXJhdGJhbCBhbmQgTGFhbSBzaG93aW5nIG5vIGRpZmZlcmVuY2UgaW4gdGhlaXIgcGh5c2lvLWNoZW1pY2FsIHByb3BlcnRpZXMgYXMgaGFzIGJlZW4gbWVudGlvbmVkIGFnYWluIGFuZCBhZ2FpbiBpbiBkaWZmZXJlbnQgc3R1ZGllcy4gU2NhcGVnb2F0aW5nIERhbCBpbmhhYml0YW50cy4gU2ltaWxhcmx5LCB0aGUgbG9nIHNpbXBsZSBsaW5lYXIgcmVncmVzc2lvbiBvbiBIYXphcmF0YmFsIGFuZCBIYWJhayBiYXNpbnMgc2hvd3MgdGhhdCB0aGUgRGFs4oCZcyBpbmhhYml0YW50cyByb2xlIGluIHRoZSBhbHRlcmluZyB0aGUgcGh5c2lvLWNoZW1pY2FsIGJhbGFuY2Ugb2YgdGhlIGxha2UgaGF2ZSBubyBzcGFjZSBlbXBpcmljYWxseSBleGNlcHQgcG9saXRpY2FsIHJoZXRvcmljIG9mIGVsaXRlLiBUaG9zZSBzdHVkaWVzIChKZWVsYW5pLCAyMDE2OyBGYXphbCAmIEFtaW4sIDIwMTIsIDIwMTM7IEFsaSwgMjAxNTsgQW1pbiBldCBhbC4sIDIwMTQ7IERhciAmIFNpbmdoLCAyMDE3OyBNdXJ0YXphIGV0IGFsLiwgMjAxMTsgV2FuaSBldCBhbC4sIDE5OTYpIHdoaWNoLCBmb2N1c2VkIG9uIERhbOKAmXMgaW5oYWJpdGFudHMgYXMgcG9sbHV0ZXJzIGhhZCBhbHdheXMgbWlzc2VkIHRoZSBzb2NpYWwtZWNvbG9naWNhbCBzeXN0ZW1zIGFuZCBleGNsdXNpdmVseSBmb2N1c2VkIG9uIGVjb2xvZ3kgYXMgc2VwYXJhdGUgYW5kIGJlbGlldmVkIG9uIGl0cyBwcmlzdGluaXR5IGFzIGEgd2F5IGZvcndhcmQuIEVzdGFibGlzaGluZyBhIGhlbHBpbmcgaGFuZCBpbiB0aGUgZWNvbG9naWNhbCBpbGxpdGVyYWN5IG9mIGNpdHkgcmVzaWRlbnRzLCBhcyBDb2xkaW5nICgyMDEyKSBub3RlZCB0aGF0IHZpZXdpbmcgc29jaWFsIHNlcGFyYXRlIGZyb20gZWNvbG9naWNhbCBhbmQgdGhlIGRpc3RhbmNlIGZyb20gY29tbW9ucyBsZWFkcyB0byBlY29sb2dpY2FsIGlsbGl0ZXJhY3kgYW1vbmcgdGhlIHBvcHVsYXRpb24gaW4gY2l0aWVzLiAgDQoNCg0KIlJlZmVyZW5jZXMiDQoNCk1hc29vZGksIFMuICgyMDE3KS4gV2F0ZXIgcXVhbGl0eSBhc3Nlc3NtZW50IG9mIERhbCBMYWtlLCBLYXNobWlyLCBKJksuICAgICAgICAgICAgICAgICAgIEludGVybmF0aW9uYWwgSm91cm5hbCBvZiBFbmdpbmVlcmluZyBUZWNobm9sb2d5IFNjaWVuY2UgYW5kICAgICAgICAgICAgICAgICAgIFJlc2VhcmNoLCA0KDUpLCAzNzXigJMzODMuDQoNCkFobWFkLCBXLiBNLiAoMjAxNikuIFN0dWR5IG9uIERhbCBMYWtlIG9mIEthc2htaXIgd2l0aCBTcGVjaWFsIFJlZmVyZW5jZSB0byAgICAgICAgICAgICAgIHRoZSBEaWZmZXJlbnQgUG9sbHV0YW50cyBhbmQgdGhlaXIgQ29udHJvbCBNZWFzdXJlcy4NCg0KQWxpLCBVLiAoMjAxNSkuIEltcGFjdCBvZiBBbnRocm9wb2dlbmljIEFjdGl2YXRlcyBvbiBEYWwgTGFrZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEVjb3N5c3RlbS9Db25zZXJ2YXRpb24gU3RyYXRlZ2llcyBhbmQgUHJvYmxlbXMpLiBJbnRlcm5hdGlvbmFsICAgICAgICAgICAgICAgSm91cm5hbCBvZiBVLWFuZCBlLVNlcnZpY2UsIFNjaWVuY2UgYW5kIFRlY2hub2xvZ3ksIDgoNSksIDM3OeKAkzM4NC4NCg0KQW1pbiwgQS4sIEZhemFsLCBTLiwgTXVqdGFiYSwgQS4sICYgU2luZ2gsIFMuIEsuICgyMDE0KS4gRWZmZWN0cyBvZiBMYW5kICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1hdGlvbiBvbiBXYXRlciBRdWFsaXR5IG9mIERhbCBMYWtlLCBTcmluYWdhciwgSW5kaWEuICAgICAgICAgICAgICAgICBKb3VybmFsIG9mIHRoZSBJbmRpYW4gU29jaWV0eSBvZiBSZW1vdGUgU2Vuc2luZywgNDIoMSksIDExOeKAkzEyOC4gICAgICAgICAgICAgIGh0dHBzOi8vZG9pLm9yZy8xMC9nZjR6MjcNCg0KRGFyLCBNLiBOLiwgJiBTaW5naCwgRS4gQS4gKDIwMTcpLiBTdGF0dXMgb2YgcG9sbHV0aW9uIGxldmVsIGluIERhbCBsYWtlIG9mICAgICAgICAgICAgICBKYW1tdSBhbmQgS2FzaG1pciwgQSBSZXZpZXcuIEludGVybmF0aW9uYWwgSm91cm5hbCBvZiBDdXJyZW50ICAgICAgICAgICAgICAgICBUcmVuZHMgaW4gU2NpZW5jZSBhbmQgVGVjaG5vbG9neSwgNygxMiksIDkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2RvaS5vcmcvMTAuMTU1MjAvY3RzdC52N2kxMi4xNjANCg0KRmF6YWwsIFMuLCAmIEFtaW4sIEEuICgyMDEyKS4gSGFuamlzIGFjdGl2aXRpZXMgYW5kIGl0cyBpbXBhY3Qgb24gRGFsIExha2UgYW5kICAgICAgICAgICAgaXRzIGVudmlyb25z4oCUQSBjYXNlIHN0dWR5IG9mIFNyaW5hZ2FyIGNpdHksIEluZGlhLiBSZXNlYXJjaCBKb3VybmFsICAgICAgICAgICAgb2YgRW52aXJvbm1lbnRhbCAmIEVhcnRoIFNjaWVuY2VzLCA0KDUpLCA1MTHigJM1MjQuDQoNCkZhemFsLCBTLiwgJiBBbWluLCBBLiAoMjAxMykuIEJvYXRtZW4gYW5kIFN0YXR1cyBvZiBEYWwgTGFrZSBhbmQgSXRzIEVudmlyb25zOiAgICAgICAgICAgIEEgVGFsZSBvZiBTcmluYWdhci4gRW52aXJvbm1lbnQgYW5kIFVyYmFuaXphdGlvbiBBU0lBLCA0KDEpLCA3M+KAkzkyLiAgICAgICAgICAgIGh0dHBzOi8vZG9pLm9yZy8xMC4xMTc3LzA5NzU0MjUzMTM0Nzc3MjcNCg0KSmVlbGFuaSwgTS4gKDIwMTYpLiBMYWtlIEVjb2xvZ3kgaW4gS2FzaG1pciwgSW5kaWEuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwczovL2RvaS5vcmcvMTAuMTAwNy85NzgtMy0zMTktNDA4ODAtNA0KDQpNdXJ0YXphLCBTLiwgSHVzc2FpbiwgUy4gQS4sICYgQWxpLCBTLiAoMjAxMSkuIEltcGFjdCBvZiBQb2xsdXRhbnRzIG9uICAgICAgICAgICAgICAgICAgUGh5c2ljby1DaGVtaWNhbCBDaGFyYWN0ZXJpc3RpY3Mgb2YgRGFsIExha2UgdW5kZXIgVGVtcGVyYXRlICAgICAgICAgICAgICAgICAgQ29uZGl0aW9ucyBvZiBLYXNobWlyLiBFbnZpcm9ubWVudCBhbmQgRWNvbG9neSwgMjkoNCksIDE3MTTigJMxNzE2Lg0KDQpXYW5pLCBNLiBNLiwgQ2hvdWJleSwgVi4gSy4sICYgSm9zaGksIEguICgxOTk2KS4gUXVhbnRpZmljYXRpb24gb2Ygc3VzcGVuZGVkICAgICAgICAgICAgc29saWRzIGluIERhbCBsYWtlLCBTcmluYWdhciB1c2luZyByZW1vdGUgc2Vuc2luZyB0ZWNobm9sb2d5LiAgICAgICAgICAgICAgICAgSm91cm5hbCBvZiB0aGUgSW5kaWFuIFNvY2lldHkgb2YgUmVtb3RlIFNlbnNpbmcsIDI0KDEpLCAyNeKAkzMyLiAgICAgICAgICAgICAgICBodHRwczovL2RvaS5vcmcvMTAvY3BuZGJqDQoNCg0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KIA0KDQoNCg0KDQo=