From d5858eeaa72ce19ff1fb04f9b9bf6912349a1f77 Mon Sep 17 00:00:00 2001 From: ma91n Date: Fri, 5 Jul 2024 10:33:06 +0900 Subject: [PATCH] file upload --- ...10\343\201\256\345\213\230\346\211\200.md" | 225 ++++++++++++++++++ source/images/20240705a/image.png | Bin 0 -> 24643 bytes source/images/20240705a/image_2.png | Bin 0 -> 33372 bytes source/images/20240705a/thumbnail.png | Bin 0 -> 14933 bytes 4 files changed, 225 insertions(+) create mode 100644 "source/_posts/20240705a_\347\275\262\345\220\215\344\273\230\343\201\215URL\343\202\222\345\210\251\347\224\250\343\201\227\343\201\237\343\203\225\343\202\241\343\202\244\343\203\253\343\202\242\343\203\203\343\203\227\343\203\255\343\203\274\343\203\211Web_API\350\250\255\350\250\210\343\201\256\345\213\230\346\211\200.md" create mode 100644 source/images/20240705a/image.png create mode 100644 source/images/20240705a/image_2.png create mode 100644 source/images/20240705a/thumbnail.png diff --git "a/source/_posts/20240705a_\347\275\262\345\220\215\344\273\230\343\201\215URL\343\202\222\345\210\251\347\224\250\343\201\227\343\201\237\343\203\225\343\202\241\343\202\244\343\203\253\343\202\242\343\203\203\343\203\227\343\203\255\343\203\274\343\203\211Web_API\350\250\255\350\250\210\343\201\256\345\213\230\346\211\200.md" "b/source/_posts/20240705a_\347\275\262\345\220\215\344\273\230\343\201\215URL\343\202\222\345\210\251\347\224\250\343\201\227\343\201\237\343\203\225\343\202\241\343\202\244\343\203\253\343\202\242\343\203\203\343\203\227\343\203\255\343\203\274\343\203\211Web_API\350\250\255\350\250\210\343\201\256\345\213\230\346\211\200.md" new file mode 100644 index 000000000000..8d260c4217c8 --- /dev/null +++ "b/source/_posts/20240705a_\347\275\262\345\220\215\344\273\230\343\201\215URL\343\202\222\345\210\251\347\224\250\343\201\227\343\201\237\343\203\225\343\202\241\343\202\244\343\203\253\343\202\242\343\203\203\343\203\227\343\203\255\343\203\274\343\203\211Web_API\350\250\255\350\250\210\343\201\256\345\213\230\346\211\200.md" @@ -0,0 +1,225 @@ +--- +title: "署名付きURLを利用したファイルアップロードWeb API設計の勘所" +date: 2024/07/05 00:00:00 +postid: a +tag: + - 署名付きURL + - ファイルアップロード + - 設計 + - WebAPI +category: + - Programming +thumbnail: /images/20240705a/thumbnail.png +author: 武田大輝 +lede: "現代のWebアプリケーションにおいて、ユーザが写真や動画などのファイルをアップロードする機能は、しばしば求められます。本記事では、ファイルアップロードを実現するための一手段として、「署名付きURL」を利用した方式を取り上げ、その設計について詳しく解説します。" +--- +## はじめに + +現代のWebアプリケーションにおいて、ユーザが写真や動画などのファイルをアップロードする機能は、しばしば求められます。 + +本記事では、ファイルアップロードを実現するための一手段として、「署名付きURL」を利用した方式を取り上げ、その設計について詳しく解説します。 +今回は、Amazon Web Services(AWS)を利用する前提のもと、このアプローチを探求していきます。 + +前半部分は署名付きURLをそもそもよく知らない方向けの導入部となっていますので、要点だけ抑えたい方は[設計上のポイント](#設計上のポイント)から読まれることをお勧めします。 + +## ファイルアップロードの実現方式パターン + +署名付きURLの話をする前に、ファイルアップロード機能をWeb APIとして実現する方式について、いくつか代表的なものを紹介します。 + +### Pattern 1. multipart/form-data + +`multipart/form-data` は、ファイルとその他のフォームデータを一緒に送信するためのエンコーディング形式です。この形式では、各部分が境界(boundary)によって区切られ、それぞれの部分にはヘッダとコンテンツが含まれます。これにより、ファイルやバイナリデータをテキストデータと共に安全に送信することができます。 + +これは、ファイルアップロードにおいて古くから利用されている一般的な方法で、[RFC 2388](https://www.ietf.org/rfc/rfc2388.txt)でも定義されています。 + +王道の方式である一方で、REST APIなどJSONベースのAPIシステムとの親和性が低く、ブラウザ以外のクライアントにとっては手動でエンコードを行うなど手間がかかることもあります。 + +### Pattern 2. Base64 + +ファイルをBase64形式にエンコードして、通常のフォームデータとして送信する方法です。 +サーバ側で特別な処理を行う必要がなく、通常のJSONベースのAPIと変わらずに取り扱いができるというメリットがある一方で、Base64エンコードによりファイルサイズが大きくなるというデメリットもあります。 +そのため、巨大なファイルを取り扱う場合には不向きであり。プロフィール画像やサムネイル画像など限定されたユースケースでの利用が向いていると考えられます。 + +GitHubの[Contents API](https://docs.github.com/ja/rest/repos/contents?apiVersion=2022-11-28)でも採用されており、この方式もまた「`multipart/form-data`」と同様に一般的な方式と言って差し支えないでしょう。 + +### Pattern 3. 署名付きURL + +本記事が取り上げる方式です。 + +この方式は、クラウドストレージの普及と共に広く利用されるようになり、今では広く慣れ親しまれた方式です。 +余談ですが、筆者は2013年に公開された Qiitaの画像アップロードの実装事例[(Qiitaの画像アップロード機能も簡単に実装できる。そう、S3ならね。)](https://qiita.com/yuku_t/items/40b7daf018d3dab48974)を見て、この方式を知りました。 + +この方式の詳細について次の章で見ていきましょう。 + +## 署名付きURLによるファイルアップロード + +署名付きURLによるファイルアップロードとは、特定の期間内にのみ有効な一時的なURLを生成し、そのURLを使用してアップロードを行う方法です。 +この方式により、自分たちのサーバに負荷をかけず、直接ストレージにファイルをアップロードすることがセキュアに実現できます。 + +なお、Amazon API Gateway + AWS Lambdaといったサーバレス構成を取る場合などは、ペイロードサイズの制限[^1]やタイムアウトの制限[^2]、コスト面などの観点からこの手法が第一候補となります。 + +署名付きURLを用いたファイルアップロードを行う場合、次のような処理フローが一般的です。各処理について詳しく説明していきます。 + +image.png + +### 1. 署名付きURLの生成 + +クライアントからのリクエストに応じて、署名付きURLを生成します。 +署名付きURLは各クラウドサービスの提供するSDKを利用することで簡単に生成することができます。 + +AWS SDK(for Go V2)を利用してS3アップロード用の署名付きURLを作成する簡易的な例は次の通りです。通常のPUTを行う際のリクエストを用いてバケット名やオブジェクト名を指定して、署名付きのURLを生成しています。 + +```go +// 15分間有効な署名付きURLを生成 +presign, err := client.PresignPutObject(ctx, &s3.PutObjectInput{ + Bucket: aws.String("your-bucket-name"), + Key: aws.String("your-object-name"), +}, s3.WithPresignExpires(15*time.Minute)) +if err != nil { + log.Fatalf("failed to sign request: %v", err) +} +fmt.Printf("the presigned URL is: %s\n", presign.URL) +fmt.Printf("the HTTP method is: %s\n", presign.Method) +fmt.Printf("the HTTP header is: %v\n", presign.SignedHeader) +``` + +署名は [AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html) の仕様に基づいて実行環境内でローカルに生成されます。 +稀に誤解されることがありますが、署名を作成する時点ではS3に対するネットワーク通信は発生しません。 + +### 2. ファイルアップロード + +生成した署名付きURLに対して、実ファイルをアップロードします。 +前述のサンプルコードの通り、署名付きURLの生成時に、アップロード時に用いるHTTPメソッド及びHTTPヘッダも返却されるため、それらを利用することが望ましいでしょう。 + +### 3. ファイルメタデータ登録 + +ファイルが正常にアップロードされた後に、ファイルのメタデータ(例. ファイルパス、ファイルサイズ、アップロード時刻など)をバックエンドに登録します。 +この手順は必須ではありませんが、多くのケースにおいて必要となるでしょう。 +例えば、ユーザがプロフィール画像を更新する場合、画像のアップロードが完了した後に、ユーザIDに紐づくプロフィール画像のファイルパスを更新する必要があります。 + +## 設計上のポイント + +ようやくここからが本題です。 +署名付きURLによるファイルアップロード処理を設計する際のポイントについていくつか説明していきます。 + +### 署名付きURLの有効期限は不必要に長くしない + +署名付きURLは有効期限を設定することが一般的(AWSにおいては必須)です。 +署名付きURLは、そのURLを知っていれば誰でもアクセスできてしまうという特性があります。そのため、有効期限を短く設定することで、万が一漏洩した場合でもセキュリティリスクを軽減することができます。 + +ファイルアップロード用の署名付きURLについては、アップロード処理の直前に発行することが多く、その場合は非常に短い有効期限(数十秒 ~ 数分程度)を設定することができます。 + +また、少し話は逸れますが、漏洩時のリスクを減らすという観点では、アップロード元のネットワークが限られている場合、バケットポリシーでIP制限を行っておくことも有効です。 + +### 署名付きURL生成時にアップロード時の制限をかける + +悪意のあるユーザが、アップロード時に不正な拡張子や `Content-Type` を指定したり、許容していないサイズのファイルをアップロードしたりすることを防ぐ必要があります。[^3] + +このためには、署名付きURLを生成する際のリクエストとして、アップロードしたいファイルの拡張子やファイルサイズを受け取り、それが適切か検証を行なった上で、問題ない場合のみ署名付きURLを生成することが求められます。 +署名付きURLの生成時には、`ContentType` や `ContentLength` を指定することで、ファイルアップロード時に偽装を行えないようにします。これにより、万が一署名付きURL生成時のリクエストと異なる拡張子やファイルサイズが指定された場合でもアップロード時にエラーとして弾くことができます。 + +サンプルコードを次に示します。 + +```go +// (例) 要求されたファイルサイズが100MBより大きい場合はエラー +if 100*1024*1024 < req.Size { + // エラー処理 +} +// (例) 要求された拡張子が、jpg, jpeg, jpe 以外の場合はエラー +if !slices.Contains([]string{"jpg", "jpeg", "jpe"}, req.Extension) { + // エラー処理 +} + +// 15分間有効な署名付きURLを生成 +presign, err := client.PresignPutObject(ctx, &s3.PutObjectInput{ + Bucket: aws.String("your-bucket-name"), + // 要求された拡張子をオブジェクトキーに付与 + Key: aws.String("your-object-name." + req.Extension), + // 要求された拡張子を元にコンテンツタイプを指定 + ContentType: aws.String(mime.TypeByExtension("." + req.Extension)), + // 要求されたファイルサイズを指定 + ContentLength: aws.Int64(req.Size), +}, s3.WithPresignExpires(15*time.Minute)) +``` + +許容するファイルサイズや拡張子は、アップロードするファイルの種別(動画/画像など)によっても異なる可能性があります。その場合は、ファイル種別をリクエストとして受け取り、ファイル種別に応じて異なる検証を行うなどの設計が考えられます。 + +なお、オブジェクトキーに拡張子を指定したとしても、署名付きURLでは拡張子の偽装には対応できないため、厳密に制御するためには後続の処理で別途検証を行う[(後述)](####セキュリティの向上)必要があります。 + +### アップロード時に必要な情報は全てレスポンスで返却する + +これは署名付きURLを発行するAPIのレスポンス設計についての話です。 +レスポンスとして返却する項目は、署名付きURLのみではなく、ファイルアップロード時に指定するHTTPメソッドやHTTPヘッダも合わせて返却を行うのが良いでしょう。 + +```jsonc レスポンスJSONのイメージ +{ + "method":"PUT", + "url":"https://your-bucket-name.s3.ap-northeast-1.amazonaws.com/your-object-name.jpeg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=YOUR_ACCESS_KEY_ID%2F20240704%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Date=20240704T123456Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=abcdefghijklmnopqrstuvwxyz1234567890abcdef +", + "header":{ + "Host":[ + "your-bucket-name.s3.ap-northeast-1.amazonaws.com" + ], + "X-Amz-Server-Side-Encryption":[ + "AES256" + ], + "Content-Type":[ + "image/jpeg" + ] + // 省略... + } +} +``` + +クライアント側にはアップロード時に必要な情報をハードコードせず、APIのレスポンスを元にアップロード処理を動的に組み立てることで、クライアントとオブジェクトストレージを疎結合にすることができます。 +このようにしておくことで、例えば仕様変更によりアップロード時に指定すべきヘッダを追加する必要がある、オブジェクトストレージをS3からGoogle Cloud Storage(GCS)に変更する必要がある、といった場合でもクライアント側に手を加えずに対応することができます。 + +### テンポラリバケットを経由する + +署名付きURLによるファイルアップロードは、一時的なバケットを経由して、本バケットにアップロードを行う方式を推奨します。 + +具体的には、署名付きURLによるファイルアップロードは一時的なテンポラリバケットに対して行い、後続のファイルメタデータ登録のAPIの中で、テンポラリバケットから本バケットにファイルをコピーする設計が考えられます。 + +image.png + +テンポラリバケットを設ける理由としては2つあります。 + +#### セキュリティの向上 + +テンポラリバケットを経由することで、外部からのアップロードに対して本バケットへの直接アクセスを制限します。本バケットに直接アクセスする機会を減らすことで、データの漏洩や不正アクセスのリスクを低減できます。 + +また、テンポラリバケットに保存されたファイルを本バケットにコピーする前に、必要に応じてウイルススキャンやデータの検証、フィルタリングを行うことができます。この段階で問題が発見された場合、ファイルを本バケットにコピーせず弾くことで、不正なファイルが本バケットに登録されることを防ぎます。 + +拡張子の偽装などに備えファイルをバイナリレベルでチェックしたり、個人情報の観点からEXIFを除去したり、本登録前にさまざまな前処理を行うケースが考えられます。 + + +#### ゴミファイルが残らないようにする + +テンポラリバケットを設けず、直接本バケットにファイルアップロードを行う場合、次のようなケースにおいて不要なファイルが本バケットに残り続けます。 + +* 後続のファイルメタデータ登録APIでエラーが起きるなど、全ての処理が正常に完了しない状態で、ユーザが離脱した +* ファイルアップロード後に、ファイルの誤りに気づき、別のファイルが再度アップロードされた + +テンポラリバケットを設けることで、必要なファイルのみを本バケットに保持し、本バケットをクリーンに保つことができます。 +テンポラリバケットは、ライフサイクルポリシーを設定することで、一定期間が経過したファイルを自動的に削除するようにしておくと良いでしょう。 + + +### 署名付きURLを独自ドメインで運用する + +S3の署名付きURLはドメインにバケット名が含まれますが、セキュリティの観点から不用意にバケット名を露出させたくないというケースがあるかもしれません。他にもさまざまな理由で独自ドメインを利用したいケースが考えられます。 + +AWSのサービスを利用する場合は、CloudFrontをS3の前段に置き、CloudFrontの署名付きURLを利用することで、独自ドメインの署名付きURLを発行することができます。 + +ただし、CloudFrontの署名付きURLを利用する場合、S3の署名付きURLと異なり、`Content-Type`や`Content-Length`を制限することはできません。他にも、CloudFrontを経由することで追加のコストが発生するなど、メリット・デメリットを踏まえた上で慎重に検討すると良いでしょう。 + +CloudFrontの署名付きURLを利用したアップロードはあまり事例がオープンになっていないので、機会があれば手順を別途ブログ化したいと思います。 + +## おわりに + +署名付きURLを利用したファイルアップロード設計の勘所をいくつか紹介しました。 +他にも設計上のポイントがあればぜひ [@future_techblog](https://x.com/future_techblog) などでフィードバックいただけますと幸いです。 + +[^1]: API Gateway のペイロードサイズ上限は[10MB](https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html)、Lambdaのペイロードサイズ上限は[6MB(同期)](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#function-configuration-deployment-and-execution)となります。 +[^2]: これまでAPI Gatewayの統合タイムアウト29秒がネックになるケースが多くありましたが、[先日のアップデート](https://aws.amazon.com/jp/about-aws/whats-new/2024/06/amazon-api-gateway-integration-timeout-limit-29-seconds/)で緩和が可能になりました。 +[^3]: [S3経由でXSS!?不可思議なContent-Typeの値を利用する攻撃手法の新観点](https://blog.flatt.tech/entry/content_type) という記事では、不正な `Content-Type` の指定による攻撃手法が紹介されています。 + diff --git a/source/images/20240705a/image.png b/source/images/20240705a/image.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a10ff05dc1f0525e259f51b7ac671aa1d34629 GIT binary patch literal 24643 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 literal 0 HcmV?d00001 diff --git a/source/images/20240705a/image_2.png b/source/images/20240705a/image_2.png new file mode 100644 index 0000000000000000000000000000000000000000..faf5fc93901abdd0c6a2e2b1cca105b440d6fd73 GIT binary patch literal 33372 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 literal 0 HcmV?d00001 diff --git a/source/images/20240705a/thumbnail.png b/source/images/20240705a/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..8763de5e85a951267b74efe2d6b430c96ad91eef GIT binary patch literal 14933 zcmXwgcRbbY|G$+Tk`=N#NgSMzBr73AX0mryLRR)3Az9fgWRrCxdz@rVva*1XU47>5)jbfKEpv?(W-KepIUoSCrw$- z8f#r;*l82}%NnO{Zp;pE3x9%+0aZn0cq|x-BpHuGY6Uy>$|m(szQc_3H*tzKZR+Up z-_rVF)lGl6L_VB1vvKHox^n0mu|)O9{vi_q8DkvTS@s4N0oj8`LhOH|?pWREs&tc~*!9+%okN8y_h?J=FEB22lKNtql>5wu}#_BFb~sX3PPHqWwE zckQ0?#NQ&sY2Vi637!{vOhFeUm#xa!o~?Qp{+)a_U*d;^D;2nb=bh$~NjYyBH` z7#Y8#6ga5N_!4CiY%!fj9%4O{bU`bQ!lY=6B#nG^<1)HM>N#ZjIPyPM3c}A1F1?@8 z(L}VXLpC@DuR|C25cc`%wSYPp4g89|u&-E3Kx zC%)J0TIw8HNl_8rO=zZlO^PxHg3u4M6xL?U;=-5s{jDwwMRSwTNBI4Sku6F#tN$~0 zZoh>T+cl3XQL=ajctSu*jknR{;veQ+Li%s~;7`YF zuC1M+nJ*{^@p5u<$}1?s+T^oUkunlp>#Phy|a5BU~nnFR{l$pliXtQu|G%HnZ!WYk4tpOKcM=OcA5Q!9IVm(T2%Cbg)mz+Wd0l69rP{3(8k9vmFljFmpl zR>kHwq@y7Ygr#PS>gZuheV*kn!5Qnv>>(x|D}OsiE-wJHWX_jpEm){gc$<>w<9u_r z2vYQMxo2IV2h0Dt~&NT7DFVF^y7;9mE`f@w2>02y!11*d%>RT<=5|TJ*=%s(WpcPe0LkMba7$f0%eW> z$+@1M59*w~3-)deV)Wrw0`!`zMt96mbc@bPO96nq%d1Fk!DOk`ovn-ou9H@ z^KbdA%poC|qt4m?`ypIs*y_=vN8B`Fnn)&Q=BCq)x+fWts`&v;uEkh|r`r>?M-9}7D>yOotyj~V~_9QaX$Ny)*1KgbB)?b+`zUf8j| zdXMq(|N1B<3wmB0FTr885cpwS*3~6HRzh=|MK{2;bSv$**=zdn9J@sEphA_=kx_B(gl+uNUH^!4>o z$c8^w)mFb6?%c*=z+JY^@%urBa>AW!zS)~c+w&z22T4;lo9S)i73MLW29(N-5+&tagPa6)W3)7?plh6OeDA_dZk5~&P%V*ct)j0|4d3t(I<9)bL zWRH<0I?irv4JVl;$X4yt#f_38{<36_NgK8hV2XH}ug)aydhOIkZ}Nj+N!G$)ZO3Ah1EY}T z7B-)Pz;->yKPvg^B1|Q9O(^-V3p}|#&QbZ zq@wNllc<*Q9KBPl%mIhE+Ga{PlKoZ1ct%DBw@#I5#rVj`2<$UQ;j0nkSFgUAs;$h) z!T%Jlr>D2S4~IJ~Gw(MaLo1bDnw>4p6aV1B1K6%J zUZ?9!5d^8{nf=QKXKe-_!o%~2|Hj3|!66;Du7V$a{P=PG&U23iE(2D=%*IBh`=-?s zg@uJLIAdk95)%@zJjvCp@d*eJ*Ew&i-V)5>kmsOUjO8Q8&;_-uu~QJj$XDlds+)3a zU=n-ELB%FVDG(srjE!+?(9c&7HPVFDdQ&}xe>z=*B#>rP>EG7XReF!d9hmw9g^ZP- za$QQ*E~Ys_(1can&U_U6(qbqE6Aj$+jEu(|R3k$}K3<9K^TR_!TP`AzLkspbaEpHZ(*BHrE$LIQ zU>_SFkFK_`vH5xHzOc)a2l6`#?-5FY*{-Wi5-iG`vF1NhR5+;k64zP-Nw~SW*<*-C zqHAk~Q=b#mRoDrUo@!>R{+kb@t1VS{Ln6|LnHJ{3BQF-OwpC}T=Bx9>FNJ#zSq4hB zq*NKTCmixlM$j0{KFGnMO??>VOuvCGYA^RSpqV_LM=$9q0m;GZ<~!2E6?8$Ye60~8 z_bjJzbUqEC7Kw9Pqp<Y>iuM6b=K-t5UrZpwF-{G&D3bGh6>v$?`5GB?T`_ zux{!(g%o=XE1_hu21#J+^z?MGPBq*7mwI;PtYw9S;NJ>#;WANg73WN36@snNiQ&Dw zX%2T0#Mp;$KogFh+1|!u)j&`t&JbkVQT9B^pec(iOl(S=BuvMB>oPZOUW2Qz!5$MR z$tsXcORZ=`Cx}8tDzJ|hX$`{Hz(D5c>dRv7z#+O|a%K$1&q+ z!wv>|k@-@FRocQ6rbX@Zga}kG%kED}!})ai>^@rF8=tlC6=Yh3@|RtHpo(C(l3ByQ zK$phF(HzCM&%YTfH5x8>(fq@eh4A;mgl+H}!dh=0LOdLn9Y3Vmkw@e6+$Url9G~tKoMf4XK8oy+x$mz@iU5g8NU`5`vqV3 zGcR%7x!vOy!^lhyO$N3o!kz!Ha37!ou)1y)Q>qdA9nebX9Fa^bXcud+Q24m^QlAk; z^~(q`%JlNDr_BoPsi^Gs@vHk!*)Y@5eOpR%4^0}#xOykaeTS#jHX0G-PDnCiao4vh z4CdD2H{hWv>U@c$fs*hmhr*!1V+tH!7CO?_5H>2}w)wY=?bO6qKF+ro_O0#<3JP*k z5idFmFp_am5tnH)5(io&;SX167vuB4f_;J`3Y(cSWY0~s!%RN*rw9`-TxZ#s%mk~} zPk^FlRU$4wKfgPkcLt`C>-@vyUO%NR-43$~STjL13Qd!?Ggcn{v3-8dZp;v+Ya+TU zdl1L_b=zsy5cin@U*Z=I`NCoSEY0li9Hg4xQQL<7cqZR$xzq^_z?_(YGs;Q}+ z9&Tb5>=P9hwXL{BX+uR?_{!G<)E?kiQ(-IP9ey6C*N}~9-|f7U?xSeZFHG{rF&%iQY z8JOUkB*cnlrwq|V;^T9MJ)diPd9{V321sKtvsVYzM~81Rs95*qcPtb_t~-B3(h?bI zu8;+1H8iAVZ`U6w5Y9Inq9&b2^(IRV8DIxFb}^=ENo#41C*6OonaQuiWhBD1xw^{r z!X%!7KtR#GLI2~=HEhCF`x=?2Pqp9=u6>(3a}zbUa5RPo%Bs8umm?d<-D(frsaYeVTKVNhW zeL)!53e()?Q5Ta>sdjN(gM?-nCICfYZe|7yMq5XxWI~YW4MS~hEoI2}zr%&AtE*3C zWd6qtw5x4y<_($hX$diotT={9u~85vDCD?^ka>Cf`}^bgHd_n&zlHrM?tW0zZ=qY~ z{6;WYI!gNQ-@nb2pr=;%-I``LlLH4=>VXbY6HBX{;>CfuQ%V!jdik=wQ(6m$PpoX* zIy^kQ+vE}PlZ>xlH*{uBG&0aU?pRMsl{p;$bbyG+8(iV!V#G0~ zeEI5KtNUVmeNS%Qya`4|@&nrut4g7d!DyrEiK)K6Qt!))rjx>^Opd>O8Bd4Au=1o{jlWg>znm7 zqIJ%$Ke_pGedglL+t&e4q9il&3Jd+0Z<5rcAD?z(GrgC0tBQ}hP46Z8!0h}z+vp6o?d;{UAV)EcgrMSU0X}*ZhUvi zuGZcnHU$_S8ZTb>GW2B*x^8ou8NOIqU-w)}edo0uW}rJ<;rg1MzDPQk8Q~+1@yq_1 z{VcwG-1^n4+nVamPEH|GnTv~N9UjpN>@5P5>&_7o5hVsq`Upx;=zc6L!nY84Duu&d zO*7VlK-&t3t+M(FJz?ToRSL&+DpO@Eb2R@Ji|=kTzSn}3jjlJN)W5Ofcv7>Jrc-G( z{Icm}_}z@>;iH-3pZg;3r`54q;U!@|iXM!aNSny$-5OI>iA2b$41LwBYcB5GJfw9x zeLC)Eh?TF-X_wqlr&c)ZS8}zsbx*=*nuv)b(hrxB#kW%IWcikv#M{z0V5>5~0JxTl18EW(6GG;PLZhA3GIJZTlcF6jkqo)?9~2szGJ`G|I02Z8{v z?{67@C(R3`b((sJF@M2MdiJ@M^grB3O4+JJH*d+Qa!}#p_-=1+|NQy0>8!iy&lf%z zBswZ88T}S<;f_?1&vPra*F_H}W0q=k2*32DD_u2f5j6BV?#bsE!==YWGTT2K|M*-{(eq>_w}%7k0Y9r=uuCTpFgMKTtUMW8Gf5!OR@ovCfz}j@9>&idcoJ zE!rEY({*xj;iWv{5F_wRVw$t0@q}|wt5LZaGpCI;e+)-;?e40U77;7;b0NmXk6dfm zIi{$j&M?pDTrp|-rNE;o)YUsX2uxu4Wb5~=Yyy``@Vyk+_uWJpY`a3SAEaZLnV6to5NbHBHq>v*v>92`ni5Aj zI~5!h1n|&w+-qANg>l*L9l?^!C@m-;&Mc1IqSe;+k)+(?=rkQz-5(hpU3CbTyUfQ zcE;T4?(R`YhYz>4jl||qLeD^bU5`ctnK%$ryuD^K{Vro)v2%V zb#}B3DheZZT2x!>HdX8NJh!5vf}fErSs@2x+&}JwF8%tIr-OanQMkoQi7iUvXi@c* z}+v6%>o8}c1{5Hk4#?>f>p`@=3Bdn-Mfi0>?t0D-q6dxO_Lbb4a z9Nqb6d3pKIAMkmrwTnSbQW0On>mMJNQ=#J9_6<|br}B{JM8(5Is)3hlrJLX`MAY5_uK|P}(O&AKe8QdtlBQmjPdpMHp9%bA%QY7Cu>#0O*>s@jlybcXxBM z7Swt21XnH^Xrm#DMNc+=hn3jh8_WkVXSf+&i6Rhy=aKVu>f)FIoV%-c?%d(x;#vy% zq;|xB$n!EPXO$OBj_ow1<<%#}_wR_sdl=O`zswsN8A*EwyCxZV|DGlu zJqGL!>}M_B<9s?`c{4@i78Lw7OOw*NV*JksDjcr0!zR*}yn@pL=QTo2R%SsY+p!v`YyvY+|9KXZb{uESpz;kH)R9%^PU(@|lJO9to;wr-bM1&i*S zGnWH)_>%i(!@I;9zT@)?Sa35o6*6mcx#d;L#0n=ZY;f!lWjqYc*=OL5Sxp)n`N?DSxr zJ*Lw_Kyr;a=da&TX zS5Axl{m=Tw#>K^96M2+#i4Nk-RXOifqj7(D-?}T--+fcQ%e@M#6RmnCe*CO=WTWqq0%rZ4|mTuy_x-%dEBleIak359k&h&d)7#~<04W$A^Nfv zJW;0?M9DTOv8ecNSOpMt8Orbfa8YnnqL}``tGyzi;=fBlsIIP#lFg{ZE+#AN&@$YK9qjA?sU%j0 z@&ERa{0fm=$ZFyUx|4T%j#t+x=rCaAbA3JI4o}PCdYbzNSc3?;uR7H>;9QhxB4aw= zw;4wxHfvYEzL}_cp{}l=sCYZ369y9y>#gH6z@DRXub~@@Gp@DaZkqq?_8fNUG%n&K z5du&h?=EHaTj(R`Z2EPOEb}pCW%uHo9m1GR@ZDCnU79ma0sMR=K9`kU%gjK9Z~O9_ zl+mTI!hn}z15=cP>esq+G=f*Zo`Zr=m**v9R(LpQG+I7;2UG`V?BC`7Ec=@J>T2*l zg3xpP=0D#{Ws15VB=j!A_eg~6$)08P#JYXW!RCxDica5ie|Ud&)S%ww?O=}L=YxB6 zq*GH<3kwVSCE)b@?CF67NR2ACd*S!C3)qCA)Ld{-N51MYgv-EaCrZ?mjV297*XVA% zYdQsA_q=Yiu~3-ZxwU17qJs=Cp4VW+LI4cZSFc_<*WDcG^H(5gZT>$0){mu`g7%6d_N005A5 zS+$n!=}g=_dQyBC{H(g&d_vbHo4UKYba_UVymn$FShhNDMKB84&F(C86M+5x_P3Oh z5(Y@Z9d>q*U=7L~|AEmAGfzqE_z&EVkcWn}mkv(tFG2Ks}ZeyO9wU>Y}F z>$D2KG1wOguJH+r>Wq;C5jTEZ_oV-p_B@xB`T8VSX|+*Cr$+Z8+|~m(NS28>tDQ#PU`GlG*F5sL(3Rc|b4c)BiptV0BYdT05-LNJ zhv4XO^p<`^ECj~=%H>hSrJWFC$_)E6tO7DpQVH$gSJ&~GKPC5DP_@otsOJ;Wl`KkH zyfk4ov5{9(?!zK3V(>KK?;4@AC2tO}LGoCD4%KLx%Ja<5u-} zP(V$qX=v*1V;0QG#)eJY`yQI>i}nv8UT1CAwDQBX-e(Q$R(<#7dyCaix2go?tbWix z4w*PrQQZr$6?@mE$8mRxO7ioK@`wA)xOpl2|#4yUEt ziii0m}g_d0&{TnoeGQvh5|{PGwRA1==7!$KG<{{ocJr9J;% zyoA0ic1|TXJ+Wbxwt)dGL1NIXD_fc5;MNuGI0vi~C>THxAJh4t$QjYxD!zZq#>R#^ zXPf7*n#lN2ByTU>V9=w8pq@+x_W5m>=uX7o4uf?4)9Q?bNyZ92ZXX-{l0z7#-FHdF z5{|*d^<()aI-qM9}SrQ)wvH2F`2kD$l3R#Jgc>iHY~ z1^N?d;S<|M+aN8~BO|{bV=dfsDZK`^Dshy@Q4S2+KgZ=%FqyKPM zPY%q?q<5NXYil>Fk+Lm(H!cH&$q=p>U)$Sr6iz*G5rOoKTx6>mz*w0BW@e#Aadh{> z@=r~qAl&w)-RmLW;VP{U@i12s(*D@HLdG{O=vCHi{5dy5?Bu=L2!@;#4YBXZ{wh=? z&~uRa&bD~2joo94SlT^y-k2o%dzTaq$ihN_b#n~{{s$QoZ*OtbKRpR~DabdwW&uU; zKg4%BZc$0!r3wXOpRpZ1w*|50u@;CKL%NZvsr79anl!z=9GqWc{n;x_Y&@x;U%{w>P- z`XA?y;M223MRqU1EC)FTY5{x~_83b@2RltE(WU+UDx_#Zn@P==FU_kbdd(^%GXSD9 zlmR56e^RLpVKM7omNLf|OKtWTsMHi|gxSC5Eydh!E+bK}B(>*F%6Y*#tfnN|Hd4pS zB7ZoHE#?53=3(PugLFwf;+}}entjdeI~1K%6E>LK7XV!u8LV|vWTPOL6RIB{-6f3h z-k5yocvF?{A>+qZ=P8>9B(`d*VEO^-N&L8z=7K}>L)tcw`;{k(ju8~=>b^n?Zj#Np zmpJiW^n*%SM07pZ?Dc>3m9D3>B*|&*qhYS%n(iu8vF|X$JcNO~7Yia{;Ef~5rTDl% znK3SWy+#~3ZcU@A^CV9eJRMvdzv*WPO4%5!6?f?NDARF*hpmvxO+1X)MKeseggkcqXEe#FzU%Xv;3 zbnP*PAr-WB>==2IEN_0L%@&h7l`f{bDF?*y*(n|*F#zd4yU#?rQ$7$sl@U$_%U;3q zszYSM!LQe_y?xq@eFZc8O}<|+qnyD-wZ%*_-1$KudyKuAHo5$da1KE5XMm&<}f zl*FRYf)M%MRA-O7e7p!;XZh?vx%U<0MY4!;O{9Zpo-&7QG#|jmigBP$*~!}_Unp+D2`ov#oR%PYp4=@QncaN!ao1zHq=g3 z^L43bw-wmYx`nhP&C`+@c3}{(6B=2g&IG zG@nAG;$lK^L{_0(WXDpT&Ph-Cj!Ad@5pVJGnQ%2(@0`%|zyQQJP_kMbC#Y(1mTBPP zA?5hVEf;ObUS|Die>TM9?C32;i(b78%s)Q07Ans#%d2|Z{8Ya@dZ~ZA%{|PByJlZA z35f_>8AsLHYp}p!)u8ln=vJ^N8zGe>_DH_H$p-Kw}xvEt2i~_s=pP12HLchzT z-bHIcuJ~@Kh3N7`w9iuni9mDf#3)vtniLkN9y;YIOrrfy0N79&5qq$+tgYXJccUPEPk3bkf@1z4B`j78ASJ zLX-dVE0P7@XxG?ht8>Df^BJ}hbzFv57I)jr>t29H5E!$9bfit^>$VK^^wVCaZ^C69 zcK&p>W_p|IJ|u#OA~M_xFLeg4GXU zoX!5u^Lm|+S%gYu5^q#B5)zBT;{zoyP z;B_{R@yZ!onfAW)1XaH60;s-F^ULjcAs&Dr&FybKXbbGak4iCrIpMV@TlfmW5DAY_!>UTml3PDB{!KwyI-cd>$T5+s< zxB2z!*XauL2-WiD#@N)PJJhlVnv)xYDtKl|X9+tH;nat1j#+8eK@v^@UC;#M6 zXAH>6^I-2Ig3=V?U^GH5NA>PlK70$2f~Z3_`a_#BWr*olwuJgQDzL@A8{hkKJCj2m zNkf2x9XbDG;26L$rt^<|jR3u(06q0TuSI}@@KbDT23w`Jq6$?yCO8+GI7X1`!+Y&v ziS5!vXPVwkm*3G~%&Z^r1S6?o+2} zh!oC$`McG(FM)l;NCu{@qwu~P z;A4Q%b>hITt}aN)S-6W@3<(1zKPLrMvAp2N)73e<@7n*y&hQ!N)N_C4Gc4|E*v$5PdvbE}<8O|s6@0zC zj{1|CxA9~{ex{2zd7YoUx|#Xg&8vi0CBP^Fv$VRg0osU*q06mm=(C3y#6`FCG%`LX zqBDWOqFVI+e*7c^^$uwjq@n}lqkYe!5!^K0SL=d4k^Y}U7PqhOsD;(O4Lv4a{#Ol< zdIEcjPL7@;9jms5>a6Bp{ZB$*B{X`T#wC`EQ4za}q=DvMa96Hr!4Al_bo2122gm-( zJBo_T^Po&aMF>cyIJU2>;79ivu9TN$xaFb6vbqGTI%L1eAQr=CA@I zR+rK``vm7|I_9OGUauks>6=*5SYNM;pnUtq47WoIdOMFn2bEIdyd)(s4&3JtQ&#wImE|swBruz2J=?cg z-J9Q@RZZBKth_F-yqTJoX2#q8PG84P7oSR4jdmfsp3$Vo!jI!R3IEk+84eF>{ru!V z)Az-$mP!Mn!zm9UtC$+;{h*0F04ZHAWnQID_5Wk)?C4}#9>>|wdYWDJ1R{e`HLehM z$bb)%QbQ?;B`xcQ2F%XM0pC!+grNAQ;vjGa2rh=LG-hsw`~*h=_-qDdveT{~+YyKm z45h1AuXeMm@kX@QIj#)AVE!I08$V9-xvA-L4_U8o%M<^^H@pAu9&`{SRLsqnzJJHl zh57|u5TNk2dc%odzl4Q_LD^AX^4ub7`DS&74o^ZvWjC40RnXDd5fn9~`W@jWFIuLVSOrkB5hcn4TU8B!0)~ z*xX=XIEBeRTC8J^qO(X!OG!~L9HzkjHNTxA;!4Sv4Vg6xl?Y9W!|+)-E$K?w&QESoty=;H*Uji6!&^3*@MVJ+{yO{q>C@VnzqrEdZI zYuI_(8XEY||8}FpaK1rL1cU{-NYo0>XO5SFk1LN};yPkMAKzC3>MC*Z@rA>GA+v^k z|KbI>|4<(WvGwK+x8fjRA3{!;@#B+Vvd6O@08nKSFr}d@umJ!GUdoRjGJY(;v$_}f z=)*xK6>I1eYgCL|^Cc4cxh!V{vlK*2v5kLwYXUJ$zr|#ur#r+gnn(z3yqcQo>r)by z-d*!Oq8Or_vpb4?sXs>sXH)vqOpU`Gyf4~&?3y1Qxq&Z&TiD|*9$+2PW*k|DS6}6$ zvXtcHQw{ZJ1@>-JzCXwx?d{dp<2Yr55F?pHh~krpF$h|3ot{IdtNm?O|JcC50Mx>M z{enE|jo`#T%Z~8-kNIt=4l;Y6y%kzn**^ir496*2{|MVoIMu4s?fhh)g%)0L#gX0^ zoX2 z4^w~Q5|CL>ev8WFfa;tIv@nBFR{v`!CFR@=Wg}$6EYN-$d_y}8PK!BTyc{kjr_ zFXE>a;`2g~FmFR;1z5|u_erj|u|K&Mkw3X$I8%hVqa&mMl0J}%S)l0PAroN11mAn^ z`IWzKjy5FsJl6D`VGOykj6IIaAV&9juN>~By>Z#xhIJ*^oAzZHN$Z3lLZ$3YgC|)KOwPx@Al3lg0lBx zN%Po|E7ov_GV}9?Eu6DD45UG?Ozz=|R!yt}1JbRuqE>tKQo!oGQs6&L%+D9pYD+u` zZTn?yT%;H2qv%+!mwpT9z&HUvAJ|U!$Y8ONVUeOaLWRMyOno<918H0&0~CMs%=vi) zQA(7_ufI%F54QFW-bk2&j1Y7`)HAB-%JIGwk>lZ*Rk$YJU7c~?6zxm)N8yI21>%08 zUnV%al6bWi$1rEdu*-TUO`4iUBl)Fz9yP~Fd7#|0oeLUnV`A-ukf$`60}`p&1t;eh zqx$aQ*%ibDW`0>f5B+b?U$64Jl*v+2cHVWVhcZgVIO!7erwX^X3=OW4<}}H&2sqTz z(pR3oi1Q)41Q$Cy)^0o1&3BN;pwZ*+(A_}E?I~c}dnIxm3=~JED>oc z$tmM2F>7A~yK7<{e^pWT{5~HaJf{PP4xV61NP~v2g+P)l0(^A@rJT9Bxt5lefq{Ww za^<)+%Na0A4lXY61)+ZlgojG{AtPDtVCVd{@S{gS@WJN==8&(JE5+6ixdN`Q1b8C0 zwhs~&g2`_BF+iQl*0uyZYMCrB)gdAnR1&|R+?(!olCPT22$duuMyLjW(QDTPn#FbJ zi!w*Ot>FSjdGp&zxc4Gy;6ICr@x;nQ<_wJw;QaryQ!=CR_(^{RxKMEA zZzk3zOG3fJ>Gn`bW3 zs#t_h4Uk&6I}A5(Dk3O>$-l9%INC4qo*Ed~fo^GheEd5{#{kI;7ZI=D--*K72B5h9 z^5y8rNKU_no4dP1jV|OTfs(|5nbpqN17n|ylk@lXH|^q}dI9#ByHT>xSyShPM`2jG%iuW|_88C- ztNYqW8k8Td9tV^Lk3D3v-a0xC8J9u2wd`2CvSLY5eXzf;RXlQjdI){+e?8OkE3nG( z-IefpfCMvNYz4D~^jiopd+w>g&Op*k)V;F>5d(r5el>XUqU|25JJy>DT^<6457N2( zIuk0ngRbD{Wvd=<)NNjLrk{1fNxKVAdeQjmdgDFzvB1v071X4Vh{plqOkm)~Zy~bI zZHZR|zi`YPVJpuao(@|%3D94ef&dj{1sy4*x-eJ5+W79@hn5rcPZ5+r<)P;F;zf8w z1cX7kgGBV*${gw{D))qhzF7?yKz{(b7cQZgB?AA)aO0<@8jR3EB(yw01fWVLYd+^F z41EoEcXtSHC*Z5EZ`M&5NRcMexo!%YuYkO-M~YT9H%kiPkrQ30mkvn7)KBh(de^J! z2{809OSn(`ECk>YlH8n}4>I#TJ){XYe2gSebnuR0&7j8Zb~G2f`=yVOh6ME=m?jZ7 zA00r{zhvE)$i0$>o};6qJNh-+C@3TZf5+@~Ixzzv6E;CXKv-u7eL!1?4;ZhPyGD67=Xr?_!p#}f<_#X1b&v8ck+0yTZ zs|qgCgXUzTgdcy75{&x(gowizP3ixr%K`rHY(gY%@NN9|07fC?z5jdua{KZM7S`pZ Z-kTrg3P0TB;c-zcIqBz8UnLFw{vTz>`(Xe8 literal 0 HcmV?d00001