[Uwgarp-commits] r111 - pkg/GARPFRM/vignettes

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Sat Mar 8 15:53:41 CET 2014


Author: mllabovitz
Date: 2014-03-08 15:53:41 +0100 (Sat, 08 Mar 2014)
New Revision: 111

Added:
   pkg/GARPFRM/vignettes/PA_vignette.Rnw
   pkg/GARPFRM/vignettes/PA_vignette.pdf
Log:


Added: pkg/GARPFRM/vignettes/PA_vignette.Rnw
===================================================================
--- pkg/GARPFRM/vignettes/PA_vignette.Rnw	                        (rev 0)
+++ pkg/GARPFRM/vignettes/PA_vignette.Rnw	2014-03-08 14:53:41 UTC (rev 111)
@@ -0,0 +1,424 @@
+\documentclass[a4paper]{article}
+\usepackage[OT1]{fontenc}
+\usepackage{Sweave}
+\usepackage{Rd}
+\usepackage{amsmath}
+\usepackage{hyperref}
+\usepackage{url}
+\usepackage[round]{natbib}
+\usepackage{bm}
+\usepackage{verbatim}
+\usepackage[latin1]{inputenc}
+\bibliographystyle{abbrvnat}
+
+\let\proglang=\textsf
+%\newcommand{\pkg}[1]{{\fontseries{b}\selectfont #1}}
+%\newcommand{\R}[1]{{\fontseries{b}\selectfont #1}}
+%\newcommand{\email}[1]{\href{mailto:#1}{\normalfont\texttt{#1}}}
+%\newcommand{\E}{\mathsf{E}}
+%\newcommand{\VAR}{\mathsf{VAR}}
+%\newcommand{\COV}{\mathsf{COV}}
+%\newcommand{\Prob}{\mathsf{P}}
+
+\renewcommand{\topfraction}{0.85}
+\renewcommand{\textfraction}{0.1}
+\renewcommand{\baselinestretch}{1.5}
+\setlength{\textwidth}{15cm} \setlength{\textheight}{22cm} \topmargin-1cm \evensidemargin0.5cm \oddsidemargin0.5cm
+
+\usepackage[latin1]{inputenc}
+% or whatever
+
+\usepackage{lmodern}
+\usepackage[T1]{fontenc}
+% Or whatever. Note that the encoding and the font should match. If T1
+% does not look nice, try deleting the line with the fontenc.
+
+\begin{document}
+\SweaveOpts{concordance=TRUE}
+
+\title{Performance Analysis Measures}
+\author{Mark L Labovitz}
+
+\maketitle
+
+\begin{abstract}
+Applying The CAPM to Performance Measurement Using Quandl data
+
+
+Uses computations as interpreted from Chapter 7 of 2013 FRM Level I Manual.
+
+Computational Focus:\\
+1. Treynor Ratio;\\
+2. Sharpe Ratio;\\
+3. Jensen's Alpha;\\
+4. Tracking Error;\\
+5. Information Ratio;\\
+6. Sortino Ratio.
+
+
+Ancillary computation (necessary but not focus of Chapter):\\
+1. Beta;\\
+2. Downside Deviation.
+
+
+Assumptions:\\
+1. Computations use the PerformanceAnalytics Library.\\
+2. There are alternative means of computing the measure which relate to such elements as:\\
+   a. The use of as recorded or excess returns;\\
+   b. The method annualization: arithmetic or geometric;\\
+   c. The order of return adjustment and averaging;\\ 
+   
+Relevant Abbreviations:\\
+IP == Investment Portfolio;\\
+MP == Market/Benchmark Portfolio;\\
+RF == Risk Free Rate;\\
+sp == Sub Period (the period of the data, e.g. day, week, month).
+
+\end{abstract}
+
+\tableofcontents
+
+\section{Setting Up The Analysis}
+\subsection{Establishing RunTime Parameters}
+<<ex1>>=
+# Store results
+Measures = rep(NULL,4)
+
+# If equalWts is true portfolio weights will be 1/numberOfSecurities
+equalWts = TRUE
+
+randWts = TRUE
+if(equalWts) randWts = FALSE
+
+# Number of securities to use is 
+numberOfSecurities = 3
+
+# Security Selection Method, "randomSeq" or "serialSeq"
+secSel = "serialSeq"
+
+# type of chaining in forming the aggregate return
+# If geometric is TRUE use geometric chaining if False use arithemetic chaining
+geometricB = TRUE
+
+# Definitioned/Constant variables
+relation = c("Less Than","Equal To","Greater Than")
+
+# Some of run time parameters
+# Should be amongst the input for shiny
+# Minimum Acceptable Return for Sortino Ratio or Downside Deviation
+# defaults to 0
+MAR_set = 0
+
+# Denominator for Sortino Ratio or Downside Deviation 
+# one of "full" or "subset", indicating whether to use the length of the full series
+# or the length of the subset of the series below the MAR as the denominator,
+# defaults to "full"
+denom = "full"
+
+# Portfolio name used in output
+PortName = "Portfolio"
+
+# Market name used in output
+MrktName ="Market"
+
+#Market Name in data set
+mrktDataName = "market"
+
+# Risk free rate name used in output
+RFName="Risk_Free_Rate"
+
+# Risk Free Name in data set
+rfDataName = "t90"
+
+# Number time periods for year for data set
+freQ = 12
+
+# Names of Measures column
+Measures = rbind(Measures, c("Series Name",PortName,MrktName,RFName))
+colnames(Measures) = c("Measure","Portfolio","Market","RiskFree")
+@
+\subsection{Echo Parameters}
+Echo print run-time parameters
+<<ex1a>>=
+cat('\n Random Weights: ',randWts,'\n')
+cat('\n Number of securities in portfolio = ',numberOfSecurities,'\n')
+cat('\n Security selection method: ',secSel,'\n')
+cat('\n Geometric annualization (false means arithmetic): ',geometricB,'\n')
+cat('\n Minimum Acceptable Return for Sortino Ratio or Downside Deviation: ',MAR_set,'\n')
+cat('\n Denominator for downside deviation (Full count or Subset < MAR_set): ',denom,'\n')
+namesUsed = c(PortName,MrktName,RFName)
+names(namesUsed) = c("Portfolio_Name","Market/BenchMark_Name","RiskFreeRate_name")
+cat("\n Names of Portfolio, Market and RiskFree Series used in output")
+print(namesUsed)
+
+cat('\n Number of data units in a year: ',freQ,'\n')
+
+
+@
+\subsection{Extracting and Organizing Data}
+<<ex2>>=
+# 'Load the GARPFRM package and the CAPM dataset.
+suppressMessages(library(GARPFRM))
+options(digits=5)
+data(crsp.short)
+
+# Make the assumption that the last two time series are the Market and RF series
+# Tickers/Names of time series in the test data set
+cat('\n List column headers predominantly tickers/name of securities')
+colnames(largecap.ts)
+@
+Summarize the first and last data values corresponding to the first 5 dates for the first 5 returns, followed by number of periods in time series
+<<ex3>>=
+head(largecap.ts)
+tail(largecap.ts)
+nRow = nrow(largecap.ts)
+nRow
+
+@
+\subsection{Extract Market (Benchmark) And Risk Free Series}
+Determine pointer to column with the market returns and pointer to column of Risk Free Ratw
+<<ex4>>=
+
+ptrMkt = which(colnames(largecap.ts)==mrktDataName,arr.ind=TRUE)
+ptrMkt
+
+ptrRF = which(colnames(largecap.ts)==rfDataName,arr.ind=TRUE)
+ptrRF
+
+# Market returns
+R.market <- largecap.ts[, ptrMkt]
+
+# risk free rate
+rf <- largecap.ts[, ptrRF]
+## 
+@
+
+\subsection{Generate Portforlio For Further Analysis}
+Generate Portfolio weights based upon selected method and create portfolio.
+<<ex5>>=
+# Number of time series in data set
+nSec = ncol(largecap.ts)
+
+if (numberOfSecurities>(nSec-2)) numberOfSecurities = nSec - 2
+cat('\n Number of Securities being used in portfolio = ',numberOfSecurities, '\n')
+
+# Security position numbers of securities in portfolio
+secNbrs = seq(1,numberOfSecurities)
+if(secSel=="randomSeq") secNbrs = sample.int(nSec, size = numberOfSecurities, replace = FALSE)
+
+cat('\n Selected Security position indicies')
+print(secNbrs)
+
+#
+# Created random wts from the non-market non RF series if selected
+if (randWts){
+  coefs = runif(numberOfSecurities)
+  alphas = coefs/sum(coefs)
+  sum(alphas)
+}  
+
+# Generate portfolio from selected securities and associated weigts
+if (equalWts) {
+  R.portfolio <- Return.portfolio(largecap.ts[, secNbrs],geometric=geometricB)  
+} else {
+  R.portfolio = Return.portfolio(largecap.ts[, secNbrs],weights=alphas,geometric=geometricB) 
+}
+
+# Print names of securities in portfolio
+cat('\n Securities in Portfolio')
+print(colnames(largecap.ts)[secNbrs])
+
+colnames(R.portfolio) ="PortRets"
+
+# Compute initial ancillary statistics and set them in the summary matrix
+salient = matrix(data=c("Mean",mean(R.portfolio),mean(R.market),mean(rf),
+                   "Stdev",sd(R.portfolio),sd(R.market),sd(rf),
+                   "NbrSecuritiesInPort",numberOfSecurities,"","",
+                   "AnnuallyFrequency",rep(freQ,3),
+                   "Number of Samples",rep(nRow,3)),ncol=4,byrow=TRUE)
+
+Measures = rbind(Measures, salient)
+
+# Results used later in computation
+# Mean of risk free rate over sampling time series
+meanRF = mean(rf)
+
+# Precompute excess returns
+xCessP1 = R.portfolio - rf
+xCessM1 = R.market - rf
+
+# Precompute relative return [RR] = (Investment Portfolio [IP] - Market Portfolio [MP]) 
+# and average relative return [ARR] = mean(RR)
+  
+RR = R.portfolio-R.market
+ARR = mean(RR)
+
+@
+\section{Treynor Ratio}
+(Add more commentary) Where TR denotes the Treynor Ratio and IP and MP denote the Investment Portfolio and Market Portfolio 
+\subsection{Beta}
+Compute Beta using excess returns.
+<<ex6>>=
+
+# Compute Beta from excess returns.
+betaRF = cov((R.portfolio[,1]-rf),(R.market-rf))/var((R.market-rf))
+
+# Output value of Beta
+cat('\n Beta =',betaRF,', between the excess portfolio represented by ',PortName,' and the excess market represented by ',MrktName,' \n')
+
+Measures = rbind(Measures,c("Beta",betaRF,"",""))
+@
+\subsection{Treynor Ratio}
+Compute the Traynor Ratio.
+<<ex7>>=
+
+# Treynor ratio for portfolio and market
+# Recall that Beta for the market is 1
+tr = TreynorRatio(R.portfolio, R.market,rf,freQ )
+trMarket = TreynorRatio(R.market,R.market,rf,freQ )
+
+# Output salient results from Treynor Ratio computation
+cat('\n PA computed for ',PortName,' Treynor Ratio = ',tr,'\n')
+cat('\n PA computed for ',MrktName,' Treynor Ratio = ',trMarket,'\n')
+
+Measures = rbind(Measures,c("Treynor Ratio",tr,trMarket,""))
+@
+As per the Chapter comparing the Treynor Ratio for the investment portfolio versus the Treynor Ratio for the market portfolio allows a check on whether or not the investment portfolio is being sufficiently rewarded for its level of risk, i.e. the TR(IP) greater than or equal TR(MP).
+<<ex8>>=
+
+# Compare Treynor Ratio for market returns against Treynor Ratio for portfolio returns
+TR_Mrkt2Port = relation[sign(trMarket - tr) + 2]
+cat('\n Treynor Ratio of ',MrktName,' is ',TR_Mrkt2Port,' Treynor Ratio of ',PortName,'\n' )
+@
+\section{Sharpe Ratio}
+Developed by Nobel Laureate William F. Sharpe, the Sharpe ratio is a risk-adjusted measure of performance, also known as the reward-to-volatility or reward per unit of risk ratio.   It is calculated as the average sp excess return divided by the standard deviation of sp excess returns over a period of interest. The excess return is the difference between the IP return and the RF return for an sp. A higher Sharpe ratio means better fund performance relative to the risk-free rate on a risk-adjusted basis.
+<<ex9>>=
+
+# Compute Sharpe and annualized Sharpe Ratio
+shr = SharpeRatio(R.portfolio, rf, FUN = "StdDev")
+shrAnn = SharpeRatio.annualized(R.portfolio, rf, scale=freQ, geometric=TRUE)
+
+# Output salient results for Sharpe Ratio
+cat('\n PA computed ',PortName,' Sharpe Ratio = ',shr,'\n')
+cat('\n PA computed ',PortName,' Annualized Sharpe Ratio = ',shrAnn,'\n')
+
+Measures = rbind(Measures,matrix(c("Sharpe Ratio",shr,"","","Sharpe Ratio Annualized",shrAnn,"",""),ncol=4,byrow=TRUE))
+@
+\section{Jensen's Alpha}
+(Add more commentary)
+<<ex10>>=
+# Compute Jensen's Alpha
+
+# Produces one value
+jaStatic = CAPM.jensenAlpha(R.portfolio,R.market,meanRF)
+
+# Produces multiple values
+jaTV = CAPM.jensenAlpha(R.portfolio, R.market,rf)
+
+# Regression computation and salient results
+lm_ja1.fit = lm(xCessP1 ~ xCessM1)
+values1 = summary(lm_ja1.fit)
+values1
+analT1 = values1[[4]]
+
+# Annualize Jensen's Alpha
+jaHandA = (1+(mean(R.portfolio) - meanRF - betaRF*(mean(R.market)-meanRF)))^freQ -1
+
+# Use Delta Method to approximate standard error of annualized Jensen's Alpha
+deltaCoef = (freQ*(1+analT1[1,1])^(freQ-1))^2
+
+# Output salient results for Jensen's Alpha
+cat('\n PA computed ',PortName,' Static Jensen\'s Alpha = ',jaStatic,'\n')
+cat('\n Hand computed Annualized ',PortName,' Jensen Alpha = ',jaHandA,'\n')
+cat('\n Delta Method Coefficient Value = ', deltaCoef,'\n')
+
+# t stat and pvalue under H0: alpha = 0 against HA: alpha != 0 
+tStat = jaHandA/(analT1[1,2]*deltaCoef^0.5)
+pValue = 2*(1-pt(tStat,nRow-2))
+cat('\n H0: alpha = 0, HA: alpha != 0  p-value: ',pValue,'\n')
+
+Measures = rbind(Measures,matrix(c("Jensen's Alpha",jaStatic,"","","Jensen's Alpha Annualized",jaHandA,"","",
+                                   "Jensen's Alpha P Value",pValue,"",""),ncol=4,byrow=TRUE))
+
+@
+\section{Tracking Error}
+(Add more commentary)
+<<ex11>>=
+
+# Compute Tracking Error
+
+te = TrackingError(R.portfolio, R.market, scale = freQ)
+
+# Output salient results from Tracking Error computation
+cat('\n PA computed ',PortName,' Tracking Error = ',te,'\n')
+
+Measures = rbind(Measures,c("Tracking Error",te,"",""))
+@
+\section{Information Ratio}
+(Add more commentary)
+<<ex12>>=
+
+# Crompute Information Ratio
+# Definition PA, InformationRatio = ActivePremium/TrackingError
+#Active Premium = Investment's annualized return - Benchmark's annualized return
+ir = InformationRatio(R.portfolio, R.market, scale = freQ)
+
+# Output salient results from Information Ratio computation  
+cat('\n PA computed ',PortName,' Information Ratio = ',ir,'\n')
+
+Measures = rbind(Measures,c("Information Ratio",ir,"",""))
+@
+\section{Downside Deviation and Sortino Ratio}
+(Add more commentary)
+\subsection{Downside Deviation}
+Downside Deviation is a measure of risk which just captures the downside or returns below a minimal acceptible return or MAR. Consequently the computation only includes as non-zero those returns less than the MAR. MAR in the present case is set as single value, in other calculations it itself is a series, often the  market/benchmark performance. As downside deviation increases it means higher risk on the downside relative to the MAR. Beyond the MAR, an important parametric consideration is the decision to normalize the deviations by the total number of values in the time series or just the number of deviations which are not equal to zero (in either case the denominator count is maybe reduced by 1)
+<<ex13>>=
+
+# Compute Downside Deviation
+
+# Set value of denominator for Downside Deviation from the parameter set earlier
+denomVal = nRow
+if (denom != "full")
+   { 
+    denomVal = sum(ifelse((R.portfolio - MAR_set)<0,1,0))
+   }
+cat('\n Denominator parameter is set to: ',denom,' which results in a denominator value of ',denomVal,'\n')
+
+cat('\n MAR == Minimal Acceptable Return, number of MAR values = ',length(MAR_set))
+head(as.vector(MAR_set))
+if(length(MAR_set)>5) tail(as.vector(MAR_set))
+
+# PA computation of Downside Deviation
+dwn = DownsideDeviation(R.portfolio, MAR = MAR_set, method = denom)
+
+# Output salient computation of Downside Deviation
+cat('\n PA computed ',PortName,'  Downside Deviation = ',dwn,'\n')
+
+Measures = rbind(Measures,c("Downside Deviation",dwn,"",""))
+Measures = rbind(Measures,c("Denominator DD",denomVal,"",""))
+@
+\subsection{Sortino Ratio}
+(Add more commentary)
+<<ex14>>=
+
+# Compute Sortino Ratio 
+sr = SortinoRatio(R.portfolio, MAR = MAR_set, weights = NULL)
+
+# Output salient computations of Sortino Ratio
+cat('\n PA computed ',PortName,'  Sortino Ratio = ',sr,'\n')
+
+Measures = rbind(Measures,c("Sortino Ratio",sr,"",""))
+@
+\section{Summary of Performance Measures}
+Summary of values and statistics computed from input IP, MP and risk free rate series. 
+<<ex15>>=
+
+Measures.few = cbind(Measures[,1],substr(Measures[,2:4],1,8))
+Measures.few = rbind(Measures[1,],Measures.few[-1,])
+
+Measures.df= as.data.frame(Measures.few,stringsAsFactors=FALSE)
+print(Measures.df)
+@
+
+
+\end{document}
\ No newline at end of file

Added: pkg/GARPFRM/vignettes/PA_vignette.pdf
===================================================================
--- pkg/GARPFRM/vignettes/PA_vignette.pdf	                        (rev 0)
+++ pkg/GARPFRM/vignettes/PA_vignette.pdf	2014-03-08 14:53:41 UTC (rev 111)
@@ -0,0 +1,3876 @@
+%PDF-1.5
+%ÐÔÅØ
+1 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+4 0 obj
+(Setting Up The Analysis)
+endobj
+5 0 obj
+<< /S /GoTo /D (subsection.1.1) >>
+endobj
+8 0 obj
+(Establishing RunTime Parameters)
+endobj
+9 0 obj
+<< /S /GoTo /D (subsection.1.2) >>
+endobj
+12 0 obj
+(Echo Parameters)
+endobj
+13 0 obj
+<< /S /GoTo /D (subsection.1.3) >>
+endobj
+16 0 obj
+(Extracting and Organizing Data)
+endobj
+17 0 obj
+<< /S /GoTo /D (subsection.1.4) >>
+endobj
+20 0 obj
+(Extract Market \(Benchmark\) And Risk Free Series)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.1.5) >>
+endobj
+24 0 obj
+(Generate Portforlio For Further Analysis)
+endobj
+25 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+28 0 obj
+(Treynor Ratio)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.2.1) >>
+endobj
+32 0 obj
+(Beta)
+endobj
+33 0 obj
+<< /S /GoTo /D (subsection.2.2) >>
+endobj
+36 0 obj
+(Treynor Ratio)
+endobj
+37 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+40 0 obj
+(Sharpe Ratio)
+endobj
+41 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+44 0 obj
+(Jensen's Alpha)
+endobj
+45 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+48 0 obj
+(Tracking Error)
+endobj
+49 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+52 0 obj
+(Information Ratio)
+endobj
+53 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+56 0 obj
+(Downside Deviation and Sortino Ratio)
+endobj
+57 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+60 0 obj
+(Downside Deviation)
+endobj
+61 0 obj
+<< /S /GoTo /D (subsection.7.2) >>
+endobj
+64 0 obj
+(Sortino Ratio)
+endobj
+65 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+68 0 obj
+(Summary of Performance Measures)
+endobj
+69 0 obj
+<< /S /GoTo /D [70 0 R /Fit] >>
+endobj
+72 0 obj <<
+/Length 107       
+/Filter /FlateDecode
+>>
+stream
+xÚ3PHW0Ppç2€ÒN!\ún†æ
+–z–fFf
+!i
+††z†@sSC=C#……häü¼äü¢”ļäTې M#PWÍØ/¸9
+†–¦z†f&
+ºf&Æz¦&æ}†(Š\C¸ 1A®
+endstream
+endobj
+70 0 obj <<
+/Type /Page
+/Contents 72 0 R
+/Resources 71 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 76 0 R
+>> endobj
+73 0 obj <<
+/D [70 0 R /XYZ 85.173 799.236 null]
+>> endobj
+74 0 obj <<
+/D [70 0 R /XYZ 86.173 761.374 null]
+>> endobj
+71 0 obj <<
+/Font << /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+80 0 obj <<
+/Length 974       
+/Filter /FlateDecode
+>>
+stream
+xڍVKoÛ8¾çWè¶1¢ÞJу“Ö‹1uÝSw´L[ÚÈ”AJIÓ_¿CåZ®ìÅ4‡óžŸ8;'pþ¼
+.¬w««›9Íš‘&±³Ú:4/HfNZä$¥Îjã|wŸ¼0u¹Ü¶rÏDÉ=?
+Bw&Xó¦j¥wÔ]p¦zÉ•÷Ïê¸,JI‘$¡v™&$ÉRǏ’§)º\0ù–à÷Q/™ûÈÖžkëÁÏKÝýÔžœŒPðr’ÉѲÔ:šç׸†µÉo5ÞÌãÀÉI‘¦X_Jh9~LI[—³µê$+»öQqbïÓ$‚rHŠ’ °å̇æ­;È%ŽÜU¥{‡îýìi¢®E	´2·„¶y{.ôi‡Âoêèﯞ‰Mƒâ
+ë˜iM ©¤$ŽrÌà›â
+µKºíÞó©{è;øϺºöŒÙµ†H…Ûqy¼ãt½•ÚLßWì ‡¸Éð´Ýâ¡d¾´Å=òíŽ7¸}ÀeÁLž5d”p	ß·{ÈÏ$Çlms/O  >4¡ìÕ­±òiDr=°Ób)ñü8ÉÜ•—§®äo¢µ¹.µ¿Sý	­É׊Ƀ	Á/šØ#kò…ÅÅ
+“œ5‡ŠM†ˆGY±RWÿ¬ç`ºŸ¥lå¤mbm„†î
+š\N/*jeW‹öDû=Õ¸™(ë¦aòÍBÅÎ PbFîßA^r¥ŽjëÞbR´J¶Ç)áÁÀôŒïŽwl²´aXŸZÝÃW¡êÖ'þR›î¼S£Rýþ`@?•C1Îá†vÀ½²±ºáŸ]ZÃ|]]ZýÇz-u« »ä=ä+HëI‚5Ð-Ññ¡pÏِËpépPGÙÌŒªfܼVµÁ\…[S·a?e ÈUý©ov€Žq;UûUÅY›†ÙÜ"yÙÊ
+’
+œJ<å?4¤®—BMŽ~}gÏ»J£­p-M1ahx¥þiæv‹LÖÈ•¡>];Œè4‡ÈÝñ¼ÉZ3ää-,σëBä¸LLÞöjóo¯º¡V&låLq®’í`vFB’gÆ]Â^<]é§Ùz-¸¿Ç†O¨ÿñ#fø`úƒ‘ϳ{Òÿ0¶ms(gÞÌ—Zã¿»¹ã±³Ç¯÷ûþì@—ó±¿e­¬íÙûóÉ„Ôaìàk¿>‰Íe=B‡¦¯ãõ°D¦2\ª£ÚÆ0 »¶W‚ì,6f„æf_£é«é¶Û}‹_ìJ=à”9<ŸU	/§ãçPÙð®
+GŸWWÿ€0~
+endstream
+endobj
+79 0 obj <<
+/Type /Page
+/Contents 80 0 R
+/Resources 78 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 76 0 R
+>> endobj
+81 0 obj <<
+/D [79 0 R /XYZ 85.173 799.236 null]
+>> endobj
+78 0 obj <<
+/Font << /F18 82 0 R /F19 83 0 R /F40 84 0 R /F39 85 0 R /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+104 0 obj <<
+/Length 1188      
+/Filter /FlateDecode
+>>
+stream
+xÚíXKsÛ6¾ëWp¦‡’3%ƒ7ÀCqíd’IW–§‡´Z†,N$ҁ¨ºî¯ï‚ !ŠVc[»vÓA,]ì‡}EŠ^&£¯‰0Ë($šÌ"%2,i$9ÎÊyô1þ©®ŠãF»a•ü>yûh”g¹ ÂnCQJd¦rávà$Í	OtÓ”ÕE’REãÓK;²x2׎ð²*׫r•¤DaŽbêøbÙã'Ë‹R,³œúãàØcDH|´jŠ³E¹š;!”Æㄨx]MÊ¥BY|l	…)–ºÑD)Šâ,I9úËó¯Çìöà	W}Lq®¸mCE*ÚAE:¨¦ˆy½¡Ôc*ò¿‰­ˆÙ-ØÒÛ?SL›`„Euî`þ`.Šªü+Á±ÿÆââ)À9°ø/ÆoŒmæÐz_˜O	‘±öóßGºröº„@ÀîÓËØq	˜®>¹É«¢ŠÑÞáO´±5X5ìiá£vãâ÷ø¼Ö•6E£ÖǝڀRͬ6‹²î©
+äÍdmš¹6T]p¥X=W{Ê·¨ƒ”“v¹¡ŸxˆK<“$`×U‹äšqÑ nÀ-b˜f’C‡9Þ‘tRš«LË­ë!!íhëÃráIÏ%ï˜Á»øÇ AB›$páNiw§)•üÙfôÇp$U ä»xõ%ܼ0¶p#±¾Å“HKL=Õñâîs¼Þêj¥«ïW¾ü[\ÎË™	㶎	e¤ßÇûÞ\L8ŧPOÓZá41ßÚïunÿ›
+âæÒž»êëR”c4ÜêEK·õ°¶B¯ªUyîõ?Ô”ó¹è'µ
+ Þ@'€/¶ÞÖeˆ0 ²_kë'’€•œcùÍûN»_2Ííl‡àâ[;5ڝå݇÷åÇz	ÅÛµó‡zæ¼åØz“6­;VSïQïu±Z[°‚÷2‡)²¡%Ë»žÔz
+Þj1!
+´-&Œ®Å„—P†À‚óŽ!E™T²ßUZ–ƒ®ØŒmߺJ [¦j!‚“ò(ÚÌE´‹<†0Ìí¼7´«o’ï½úh2ú< Šp¤h† U2š.G–Î(¨Qã<ã ‹ÑÑlô˽Ou?rµ
+¦4…w%ÜÚ!qìÿxÖ³aÿÃp•)ªœ-|žam«©v¯`žëE³ßMÛ—þ3¬í?ÇÖ¹Äà—J¿ü^²ÏàÂ`÷ϼCg›6nÞêúã^"$•7e‰NKÞÓ’ËŒÓPD}ù˜c(àN¸m<÷’Ž¶SI[ksK´Šg„Ñ?Ÿ¾{÷˜Špb¤ÿ°ŸMG¡qkF¼Câƪ؃êç®ï§ÈcÇ p¤y÷+!‹ðL	±9ÞÌܨ?¯‹Å¯ÍÊÍJ?6fíÃÊ%”%³ºméíôJ—ónõU¹X¸·3¿¿¨ÖË3m>ÌNôtmʦÔÿJDòÕUPî‰F¤{èd|zô°6Š¼­øBÉ@ïð?|Yr„ªu«õ"Â3RPORp`Õµ»÷?;ZÝŠG
+endstream
+endobj
+103 0 obj <<
+/Type /Page
+/Contents 104 0 R
+/Resources 102 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 76 0 R
+/Annots [ 77 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R ]
+>> endobj
+77 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 720.583 226.185 731.477]
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+86 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 702.65 275.103 713.443]
+/A << /S /GoTo /D (subsection.1.1) >>
+>> endobj
+87 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 686.655 199.028 695.51]
+/A << /S /GoTo /D (subsection.1.2) >>
+>> endobj
+88 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 666.785 266.498 677.577]
+/A << /S /GoTo /D (subsection.1.3) >>
+>> endobj
+89 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 648.298 347.5 660.254]
+/A << /S /GoTo /D (subsection.1.4) >>
+>> endobj
+90 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 630.919 303.456 641.712]
+/A << /S /GoTo /D (subsection.1.5) >>
+>> endobj
+91 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 603.024 173.304 613.918]
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+92 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 587.028 145.368 595.884]
+/A << /S /GoTo /D (subsection.2.1) >>
+>> endobj
+93 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 567.158 186.657 577.951]
+/A << /S /GoTo /D (subsection.2.2) >>
+>> endobj
+94 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 539.263 168.413 550.157]
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+95 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 511.368 177.452 522.262]
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+96 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 483.472 176.743 494.366]
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+97 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 457.514 192.966 466.471]
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+98 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 429.619 296.482 438.575]
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+99 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 411.686 212.256 420.541]
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [100.121 393.753 183.862 402.609]
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 1]/H/I/C[1 0 0]
+/Rect [85.177 363.92 281.283 374.815]
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+105 0 obj <<
+/D [103 0 R /XYZ 85.173 799.236 null]
+>> endobj
+106 0 obj <<
+/D [103 0 R /XYZ 86.173 778.311 null]
+>> endobj
+2 0 obj <<
+/D [103 0 R /XYZ 86.173 349.904 null]
+>> endobj
+6 0 obj <<
+/D [103 0 R /XYZ 86.173 312.287 null]
+>> endobj
+102 0 obj <<
+/Font << /F42 107 0 R /F43 108 0 R /F17 75 0 R /F64 109 0 R /F63 110 0 R /F65 111 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+114 0 obj <<
+/Length 1127      
+/Filter /FlateDecode
+>>
+stream
+xÚÝY[s›8~÷¯`܇¦3‰qy؇´I:»SgwmwúÐîìÈ l¦\!šé¿ß#°“‰Óµñø¡:ŸÎýa‹hšÞnø²ÛWÍôãH×`Jƒv·¯g{²ßjÊÕ›Ã;¯~€H×ÍÅÈp-ÍÀrˆ©ùÉHŽ[Ø@†ci¶á!;gZ8ú{gH»×°
+Ùu0<‰[-íÁº÷óÑå­M4Ș¶65׬Xs,Y®©ÍíëY¾ûgþÇÎäKûÙ¬m?a% À-A¶'9ZÒþ¦=4þ"rx7Þ]“œqš0ð*XÀOèÉìÙÕÒÞ¬Ó¾–„~{	׆®N䮤kpMäöêÓìæu„·”¥¥ö¯õ+[-_(_`‚\Éé7kïŠdÁxõž…U›3¿à‘ˆX^õEVµEΪ—(?¤†èp yWÀÓñŸálò4ôR't¥
+vGOÖ½˜ù"ÊÒª;ab•ç%lfwlØ 2¿UKÚô2q=/Í9KfìaËVàˆtpžÏìdèȲëß
+§íRžBÓ,ȏhüÜÙêPjaº&²,¥üfÕ©«Âž	]Ë“jW¡ÎКÀ¸áúxxµ?ïY×ú+¥QºTþNY@˜ñ¤+õ
+].9[R¡ºœ‰‚«~WÛ-Y–0Á#¿ñŸe;Ÿ~¾Y»Ö}²¡ïDßlÅÕ;µKãÚñ7€‚—X1øvãÓƒ²æ0ïO$ ”ê1¸q\³$+à .?di.h*ª© t³!ÓÎbZƨ#•¹%Àþ`uÊvbNDpýC2¸eB¾ÇXp6þÄòÚ®h:ÞëAÞùÞۍ,_Ô‰²8ÏGÎ ¶ñʨ,üYÙ&rÀú¶ÕG3ˆ)ÝÔ€*¸‹¨žº§œBèa\iòl•qP½/ꈙdé2½Ü!JïÑ$ªüZE©ÊÀ'ày“""5¸ò}v/¤w¯úÓVZÓ@e\D©*§Ò+^©ùëì1Í£€Õ‘äGD×õDÀBZÄ¢WdêÆ’ÉÕôßœ‰Iô!rÒËÒ2f*j…ø4R‘Æ&7k6lxÀüÒj4,âxË.¦Ž<ÓܱÝŸ‘w¡ª•Nªk«[ª_	ëŵx^,”Æopa÷ÅL<¯ÝYù ¨º„x\1puü‰k¤ÆÆ,]ŠU×Í6“¥|Ô½oî¤j=‘ËöËxb"¬[[}䳸gŸ˜leÁâì±7žH…¼7¬Mê|ˆ¸°áµ7UÇÁÈ4É‹ï_ž3 at c˜«ÏCØqºåeÉøS¸y‘ü>‚K—¿ „Y\;þ”&ëK† {ï’B¦IÃ%ëxâoø>>?˜Pþ½ö‘G­ þýd bú‘Iÿ®‘~-ó€
+ZË!EŸ€è¯Ë©ˆ?ùñïñ¶úÏyk8í$ ²YCw¡D'r)ëÐoæ£ÿ Q™
+«
+endstream
+endobj
+113 0 obj <<
+/Type /Page
+/Contents 114 0 R
+/Resources 112 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 76 0 R
+>> endobj
+115 0 obj <<
+/D [113 0 R /XYZ 85.173 799.236 null]
+>> endobj
+112 0 obj <<
+/Font << /F65 111 0 R /F63 110 0 R /F64 109 0 R /F66 116 0 R /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+119 0 obj <<
+/Length 1093      
+/Filter /FlateDecode
+>>
+stream
+xÚíYÝoÛ6÷_A¤/6P3¢HêcÀRÄ.0,Ùj»èC;ŒL'BlÉ¥¤
+Ý_¿£H:¶Ó±;ËBâKü8“÷ñ»ãñäaÊ8BÞúKÝmöíkô¾ã!˜BðÞí_8bÝ_{ÕÔO‡w¦þÚ!À‘‡Š(&Cœ8Œc”,:zœQ‚IȐO<Ìc‚”D³Î‡YÚMÜ Œ ËhG¡ÝÊw“Îù0`(†ü Mf(
+€[ŠBaF}4™¢ÏÝ7½>÷yw”¦5SRš–¥meba[U!§¦•fæWå²*{M~ÛYÝX®hן@	bÐ51<Ô'!Ž£áµfoÀ ÐãT?c§ÉÍ1 CŸkAÝkûÐe±6Ld(7‡78ÓF¸‚þoF ú³ýDz&:¶ :¥GAðTW¨¸^aÁ!`*JaZ…<
+¨aZÍ.“—†2öŽ‚ ¾€ëjq+•i—©³üRª4Ÿ6`ävþ›jk¨-Ѐ ö¡­ Ðæð°ÇõªÜÛƒ›¿¨ ³ÖÏgæ}%EQ)7šäój‘Ñà+vZjô†O÷Ø4Rò5)yˆ9kÙ€w›fÓ&•ìCÁ}·ý{NÏo§…¤I
+pìS²®€žݳ1ÄYçRÚçÎ**ìøÖìõg®J½Ÿí^©‡õ®I¸@x¢M¾O ÿfœlú:›¬H
+â€1ú=OØ['í:(;æGó·ÆÜÍš°/;tò¨x–ÏÓüÈr%Ôƒ,_€ ú6¥ïQeïtÀ²…­íœ™Á1‡<¢Žè„c/ˆPŸ1ì{‘ñt‚ýÌ€ÒI’î}ÞëÓÎ%Ý=ÒUïuqZuØ?’p3ô¦î6‹ø‘Y„ÒîRÁÅÕ»¥éª*ë››M=)ÌÒªh@»P&O«Q„†8=nU£¨b…ÍT£IýÜãÊTºøÓJãúü°u¢D4z\qs©âB™­ÇŒD6ͦýI¦w÷eñ‹é5•?*ààSY>¤ÖR·7žŽ§ÁWœ=Š]Ùîfs»@
+£}øû0ê©áÅïãA2z›r¾W^/¿¹JK!“J¥åêbèÊ°K—óõì
+¡Q—ÏjNÿ˜Wܝ¼¿)ïçßõ~ºåý?‡¥z	ÚþÁ_Y„°þöÍÙs.“2Íí$d²÷ù´áÃ05–ó“÷·ëìNjÒBªTÌÇòë)h›·¿—9ØJ¥‰éŠ,«Ä<ýW<šRs3óB:ËŠÌÆv濇§‰ÆtÃAáÎ1þîÚ•ü¯ªWœŒ>N‰BÛBÇUš¥‹ÊÞþ.’D.Kq;·6ɲRÙÖÇû1$i–»¢Bé²A7™ÿ“éÔ.q)ÿNkÐ4YºùÒ·ùQùbtSÈòÕG°&ÊÄõ\ŘDêS†9#Æ|ޓΦ Ç
+endstream
+endobj
+118 0 obj <<
+/Type /Page
+/Contents 119 0 R
+/Resources 117 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 76 0 R
+>> endobj
+120 0 obj <<
+/D [118 0 R /XYZ 85.173 799.236 null]
+>> endobj
+10 0 obj <<
+/D [118 0 R /XYZ 86.173 527.886 null]
+>> endobj
+117 0 obj <<
+/Font << /F64 109 0 R /F63 110 0 R /F65 111 0 R /F42 107 0 R /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+123 0 obj <<
+/Length 1252      
+/Filter /FlateDecode
+>>
+stream
+xÚí]sœ6ðÝ¿‚qjÏødH@¦}pê\f:¹Ô¹\ŸšŽƒÎÖÜ\…hêþú®ÀÀ93><`'΃A»ìIÚí—l#×#–e7_âº
+›×ü݁mÁ'Þûý
+…4TpãURï¢÷¦þû ÃŽl[‹pàY.oŽkÅ›…÷\Œ°ïYžM‘G©%˜µ<ø¸÷–öcw8ê7‹ƒÓ)u­¶æPk±´
+ü¹–ïÈsk‘X½zuü×â7à~‚}6°lûhÆS¾)6Ç␣³8f[]­™†çL"Õãe&ôàS&$O3CIn†Õ÷óìKšóÄLqÎþáŠ&}m´Õv–¢ïú
+$®z†TÓv‘@	â#
+ñŒð­”QÉÞ{m>kÚæS¯ÞT&ˆ†Ê€ËÅ?ƒ¬z­ŽC@/ôàhÊ6
+¨`þÃÏØõÒJGi¶ái$+ÖºNZºL*]jPmqZ¬×Š³"•mKøT\åÌà~Ö¯ÙÙüpðSüZc•1pz2ì9.n®DÉód@íiÁ•\|JU#Ù}¨á˜*¿î´kÇѹG÷dF^®¾TSŒ#ÅéµruDK)6,ÿ#gI¯=B`Üñ¶ܝÙþÒk‰ž:È„ñ©ñ˜î\ù…¦3¿€°ùÄ|blD¬šà|ª€Þg­§x&N
+Ø@ëÄ”¶0¦¤ÈZˆÓ”UmŽ½ò|MÒw‘ã<IŽ—`(ƒ_fkž]*Ó~¦a~Ÿx;‹ÄŠÉÓ7,oÔø{ákÎóÕT0¹<»LÇàit?‡mQ;h§i/&¿ÿPztµ,õ»>œU8*m[£41AɆIt˜àÕ4…JÊ7kd…Üòef£F³ûd£ã©äù—Û&Ý
+žÊo=ï´èÑûm	M”çØöQ;Ú6-¨°Žaž†!ÕNÿkæJ|Ÿ4‚ùáñÄwÁ€M4ÐÅ
+Tó]ª	/ÕŒ‡?š<Ï.›+&Ú.'‰dd¼GÊeÞvæË-‹Äx­]™öñGûd¬€E°g>åØAöòÍ…ÇéÔs,ŒQHÀkEGÁÈ~1ðþö_)¢Xòô¼¤o¢¸ü.®£”ÿW8W‚ì#šáîRÞ.v¯S°‡QàÝëì†(Üoý:ÅFÔ $r4¨ºd}ñâí^¼8¾”æä(…mzpD´öþ?
+ï+]£÷Yd2:yc"ú»³ùÅt>ÓÀ6ŠWÑ5ëdˆ5í¯g³»sš3‰Æ-¹ŒiV\y±Ý
+–ç3øƒÚeVê{läí)Ž¦^×üJDâvLæ]Š(nµ#%©ð4~5îDœ°i²­jºçO+•~«»ŠWJK¾a¬i;H
+$üZÊasŽGô4Ë‚l¢:¥¤òÛ]äÝ"ä»k“hYfÒ7:÷­KõåVÃ,c‘oQ~5Xÿ†øc['Õ7m.A­RŪ¼\±N̉ò¼ØlïnÏäM$;$ë(¯P_ÌH^U¬y£¡‰îì÷wD¦ƒÊc'!ÞÝè‚Ç+&òÓ{z:÷sÆÓc’U2¹K©Õ¥âˆ–ßaóÅ”Åïy%ú8[ƒ½aQ*5y–`IyuœÊõm¥W­ò´îµTÏY\.A×Ï·´£DÂ~S½¡‡<ÀL RÀ¯µL{쪒ÿ£öBî
+endstream
+endobj
+122 0 obj <<
+/Type /Page
+/Contents 123 0 R
+/Resources 121 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 76 0 R
+>> endobj
+124 0 obj <<
+/D [122 0 R /XYZ 85.173 799.236 null]
+>> endobj
+14 0 obj <<
+/D [122 0 R /XYZ 86.173 329.012 null]
+>> endobj
+121 0 obj <<
+/Font << /F63 110 0 R /F65 111 0 R /F42 107 0 R /F64 109 0 R /F66 116 0 R /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+127 0 obj <<
+/Length 1404      
+/Filter /FlateDecode
+>>
+stream
+xÚÕW[s7~ϯØ1/ÎL½è~y¤	˜)¹ÐÄ ”oÀƒ/t½¡C}?­íY2‰cfB?¬u¤#ëwŽÄJ©tQ0úWèÓéïl¼Ç
+,øßmWé4ùk¹oNïÌý÷‡F¬à…“%wª0Ü–Ì‹âb¹æ•ä%·ªàŠ•Â»¢®ŠË½ßwVi7sŽû×ÉÞãgFª	SL.g`Ÿ,¬r¥’¢˜ÌŠ·ÃGößM~ƒõ#8ÓÙgš
+æ›f¤…^¬WËU¬¦³ªÞDâs]ÍÖËùjºj_ãT3¿ø„õǫ鲊3ëËø¿©.®êy3¯6Aì{ËJH-Ã×›Èûí$8á&MÜ_[:¬µ¾€áÁŽïW˜~3/ýFh¤/‚†Qƒ¿‰Å´þP]L?—Í$ÿÞÛ…»%£çô7Yô–¿‹á<9~2`VÛ–Ÿdâ ]œ±áàð0MØ0ÆHrœ1?=ù3s½¼•ßJtןŸžäs_œåsŽ&ù´ãógV§gG™x9Î;^>r«Ì é-××2ÏOó®ÉëNü“×yüê8³¼zó4O¿y~zš…/§õ§ªÜÐV¨×BÏ)-°`¥ªþø·$_¹*½Rˆ¾+H*ž_-aÀü_T ¡Í°ùØ,²Y*Ô>l"=]Í"ÇbºIS³i3s_öñ™.® ¿våb]×Õæ3;\¯fóÕ‡8߬{RL’’ÎÓqÇÆsÌðr]§wm¨«æª^m~i#0º6’Æár½X¬÷…þ>,‘R
+ßâkËá*Œ¯–áû§‚©Ž¡$æhLUÏ×íòl—竸ÜÌC
+
+3ð|gz¸¦útr³¯riK«oôUÇIëö¾zÿ¾;°¾ÙµÒ¥*¦Ph¦?²·øý‰zKÒøFoqu/t”Ô"B?ÁРv„Ie±~x˜ãÄúÈ]uœ{oGŒƒ9õhb¥ç2“"œˆÜ-å¬í˜¹QÆ*Óq©˜Ë¤pVj³]bН!´ääH§P¥²Ì!j:’#ÐA-:Z1Ï|G:&±ùŽ¦­ò&é5%µó,+ ´Öž¬rn´f„[på2ÉÑö¸Úî5’¬óª“‡hi®%bWvîl·
+
+¬Ýf+ƒÏ;oZkÝvt_ÏLw—Ú¹¬ C•âŒ	^y©;ZiMµ—ðí
+ª |.TF.‘Dï¬ Új‹ 
+Ù"9*$S·å d.Ç	J¸@A·“gi*\žšÂÕ)͆‹ÓŽÀbÚ	O£ F¼hœ#QäBhÖEYH'wYf˜u_då\eÚSh3);~%™/âg	²ç$¬Heî¡AZ菞œÉeŽk ¥µÒt¤°¡˜u´ö¦}‹Jà·ƒ»‡-d'W=@Í]‹‹=)oˆµ]T¤€Äž­WbGp±öG²U;'¨‘Œ–&”³ÎL’[áµa÷EWv,
+LgÃMÏtVqÁ,MLà—{¢/÷=8¦„¿Uƒ^/Ç	5xV¤u~šp†7CáŐF¯Ž·µ-«¼“Ô>/I@¹tª²@Áꥲ†?X硽Ul×®%çD&¼F»¢Æщ«¨SxŠXëÎàR–˜ú¤¢hŠÍ˜ˆ@!'Y À+ET@qnÇÎ…b{ULáLœ‚NIÛ<æh‰A7×$( Òªí¹Ð‡ê’àôþ¸ ±¶†Ñî	øP,ñ—Á xîܽ"AÌè_Däµr¡EA2=ÀdMn®í ë:µ¨ð¦Nïëø¢NóM„èÿñ^†2è-®IQ¢”EÕíw\¼ñüú˵o¬
+endstream
+endobj
+126 0 obj <<
+/Type /Page
+/Contents 127 0 R
+/Resources 125 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 129 0 R
+>> endobj
+128 0 obj <<
+/D [126 0 R /XYZ 85.173 799.236 null]
+>> endobj
+125 0 obj <<
+/Font << /F63 110 0 R /F65 111 0 R /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+132 0 obj <<
+/Length 1216      
+/Filter /FlateDecode
+>>
+stream
+xÚ½XÛnÛF}÷WÈ‹ü f®;»i.ÚØÎEE’^Œ4	Š&@ëúÿÑC‰‡i‰Z8â’3;sΙYS¯æ]GùëúýÜ¿žŸP‡[¾—=Õ·Ò;}mWÿûçÅ«ÿ:aDDwU{®Ö±F.Ý›'Ãï¦ÜsXW¸õE£»~Û½;y¶8¤%Ûýnsr÷QÑ®áq)Ýæ]WbÐ.¬ö¦Òm~ë~^ݹsºvñ·kâµòéšÉiE=U&QÛÛ­I±˜n»’ÊîiXdÎqúëæ{ìvÍÑ·Ï{µÔé\TÙv÷×Ô31ïM"ªÕ'ÚHfôst»‡ÛWq¼f²ƒÄêdšikiRð`k¥ý#ªª{[X5™x¥EÎR5;ìÁgÜ]k
+Ú­™O‚¥Ì<èu(ÙQñ¨m²›¢òi&Ä9K¨!<,æß²ÕžÀt>[Ù­ýôG¬Ê=¡Ûïk­»mß\ýþᛃ͟ûµùsç>“L@D±õþ2øáêúýÛ7Wö7Ãäÿ!sKV#[»ˆgYÀÑêÞù½Í)µ½<»8]
+´º?ü¸½zð `œ«Î^üô5€ã!^SÌIê­FREl–lÊ´œYÔ}zZÖ6™•[‰ÃÔydÄ2E >sÑĽ%Q§L0Ê{˜
+}…‚»ÚV
+ÇW*t¨–Q-¼¤ŒF3«È~’‰¸Õâau« ðÁ0e¹‡.h	Îyå:Ó’’´»xÕ”1«a“É5*Ï„®8´M“Ý8÷£B^¦ÛŒ›ÒŽþS“,²·ÃȬåQ#OR@kÍHäêžÛKdÔ°Q‚qsdôK8 f@šs°¦àâñåÅÈ£žDzòds¼<ñè–„—Ïï?YJ/FbSb€äšêèf3d±Yh‚¾Jî=è_ÂÙ…"Jî.ì¥hÎy-j©½K-šµR‰'b¥ÔÃÌÈ%\L“ÙØJbwà&MìA¯ËEfP=ã^‡¿ƒì¹µçR©èÜÀ­4ç„’gòœL-F)€ˆF¼Z at fKï lkšì gì-C$,2ìQóT0E	øXfíjŒU@×I´Áäð$w€™S¢¥rde€êØëéÙØŸž>¾7ëÅåȵͫ‹ñêÇÍ«qÙËóÃz3µäÆ"i{ëRÆ	â”´ 
+GÖ<ž'm¡cY5Me’»"Ô3E@#M¼6(åžKžHeèËh5TK	f]ñŒ“–»¦˜£Ž‰É„²§§#¢.ìYˆ JN+Î+¹*èaZRѐ‘t‚aÇ\á‰÷
+.3{F,2Œ.5k~¸§ Ì“KÌT™é‚Ù=ÕÁ’/íY¹Jó6¨Gòˆa¤ú”v8Ô’Oê¹ F­|‘ZÃDøòõÃÓ5N¾zýøœlpõñêú·7cºitl‹Úï*M;h³%Á,ªD:ê'9’#æ»(Î	z%Os ©¥C žË„}ÚäTñH@ÇLª³ã“‹óiÐðtäÊ[ÉÌNñË°tY{ :Lw{Ó”óƒôkÊ?
+^ÆCÌ÷ß‹ÛñÜ}Ä‘OW<´£Ú­Uúe·±o9Œ>ÜœüÅ_¢I
+endstream
+endobj
+131 0 obj <<
+/Type /Page
+/Contents 132 0 R
+/Resources 130 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 129 0 R
+>> endobj
+133 0 obj <<
+/D [131 0 R /XYZ 85.173 799.236 null]
+>> endobj
+130 0 obj <<
+/Font << /F63 110 0 R /F65 111 0 R /F17 75 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+136 0 obj <<
+/Length 1235      
+/Filter /FlateDecode
+>>
+stream
+xÚíYÝoÛ6Ï_!¤/21â·¬V4.0 ÝæzOi‡Ž…ÄrFÓh÷ßïøaG’ Vc9É‚ &¤rÇ»ãÝñÇQÆ£(­7úºI‡fôé(`*‚v·¯P.rK×·z{xçÕÿa(p”Q„3	™¢,&ó#;Ì(FX²(ˆåðT4=úkgvÙì‡ñÑéPÐ(‡Ï‰ˆÆSËKI–!FI4¾ŠÎãwï	'<&iŠLŠ	Ny§(%i.ø†Ä4§ò~K.rÿ-P)æ9\ŒßÙ"»¯®ÿnÖÖa%h<!ôÏý6«Ñâ{'ñ@ó@qjsá—¶Æ,»s§ˆ÷XH*·y´a%X“׬I¦ÃuÇ
+>V£-_"à•¯¹§¸-ôµšwÈ,Ä{&J¸Dœ²(Áå”þ¤‘÷·ºí‡ëãvŽ/|G¤Aâý‚u¬<2aŒrΉ5!ˆÆÀ‡8ö¢aÄàtcéì‡ÑÅÄ*yü¹Ð7ŠchkꪚرÙ&±ÝÔoÕ•ïŒÊåï
+9‹µRžúªt©–vçC,kÞdµÄÒ‹òQ¥çee?£4¾$$‹e5€fü¨YØ–Å“Åíj€ãyåÉ陵…³ð½•Ò~ê¶@­<f¥«¥Ÿ,œÐáLVk.‹©Ÿ;…ÞpÑ°S;^ûoº¹ãþ’ÔÙx;O¸Hò­DE¸
+벏Lõ<Rƃù’KŠ2žy×¼3úóye©„I”‚ÉC0ÿ>+'³^s	è™7rIŸ›çˆÐ
+s8æU1÷1ª¯í3Œ2FŸ8•º3nçÝ_ͯÞï71{.s}c>¦øº<éƐZ‹	á¬}¿¶5xϰЕÉ{Ø[7ŠL ™r{Þù:v¶GŸíy3qU†2‘Àu§Q¦ýD=`¡Fð3¾Þ€JGÃ×–”añ0I‰2)½å¤'Ûzú–‘Þ2Æ¥"ÛÊHÃç!Rx›™õ¸&zßðNÒôჵîóVvd÷[(ÁÞÁÝiwðcZÚ4úͽ<{O›¿$}DZ€>?ñJö•ÖE·v¶<å(¼ayí`Û›:ˆÄFÐüzúº
+?öm÷ºv!Zíùz*ü•l at P@ÐOªRÎErù§…;ÚLú¶\Ô°Í…®+mfJ¯ÁÐâößeù´³Æ‰RàdQHËÉ3²¦/Ëë™C&nyY,U at .Wº¬<¹T·jbÖ“sef7Õ<'Z®ÌŸrý Ø3†0$Çl‰S‚{ù¨åc¡G-Ù6jI¨„õ²†¿¬æ—Ö?mß"ض5å<ä¥Gç]¿¬|{%ózÖ"Z‡gÊê«š¼î÷;ûÀðâßï°À–”Ô¹©_ÚÛVÄæ-Ï¡d,§}j."oh£rGå)øÝJ—¦ìvý~èÆûkuÛFÇsóàIWMÒÇ=Ó?[ZvOcê>"ÍŽð?2~Çœ„ƒß¨]'…9lìézs$Ëmm°Ž¼!ïúÇß0eÕÃå@í8úR•Õµï®\ÁY¯îîëTïÔ®9Þ÷ñ=yèÜžìOsþ•°Q“xU?[P¬ËTã^ƒ³Js7*Ð`  ò¢C¹ÿù
+X‘
+endstream
+endobj
+135 0 obj <<
+/Type /Page
+/Contents 136 0 R
+/Resources 134 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 129 0 R
+>> endobj
+137 0 obj <<
+/D [135 0 R /XYZ 85.173 799.236 null]
+>> endobj
+18 0 obj <<
+/D [135 0 R /XYZ 86.173 648.979 null]
+>> endobj
+22 0 obj <<
+/D [135 0 R /XYZ 86.173 311.848 null]
+>> endobj
+134 0 obj <<
+/Font << /F63 110 0 R /F65 111 0 R /F42 107 0 R /F17 75 0 R /F64 109 0 R >>
[TRUNCATED]

To get the complete diff run:
    svnlook diff /svnroot/uwgarp -r 111


More information about the Uwgarp-commits mailing list