From 1cf772ac4a2bb7862066d5e8506bbfc97cf29462 Mon Sep 17 00:00:00 2001 From: stzn Date: Sat, 3 Jun 2023 12:15:03 +0900 Subject: [PATCH 01/19] =?UTF-8?q?[Macro]=E3=83=9E=E3=82=AF=E3=83=AD?= =?UTF-8?q?=E3=81=AE=E3=83=81=E3=83=A3=E3=83=97=E3=82=BF=E3=83=BC=E3=81=AE?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Style.md | 12 +- assets/macro-ast-input@2x.png | Bin 0 -> 21115 bytes assets/macro-ast-input~dark@2x.png | Bin 0 -> 20917 bytes assets/macro-ast-original@2x.png | Bin 0 -> 38535 bytes assets/macro-ast-original~dark@2x.png | Bin 0 -> 38318 bytes assets/macro-ast-output@2x.png | Bin 0 -> 6271 bytes assets/macro-ast-output~dark@2x.png | Bin 0 -> 6167 bytes assets/macro-ast-result@2x.png | Bin 0 -> 21478 bytes assets/macro-ast-result~dark@2x.png | Bin 0 -> 21314 bytes assets/macro-expansion-full@2x.png | Bin 0 -> 43415 bytes assets/macro-expansion-full~dark@2x.png | Bin 0 -> 42003 bytes assets/macro-expansion@2x.png | Bin 0 -> 21947 bytes assets/macro-expansion~dark@2x.png | Bin 0 -> 20836 bytes language-guide/macros.md | 313 ++++++++++++++++++++++++ language-reference/attributes.md | 26 ++ 15 files changed, 350 insertions(+), 1 deletion(-) create mode 100644 assets/macro-ast-input@2x.png create mode 100644 assets/macro-ast-input~dark@2x.png create mode 100644 assets/macro-ast-original@2x.png create mode 100644 assets/macro-ast-original~dark@2x.png create mode 100644 assets/macro-ast-output@2x.png create mode 100644 assets/macro-ast-output~dark@2x.png create mode 100644 assets/macro-ast-result@2x.png create mode 100644 assets/macro-ast-result~dark@2x.png create mode 100644 assets/macro-expansion-full@2x.png create mode 100644 assets/macro-expansion-full~dark@2x.png create mode 100644 assets/macro-expansion@2x.png create mode 100644 assets/macro-expansion~dark@2x.png create mode 100644 language-guide/macros.md diff --git a/Style.md b/Style.md index 08bff3a9..45e037ad 100644 --- a/Style.md +++ b/Style.md @@ -30,9 +30,14 @@ TSPL は 3 つの主なパートに加えて、補完的な機能を提供する # 用語とルール +## 属性名 + +ガイドでは、属性名の前に `@` を書きます。 +リファレンスでは、省略します。 + ## back deploy -2 つの単語でつづり、1 単語にしたり、ハイフンを付けない。 +2 つの単語でつづり、1 単語にしたり、ハイフンを付けません。 ## コンパイラ @@ -52,6 +57,11 @@ TSPL は 3 つの主なパートに加えて、補完的な機能を提供する "member-wise"のようにハイフンをつけないでください。 +## マクロ名 + +ガイドでは付属マクロ(attached macros)を指す場合は名前の前に `@` を、自立式マクロ(freestanding macros)を指す場合は名前の前に `#` を記述します。 +リファレンスでは、省略します。 + ## メソッド 「関数」の項目を見てください。 diff --git a/assets/macro-ast-input@2x.png b/assets/macro-ast-input@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b2fed9f467773947454be146458c1f23c5b289d2 GIT binary patch literal 21115 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 literal 0 HcmV?d00001 diff --git a/assets/macro-ast-input~dark@2x.png b/assets/macro-ast-input~dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6291b40cab5ca60cc2a1b89fe8fa64207f05ea33 GIT binary patch literal 20917 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 LFl%VJi3j#?Pf<6R literal 0 HcmV?d00001 diff --git a/assets/macro-ast-output@2x.png b/assets/macro-ast-output@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6785a2c64d697be340c13b6f4e8f84a24b64f327 GIT binary patch literal 6271 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 AQvd(} literal 0 HcmV?d00001 diff --git a/assets/macro-ast-result@2x.png b/assets/macro-ast-result@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..877f327c1ecf54bc8a6717e35073515e692ba9c5 GIT binary patch literal 21478 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 D#_V!{ literal 0 HcmV?d00001 diff --git a/assets/macro-ast-result~dark@2x.png b/assets/macro-ast-result~dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1944f17c10d85aadf0d8448e342dee75189044 GIT binary patch literal 21314 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 literal 0 HcmV?d00001 diff --git a/assets/macro-expansion-full@2x.png b/assets/macro-expansion-full@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e25ca2aab19798be552d0df6b00b5b5e9657ee20 GIT binary patch literal 43415 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 DW(sYz literal 0 HcmV?d00001 diff --git a/assets/macro-expansion~dark@2x.png b/assets/macro-expansion~dark@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cd26ac7cedb4d491b22dbb170fed629bd6d68b53 GIT binary patch literal 20836 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 literal 0 HcmV?d00001 diff --git a/language-guide/macros.md b/language-guide/macros.md new file mode 100644 index 00000000..4b281d0b --- /dev/null +++ b/language-guide/macros.md @@ -0,0 +1,313 @@ +# マクロ\(Macros\) + +最終更新日: 2023/6/3 +原文: XXX + +繰り返しコードを生成するために、コンパイル時にコードを変換します。 + +マクロは、ソースコードのコンパイル時にコードを変換し、あなたが繰り返し同じコードを手で書く手間を省いてくれます。コンパイルの間、Swift は、通常通りのコードの構築をする前にマクロを展開します。 + +![マクロ展開の概要を示す図。左側は、Swiftのコードを様式化したもの。右は、マクロによって数行が追加された同じコード。](../assets/macro-expansion%402x.png) + +マクロを展開することは、常に加算操作です。つまり、マクロは新しいコードを追加しますが、既存のコードを削除したり修正したりすることはありません。 + +マクロへの入力とマクロ展開の出力の両方が、構文的に有効な Swift コードであることを確認するためにチェックされます。同様に、マクロに渡す値とマクロによって生成されるコードの値は、それらが正しい型であるかを確認するためにチェックされます。さらに、マクロの実装がそのマクロを展開するときにエラーが発生した場合、コンパイラはこれをコンパイルエラーとして扱います。これらの保証により、マクロを使用するコードの推論が容易になり、マクロの使い方が間違っている、マクロの実装にバグがある、などの問題を特定しやすくなります。 + +Swift には 2 種類のマクロがあります: + +- *自立型マクロ*は、宣言に添付されることなく、それ自体独立して表示されます +- *付属型マクロ*は、それが添付されている宣言を変更します + +付属型マクロと自立型マクロの呼び出し方は若干異なりますが、どちらもマクロ展開のための同じモデルに従っており、同じ手法で両方を実装します。以下のセクションでは、この 2 種類のマクロについてより詳しく説明します。 + +## 自立型マクロ + +自立型マクロを呼び出すには、その名前の前に数字記号(`#`)を書き、その名前の後の括弧内にマクロの引数を書きます。たとえば、次のようになります: + +```swift +let currentFunctionName = #function +#warning("何かが間違っています") +``` +最初の行で、`#function` は Swift 標準ライブラリから `function` マクロを呼び出します。このコードをコンパイルするとき、Swift は、`#function` を現在の関数の名前に置き換えるマクロの実装を呼び出します。2 行目では、`#warning` は、カスタムコンパイル時の警告を生成するために標準ライブラリから別のマクロを呼び出します。 + +自立型マクロは、`#function` のように値を生成したり、または `#warning` のようにコンパイル時にアクションを実行できます。 + +## 付属型マクロ + +付属型マクロを呼び出すには、名前の前にアットマーク(`@`)を書き、名前の後の括弧の中にマクロの引数を書きます。 + +付属型マクロは、それが添付されている宣言を変更します。例えば、新しいメソッドを定義したり、プロトコルに準拠するコードを追加したりします。 + +例えば、マクロを使用しない次のようなコードを考えてみましょう: + +```swift +struct SundaeToppings: OptionSet { + let rawValue: Int + static let nuts = SundaeToppings(rawValue: 1 << 0) + static let cherry = SundaeToppings(rawValue: 1 << 1) + static let fudge = SundaeToppings(rawValue: 1 << 2) +} +``` + +このコードでは、`SundaeToppings` オプションセットの各オプションに、イニシャライザの呼び出しが含まれており、これは繰り返し手で書かなければなりません。そのため、新しいオプションを追加するときに、行末に間違った数字を入力するなどのミスを犯しやすいでしょう。 + +ここでは、このコードの代わりにマクロを使用したバージョンを紹介します: + +```swift +@OptionSet +struct SundaeToppings { + private enum Options: Int { + case nuts + case cherry + case fudge + } +} +``` + +このバージョンの `SundaeToppings` は Swift 標準ライブラリから `@OptionSet` マクロを呼び出します。このマクロは private な `enum` の `case` のリストを読み、各選択肢に対する定数のリストを生成し、`OptionSet` プロトコルへの準拠を追加します。 + +比較のために、`@OptionSet` マクロの展開版がどのようなものであるかを示します。あなたはこのコードを書きませんし、マクロの展開を表示するように Swift に特別に依頼した場合にのみ、それを見ることになります。 + +```swift +struct SundaeToppings { + private enum Options: Int { + case nuts + case cherry + case fudge + } + + typealias RawValue = Int + var rawValue: RawValue + init() { self.rawValue = 0 } + init(rawValue: RawValue) { self.rawValue = rawValue } + static let nuts: Self = Self(rawValue: 1 << Options.nuts.rawValue) + static let cherry: Self = Self(rawValue: 1 << Options.cherry.rawValue) + static let fudge: Self = Self(rawValue: 1 << Options.fudge.rawValue) +} +extension SundaeToppings: OptionSet { } +``` + +private な `enum` 以降のコードはすべて `@OptionSet` マクロからきています。マクロを使ってすべての静的変数を生成する `SundaeToppings` のバージョンは、先ほどの手動でコード化したバージョンよりも読みやすく、保守もしやすくなっています。 + +## マクロ宣言 + +ほとんどの Swift のコードでは、関数や型のようなシンボルを実装し、別の宣言はありません。しかし、マクロの場合、宣言と実装は別々です。マクロの実装には、Swift のコードを生成してマクロを展開するコードとその宣言、マクロの名前とマクロが受け取るパラメータ、マクロが使用できる場所、生成されるコードの種類、が含まれます。 +マクロの宣言は、`macro` キーワードで導入します。例えば、前の例で使用した `@OptionSet` マクロの宣言の一部を以下に示します: + +```swift +public macro OptionSet() =。 + #externalMacro(module: "SwiftMacros", type: "OptionSetMacro") +``` + +最初の行は、マクロの名前である `OptionSet` と、受け取る引数(このケースではなし)を指定します。2 行目は、マクロの実装がどこにあるかを Swift に伝えるために、Swift 標準ライブラリから `#externalMacro(module:type:)` マクロを使用します。この場合、`SwiftMacros` モジュールは、`@OptionSet` マクロを実装する `OptionSetMacro` という名前の型を含んでいます。 +`OptionSet` は付属型マクロなので、その名前は構造体やクラスの名前のように、大文字始まりのキャメルケースを使用します。自立型マクロは、変数や関数の名前と同じように、小文字始まりのキャメルケースを使用します。 + +> NOTE: マクロは常に `public` として宣言します。マクロを宣言するコードは、そのマクロを使用するコードとは別のモジュールにあるため、public ではないマクロを適用できる場所はありません。 + +マクロ宣言は、マクロの役割(マクロが呼び出されるソースコード内の場所、マクロが生成できるコードの種類)を定義します。すべてのマクロには 1 つ以上の役割があり、マクロ宣言の冒頭で属性の一部として記述します。以下は、`@OptionSet` の宣言の一部で、その役割の属性を含みます: + +```swift +@attached(member) +@attached(conformance) +public macro OptionSet() = + #externalMacro(module: "SwiftMacros", type: "OptionSetMacro") +``` + +`attached` 属性は、この宣言で 2 回、各マクロの役割のために 1 回ずつ、現れます。最初の使用である `@attached(member)` は、マクロがそれを適用する型に新しいメンバーを追加することを示します。`OptionSet` マクロは、`OptionSet` プロトコルで必要な `init(rawValue:)` イニシャライザと、いくつかの追加メンバを追加します。2 つ目の使い方である `@attached(conformance)` は、`@OptionSet` が 1 つまたは複数のプロトコルへの準拠を追加することを示します。`OptionSet` マクロは、マクロを適用した型を展開し、`OptionSet` プロトコルへの準拠を追加します。 +自立型マクロの場合、`@freestanding` 属性を記述してその役割を指定します: + +```swift +@freestanding(expression) +public macro line() -> T = + /* ... マクロ実装の場所... */ +``` + +上記の `#line` マクロは、`expression` の役割を担っています。式マクロは、値を生成したり、警告を生成するようなコンパイル時のアクションを実行します。 +マクロの役割に加えて、マクロの宣言は、マクロが生成するシンボルの名前に関する情報を提供します。マクロ宣言で名前のリストを提供すると、その名前を使用する宣言だけが生成されることが保証され、生成されたコードの理解やデバッグに役立ちます。以下は、`@OptionSet` の完全な宣言です: + +```swift +@attached(member, names: named(RawValue), named(rawValue), + named(`init`), arbitrary) +@attached(conformance) +public macro OptionSet() = + #externalMacro(module: "SwiftMacros", type: "OptionSetMacro") +``` + +上記の宣言では、`@attached(member)` マクロは、`@OptionSet` マクロが生成する各シンボルの `named:` ラベルの後に引数を含んでいます。マクロは、`RawValue`、`rawValue`、`init` という名前のシンボルに対する宣言を追加します --- これらの名前は前もってわかっているので、マクロ宣言はそれらを明示的にリストアップします。 +また、マクロ宣言には名前のリストの後に `arbitrary` が含まれており、これは、マクロを使用するまで名前がわからない宣言をマクロで生成できるようにします。この場合、private な `Options` の `enum` の各 `case` に対して、`@OptionSet` は同じ名前を持つそれぞれの case に対応する宣言を生成します。 +マクロの役割の全リストを含む詳細については、[Attributes]を参照してください。 + +## マクロ展開 + +多くの Swift のコードで、マクロを使用する Swift のコードを構築する一環として、コンパイラとマクロの実装は、マクロを展開するためにそのコードを前後に渡します。 + +マクロは以下のように展開されます: + +1. コンパイラは、コードを読み、構文のメモリ内表現を作成する +2. コンパイラは、メモリ内表現の一部をマクロの実装に送信し、マクロの実装はマクロを展開する +3. コンパイラは、マクロの呼び出しを展開した形に置き換える +4. コンパイラは、展開されたソースコードを使用してコンパイルを続行する + +これらのステップにより、以下のようにコードが変換されます: + +![マクロを展開する4つのステップを示す図。入力はSwiftのソースコードです。これがツリーとなり、コードの構造を表す。マクロの実装は、ツリーにノードを追加します。その結果、コードが追加されたSwiftソースができあがります。](../assets/macro-expansion-full%402x.png) + +具体的な手順を説明するために、次のように考えてみます: + +```swift +let magicNumber = #fourCharacterCode("ABCD") +``` + +`fourCharacterCode` マクロは、4 文字の文字列を受け取り、その文字列の ASCII 値を足し合わせた符号なし 32 ビット整数を返します。ファイルフォーマットによっては、コンパクトな一方でデータをデバッガで読めるという理由から、データを識別するためにこのような整数を使用することがあります。以下の doc:Macros#Implementing-Macros のセクションで、このマクロを実装する方法を示します。 + +上記のコードでマクロを展開するために、コンパイラは Swift ファイルを読み、抽象構文木、または AST として知られているそのコードのメモリ内表現を作成します。AST は、コードの意味と構造を明確にし、コンパイラやマクロの実装のように、その構造とやり取りするコードを簡単に書けるようにします。上のコードの AST を、余分な部分を省いて少し簡略化して表現すると、次のようになります: + +![定数をルート要素とするツリー図。定数は、名前、マジックナンバー、値があります。定数の値は、マクロの呼び出しです。マクロの呼び出しは、fourCharacterCodeという名前、および引数を持ちます。引数は、文字列リテラルABCDです。](../assets/macro-ast-original%402x.png) + +上の図は、このコードの構造が、メモリ上でどう表現されるかを示しています。AST の各要素は、ソースコードの意味の一部に対応しています。「定数宣言 AST」要素には、その下に 2 つの子要素があり、定数宣言の 2 つの部分、つまり名前と値を表しています。「マクロ呼び出し」要素には、マクロの名前とマクロに渡される引数のリストを表す子要素があります。この AST を構築する一部として、コンパイラは、ソースコードが有効な Swift であることをチェックします。たとえば、`#fourCharacterCode` は、文字列でなければならない単一の引数を取ります。もし、整数の引数を渡そうとしたり、文字列リテラルの最後に引用符(`"`)を忘れたりすると、プロセスのこの時点でエラーが発生します。 + +コンパイラは、コードの中でマクロを呼び出す場所を見つけ、そのマクロを実装した外部バイナリをロードします。マクロを呼び出すたびに、コンパイラは AST の一部をそのマクロの実装に渡します。以下は、その部分的な AST の表現です: + +![マクロコールをルート要素とするツリー図。マクロの呼び出しは、fourCharacterCodeという名前、および引数を持っています。引数は、文字列リテラル「ABCD」です。](../assets/macro-ast-input%402x.png) + +`fourCharacterCode` マクロの実装は、マクロを展開する際に、この部分的な AST を入力として読み込みます。マクロの実装は、入力として受け取った部分的な AST に対してのみ動作します。つまり、マクロは、その前後のコードに関係なく、常に同じ方法で展開されます。この制限は、マクロの展開を理解しやすくするのに役立ち、Swift が変更されていないマクロの展開を避けることができるので、あなたのコードをより速く構築するのに役立ちます。 + +Swift は、マクロを実装するコードを制限することによって、マクロの作者が誤って他の入力を読み取れないようにできます: + +- マクロの実装に渡される AST は、マクロを表す AST 要素のみを含み、その前後に来るコードは一切含まれない +- マクロ実装に渡される AST は、マクロを表す AST 要素のみを含み、その前後のコードは一切含まれない。マクロ実装は、ファイルシステムやネットワークにアクセスできないサンドボックス環境で実行される + +これらの安全策に加えて、マクロの作者は、責任を持ってマクロの入力以外のものを読んだり変更しないようにします。たとえば、マクロの展開が現在の時刻に依存することはありません。 + +`fourCharacterCode` の実装は、展開されたコードを含む新しい AST を生成します。そのコードがコンパイラに返すものは以下の通りです: + +![シングルノードが整数リテラル1145258561であるツリー図](../assets/macro-ast-output%402x.png) + +コンパイラはこの展開を受け取ると、マクロの呼び出しを含む AST 要素を、マクロの展開を含む要素に置き換えます。マクロの展開の後、コンパイラはプログラムがまだ構文的に有効な Swift であり、すべての型が正しいことを確認するために再度チェックします。それにより、通常通りコンパイルできる最終的な AST が生成されます: + +![定数をルート要素とするツリー図。定数には、名前、マジックナンバー、値を持ちます。定数の値は、整数リテラル1145258561です。](../assets/macro-ast-result%402x.png) + +この AST は、次のような Swift のコードに対応します: + +```swift +let magicNumber = 1145258561 +``` + +この例では、入力ソースコードには 1 つのマクロしかありませんが、実際のプログラムでは、同じマクロの複数のインスタンスと異なるマクロへの複数の呼び出しがあるかもしれません。コンパイラは、マクロを 1 つずつ展開します。 + +あるマクロが別のマクロの中にある場合、外側のマクロが最初に展開されます。これにより、展開される前に、外側のマクロが内側のマクロを変更することができます。 + +## マクロの実装 + +マクロを実装するためには、2 つの部品を作ります: マクロを展開する型と、マクロを API として公開するためにマクロを宣言するライブラリです。これらの部品は、マクロとそのクライアントを一緒に開発している場合でも、マクロの実装はマクロのクライアントを構築する一部として実行されるので、マクロを使用するコードとは別に構築されます。 + +Swift パッケージマネージャを使用して新しいマクロを作成するには、`swift package init --type macro` これを実行すると、マクロの実装と宣言のためのテンプレートを含むいくつかのファイルが作成されます。 + +既存のプロジェクトにマクロを追加するには、マクロの実装のためのターゲットとマクロライブラリのためのターゲットを追加します。例えば、以下のようなものを `Package.swift` ファイルに追加し、プロジェクトに合わせて名前を変更します: + +```swift +targets: [ + // ソース変換を行うマクロの実装 + .macro( + name: "MyProjectMacros", + dependencies: [ + .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), + .product(name: "SwiftCompilerPlugin", package: "swift-syntax") + ] + ), + + // APIの一部としてマクロを公開するライブラリ + .target(name: "MyProject", dependencies: ["MyProjectMacros"]), +] +``` + +上記のコードでは、2 つのターゲットを定義しています: `MyProjectMacros` はマクロの実装を含み、`MyProject` はそれらのマクロを利用できるようにします。 + +マクロの実装は、抽象構文木(AST)を使用して、構造化された方法で Swift コードと対話するために `SwiftSyntax` モジュールを使用します。Swift パッケージマネージャで新しいマクロパッケージを作成した場合、生成された `Package.swift` ファイルは、自動的に `SwiftSyntax` への依存関係を含みます。既存のプロジェクトにマクロを追加する場合は、`Package.swift` ファイルに `SwiftSyntax` への依存関係を追加してください: + +```swift +dependencies: [ + .package(url: "https://github.com/apple/swift-syntax.git", from: "some-tag"), +], +``` + +上記のコードの `some-tag` プレースホルダを、使用したい `SwiftSyntax` のバージョンの Git タグで置き換えてください。 + +マクロの役割に応じて、マクロの実装が準拠するべき `SwiftSystem` にある対応するプロトコルがあります。例えば、前のセクションの `#fourCharacterCode` を考えてみましょう。そのマクロを実装した構造体がこちらです: + +```swift +public struct FourCharacterCode: ExpressionMacro { + public static func expansion( + of node: some FreestandingMacroExpansionSyntax, + in context: some MacroExpansionContext + ) throws -> ExprSyntax { + guard let argument = node.argumentList.first?.expression, + let segments = argument.as(StringLiteralExprSyntax.self)?.segments, + segments.count == 1, + case .stringSegment(let literalSegment)? = segments.first + else { + throw CustomError.message("Need a static string") + } + + let string = literalSegment.content.text + guard let result = fourCharacterCode(for: string) else { + throw CustomError.message("Invalid four-character code") + } + + return "\(raw: result)" + } +} + +private func fourCharacterCode(for characters: String) -> UInt32? { + guard characters.count == 4 else { return nil } + + var result: UInt32 = 0 + for character in characters { + result = result << 8 + guard let asciiValue = character.asciiValue else { return nil } + result += UInt32(asciiValue) + } + return result.bigEndian +} +enum CustomError: Error { case message(String) } +``` + +`#fourCharacterCode` マクロは、式を生成する自立式マクロなので、これを実装した `FourCharacterCode` 型は、 `ExpressionMacro` プロトコルに準拠します。`ExpressionMacro` プロトコルの要件は 1 つで、AST を展開する `expansion(of:in:)` メソッドです。マクロの役割とそれに対応する `SwiftSystem` プロトコルのリストについては、[Attributes]の[Attributes attached]と [Attributes:freestanding]() を参照してください。 + +`#fourCharacterCode` マクロを展開するために、Swift はこのマクロを使用するコードの AST を、マクロの実装を含むライブラリに送信します。ライブラリの中で、Swift はメソッドの引数として AST とコンテキストを渡して `FourCharacterCode.expansion(of:in:)` を呼び出します。`expansion(of:in:)` の実装は、`#fourCharacterCode` に引数として渡された文字列を見つけ、対応する整数リテラルの値を計算します。 + +上記の例では、最初の `guard` ブロックが AST から文字列リテラルを取り出し、その AST 要素を `literalSegment` に代入しています。2 番目の `guard` ブロックは、private な `FourCharacterCode(for:)` 関数を呼び出します。これらのブロックはいずれも、マクロの使い方が間違っているとエラーを発生させます(エラーメッセージは、不正な呼び出し先でのコンパイラエラーになります)。例えば、マクロを `#fourCharacterCode("AB" + "CD")` として呼び出そうとすると、コンパイラは「静的な文字列が必要です(Need a static string)」というエラーを表示します。 + +`expansion(of:in:)` メソッドは、AST で式を表す `SwiftSyntax` からの型である `ExprSyntax` のインスタンスを返します。この型は、`StringLiteralConvertible` プロトコルに準拠しているので、マクロの実装は、その結果を作成するために、軽量な構文として文字列リテラルを使用します。マクロの実装から返す `SwiftSyntax` の型はすべて、 `StringLiteralConvertible` に準拠しているので、あらゆる種類のマクロを実装するときにこのアプローチを使用することができます。 + +## マクロの開発とデバッグ + +マクロは、テストを使った開発に適しています。これは、マクロは、外部の状態に依存することなく、また外部の状態に変更を加えることなく、ある AST から別の AST に変換するからです。また、文字列リテラルから構文ノードを作成することができるので、ユニットテストの入力設定を簡略化することができます。また、AST の `description` プロパティを読み込んで、期待値と比較するための文字列を取得することも可能です。例えば、前のセクションで紹介した `#fourCharacterCode` マクロのテストは以下のとおりです: + +```swift +let source: SourceFileSyntax = + """ + let abcd = #fourCharacterCode("ABCD") + """ + +let file = BasicMacroExpansionContext.KnownSourceFile( + moduleName: "MyModule", + fullFilePath: "test.swift" +) + +let context = BasicMacroExpansionContext(sourceFiles: [source: file]) + +let transformedSF = source.expand( + macros:["fourCharacterCode": FourCC.self], + in: context +) + +let expectedDescription = + """ + let abcd = 1145258561 + """ + +precondition(transformedSF.description == expectedDescription) +``` + +上記の例では、`precondition` を使ってマクロをテストしていますが、代わりにテストフレームワークを使うこともできます。 \ No newline at end of file diff --git a/language-reference/attributes.md b/language-reference/attributes.md index 2d071dde..cd84cbbe 100644 --- a/language-reference/attributes.md +++ b/language-reference/attributes.md @@ -17,6 +17,28 @@ Swift には、宣言に適用される属性と型に適用される属性の 2 宣言属性は宣言にのみ適用できます。 +### attached + +マクロ宣言に `attached` 属性を適用します。この属性の引数は、マクロの役割を示します。複数の役割を持つマクロの場合、各役割に対して 1 回ずつ、`attached` マクロを複数回適用します。 + +この属性の最初の引数は、マクロの役割を示します: + +- ピアマクロ(Peer macros): この属性の第 1 引数に `peer` を書く。このマクロを実装する型は、`PeerMacro` プロトコルに準拠する。これらのマクロは、マクロが添付されている宣言と同じスコープで新しい宣言を生成する。例えば、構造体のメソッドにピアマクロを適用すると、その構造体に追加のメソッドとプロパティを定義することができる +- メンバマクロ(Member macro): この属性の最初の引数として `member` を記述する。このマクロを実装する型は、`MemberMacro` プロトコルに準拠する。これらのマクロは、マクロが添付されている型または `extension` のメンバの新しい宣言を生成する。例えば、構造体宣言にメンバマクロを適用すると、その構造体に追加のメソッドとプロパティを定義できる +- メンバ属性(Member attribute): この属性の第 1 引数として `memberAttribute` を書く。このマクロを実装する型は、MemberAttributeMacro プロトコルに準拠する。これらのマクロは、マクロが添付されている型または `extension` のメンバに属性を追加する +- アクセサマクロ(Accessor macros): この属性の第 1 引数としてアクセサを書く。このマクロを実装する型は `AccessorMacro` プロトコルに準拠する。これらのマクロは、マクロが添付されている格納プロパティにアクセサを追加し、それを計算プロパティに変換する +- Conformance マクロ(Conformance macros): この属性の最初の引数として準拠するプロトコルを書く。このマクロを実装した型は、`ConformanceMacro` プロトコルに準拠する。これらのマクロは、マクロが添付されている型にプロトコルへの準拠を追加する + +ピアメンバおよびアクセサマクロには、マクロが生成するシンボルの名前を列挙した `named:` 引数が必要です。マクロ宣言に `named:` 引数が含まれる場合、マクロの実装は、そのリストに一致する名前を持つシンボルだけを生成しなければなりません。とはいえ、マクロはリストされたすべての名前に対してシンボルを生成する必要はありません。この引数の値は、以下の 1 つ以上のリストです: + +- `named(<#name#>)` あらかじめ分かっている名前に対して固定のシンボル名を付与する*名前* +- `overloaded` 既存のシンボルと同じ名前に対して上書きする +- `prefixed(<#prefix#>)` 固定の文字列で始まる名前のシンボル名の前に付加される*プレフィックス* +- `suffixed(<#suffix#>)` 固定の文字列で終わる名前のシンボル名の後に付加される*サフィックス* +- `arbitrary` マクロが展開するまで確定できない名前に対して付与する + +特殊なケースとして、プロパティラッパに似た動作をするマクロに `prefixed($)` を書くことができます。 + ### available この属性を適用すると、特定の Swift 言語バージョンまたは特定のプラットフォームとオペレーティングシステムのバージョンに関連する宣言のライフサイクルを示します。 @@ -234,6 +256,10 @@ let wrapper = PassthroughWrapper(value: point) print(wrapper.x) ``` +### freestanding + +自立型マクロの宣言に `freestanding` 属性を適用する。 + ### frozen この属性を構造体または列挙型宣言に適用すると、型に加えることができる変更の種類を制限します。この属性は、ライブラリエボリューションモードでコンパイルする場合にのみ許可されます。ライブラリの将来のバージョンでは、列挙型のケースまたは構造体の格納インスタンスプロパティを追加、削除、または並べ替えて宣言を変更することはできません。これらの変更は nonfrozen 型で許可されますが、frozen 型の ABI 互換性が損なわれます。 From 33ff8386e1abf7252c5d58a978ab81f6e8ec62d3 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 13:02:39 +0900 Subject: [PATCH 02/19] =?UTF-8?q?=E3=83=9E=E3=82=AF=E3=83=AD=E5=AF=BE?= =?UTF-8?q?=E5=BF=9C=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/macros.md | 4 ++-- language-reference/attributes.md | 2 +- language-reference/declarations.md | 29 +++++++++++++++++++++++++++++ language-reference/expressions.md | 22 ++++++++++++++++++++++ 4 files changed, 54 insertions(+), 3 deletions(-) diff --git a/language-guide/macros.md b/language-guide/macros.md index 4b281d0b..d7322468 100644 --- a/language-guide/macros.md +++ b/language-guide/macros.md @@ -135,7 +135,7 @@ public macro OptionSet() = 上記の宣言では、`@attached(member)` マクロは、`@OptionSet` マクロが生成する各シンボルの `named:` ラベルの後に引数を含んでいます。マクロは、`RawValue`、`rawValue`、`init` という名前のシンボルに対する宣言を追加します --- これらの名前は前もってわかっているので、マクロ宣言はそれらを明示的にリストアップします。 また、マクロ宣言には名前のリストの後に `arbitrary` が含まれており、これは、マクロを使用するまで名前がわからない宣言をマクロで生成できるようにします。この場合、private な `Options` の `enum` の各 `case` に対して、`@OptionSet` は同じ名前を持つそれぞれの case に対応する宣言を生成します。 -マクロの役割の全リストを含む詳細については、[Attributes]を参照してください。 +マクロの役割の全リストを含む詳細については、[属性\(Attributes\)](../language-reference/attributes.md)を参照してください。 ## マクロ展開 @@ -272,7 +272,7 @@ private func fourCharacterCode(for characters: String) -> UInt32? { enum CustomError: Error { case message(String) } ``` -`#fourCharacterCode` マクロは、式を生成する自立式マクロなので、これを実装した `FourCharacterCode` 型は、 `ExpressionMacro` プロトコルに準拠します。`ExpressionMacro` プロトコルの要件は 1 つで、AST を展開する `expansion(of:in:)` メソッドです。マクロの役割とそれに対応する `SwiftSystem` プロトコルのリストについては、[Attributes]の[Attributes attached]と [Attributes:freestanding]() を参照してください。 +`#fourCharacterCode` マクロは、式を生成する自立式マクロなので、これを実装した `FourCharacterCode` 型は、 `ExpressionMacro` プロトコルに準拠します。`ExpressionMacro` プロトコルの要件は 1 つで、AST を展開する `expansion(of:in:)` メソッドです。マクロの役割とそれに対応する `SwiftSystem` プロトコルのリストについては、[属性\(Attributes\)](../language-reference/attributes.md)の[属性\(Attributes\)のattached](../language-reference/attributes.md#attached)と[属性\(Attributes\)のfreestanding](../language-reference/attributes.md#freestanding) を参照してください。 `#fourCharacterCode` マクロを展開するために、Swift はこのマクロを使用するコードの AST を、マクロの実装を含むライブラリに送信します。ライブラリの中で、Swift はメソッドの引数として AST とコンテキストを渡して `FourCharacterCode.expansion(of:in:)` を呼び出します。`expansion(of:in:)` の実装は、`#fourCharacterCode` に引数として渡された文字列を見つけ、対応する整数リテラルの値を計算します。 diff --git a/language-reference/attributes.md b/language-reference/attributes.md index cd84cbbe..aee78ce0 100644 --- a/language-reference/attributes.md +++ b/language-reference/attributes.md @@ -1,6 +1,6 @@ # 属性\(Attributes\) -最終更新日: 2022/12/3 +最終更新日: 2023/6/3 原文: https://docs.swift.org/swift-book/ReferenceManual/Attributes.html 宣言と型に情報を追加する。 diff --git a/language-reference/declarations.md b/language-reference/declarations.md index bd612fe7..b70c844d 100644 --- a/language-reference/declarations.md +++ b/language-reference/declarations.md @@ -24,6 +24,8 @@ Swift では、ほとんどの宣言は、宣言されているのと同時に > declaration → [extension-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_extension-declaration) > declaration → [subscript-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-declaration) > declaration → [operator-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_operator-declaration) +> *declaration* → *macro-declaration* +> > declaration → [precedence-group-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-declaration) > declarations → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) [declarations](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declarations)opt @@ -1175,6 +1177,33 @@ _parameters_ または _return type_ がオーバーロードしているもの > subscript-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `subscript` [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause) > subscript-result → `->` [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [type](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type) +## マクロ宣言\(Macro Declaration\) + +*マクロ宣言*は新しいマクロを導入するものです。これは `macro` キーワードで始まり、次のような形式です: + +```swift +macro <#name#> = <#macro implementation#> +``` + +*マクロ実装*は別のマクロで、このマクロの展開を行うコードの場所を示しています。Swift 標準ライブラリの `externalMacro(module:type:)` マクロを呼び出し、 マクロの実装を含む型の名前と、その型を含むモジュールの名前を渡します。 + +マクロは、関数と同じ形でオーバーロードすることができます。 +マクロ宣言は、ファイルスコープにのみ表示されます。 + +より詳細は[マクロ\(Macros\)](../language-guide/macros.md)を参照ください。 + +> Grammar of a macro declaration: +> +> *macro-declaration* → *macro-head* *identifier* *generic-parameter-clause*_?_ *macro-signature* *macro-definition*_?_ *generic-where-clause* +> +> *macro-head* → *attributes*_?_ *declaration-modifiers*_?_ **`macro`** +> +> *macro-signature* → *parameter-clause* *macro-function-signature-result*_?_ +> +> *macro-function-signature-result* → **`->`** *type* +> +> *macro-definition* → **`=`** *expression* + ## 演算子宣言\(Operator Declaration\) _演算子宣言_は、新しい中置、前置、または後置演算子をプログラムに導入し、`operator` キーワードを使用して宣言されます。 diff --git a/language-reference/expressions.md b/language-reference/expressions.md index b59ebbab..473818fd 100644 --- a/language-reference/expressions.md +++ b/language-reference/expressions.md @@ -270,6 +270,8 @@ f(x as Any) > > *primary-expression* → *wildcard-expression* > +> *primary-expression* → *macro-expansion-expression* +> > *primary-expression* → *key-path-expression* > > *primary-expression* → *selector-expression* @@ -755,6 +757,26 @@ _タプル式_の各識別子は、タプル式の範囲内で一意な必要が > > *wildcard-expression* → **`_`** +### マクロ展開式\(Macro-Expansion Expression\) + +*マクロ展開式*は、マクロ名と、その後ろに括弧で囲んだカンマ区切りのマクロ引数のリストで構成されます。 +マクロはコンパイル時に展開されます。 +マクロ展開式は次のような形式をとります: + +```swift +<#macro name#>(<#macro argument 1#>, <#macro argument 2#>) +``` + +マクロ展開式では、引数がない場合は括弧を省略します。 + +マクロ式は、Swift 標準ライブラリの[`file`](http://developer.apple.com/documentation/swift/documentation/swift/file)と[`line`](http://developer.apple.com/documentation/swift/documentation/swift/line)マクロを除いて、パラメータのデフォルト値に使用することはできません。 + +関数やメソッドのパラメータのデフォルト値として使用される場合、これらのマクロの値はデフォルト値式が呼び出し先で評価されたときに決定されます。 + +> Grammar of a macro-expansion expression: +> +> *macro-expansion-expression* → **`#`** *identifier* *generic-argument-clause*_?_ *function-call-argument-clause*_?_ *trailing-closures*_?_ + ### KeyPath 式\(Key-Path Expression\) _KeyPath 式_は、型のプロパティまたはサブスクリプトを参照します。key-value observing などのような、動的プログラミングのタスクで KeyPath 式を使用します。次の形式があります: From 0a82a2627e9a64cb4b64878df6e547f09bf58a29 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 13:35:56 +0900 Subject: [PATCH 03/19] =?UTF-8?q?[=E5=AE=A3=E8=A8=80]=E5=8E=9F=E6=96=87?= =?UTF-8?q?=E3=81=AE=E5=BD=A2=E5=BC=8F=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-reference/declarations.md | 874 ++++++++++++++++++++--------- 1 file changed, 604 insertions(+), 270 deletions(-) diff --git a/language-reference/declarations.md b/language-reference/declarations.md index b70c844d..82c84e9b 100644 --- a/language-reference/declarations.md +++ b/language-reference/declarations.md @@ -9,25 +9,44 @@ _宣言_はプログラムに新しい名前または構文を導入します。 Swift では、ほとんどの宣言は、宣言されているのと同時に実装または初期化されているという点で定義と同等です。一方で、プロトコルはメンバを実装していないため、ほとんどのプロトコルメンバは宣言だけです。便宜上、この区別は重要ではないため、_宣言_という用語は宣言と定義の両方をカバーします。 -> GRAMMAR OF A DECLARATION -> declaration → [import-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_import-declaration) -> declaration → [constant-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_constant-declaration) -> declaration → [variable-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration) -> declaration → [typealias-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_typealias-declaration) -> declaration → [function-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-declaration) -> declaration → [enum-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_enum-declaration) -> declaration → [struct-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_struct-declaration) -> declaration → [class-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-declaration) -> declaration → [protocol-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-declaration) -> declaration → [initializer-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-declaration) -> declaration → [deinitializer-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_deinitializer-declaration) -> declaration → [extension-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_extension-declaration) -> declaration → [subscript-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-declaration) -> declaration → [operator-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_operator-declaration) -> *declaration* → *macro-declaration* -> -> declaration → [precedence-group-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-declaration) -> declarations → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) [declarations](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declarations)opt +> Grammar of a declaration: +> +> *declaration* → *import-declaration* +> +> *declaration* → *constant-declaration* +> +> *declaration* → *variable-declaration* +> +> *declaration* → *typealias-declaration* +> +> *declaration* → *function-declaration* +> +> *declaration* → *enum-declaration* +> +> *declaration* → *struct-declaration* +> +> *declaration* → *class-declaration* +> +> *declaration* → *actor-declaration* +> +> *declaration* → *protocol-declaration* +> +> *declaration* → *initializer-declaration* +> +> *declaration* → *deinitializer-declaration* +> +> *declaration* → *extension-declaration* +> +> *declaration* → *subscript-declaration* +> +> *declaration* → *macro-declaration* +> +> *declaration* → *operator-declaration* +> +> *declaration* → *precedence-group-declaration* +> +> *declarations* → *declaration* *declarations*_?_ +> ## トップレベルコード\(Top-Level Code\) @@ -37,41 +56,58 @@ Swift ソースファイルのトップレベルコードは、0 個以上の文 コードがファイルやモジュールに構成されている方法に関係なく、実行可能にするためにコンパイルした Swift のコードは、トップレベルのエントリポイントをマークする次の方法の内の 1 つを含めることができます: `main` 属性、`NSApplicationMain` 属性、`UIApplicationMain` 属性、`main.swift` ファイル、またはトップレベルの実行可能コードを含むファイルです。 -> GRAMMAR OF A TOP-LEVEL DECLARATION -> top-level-declaration → [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements)opt +> Grammar of a top-level declaration: +> +> *top-level-declaration* → *statements*_?_ ## コードブロック\(Code Blocks\) _コードブロック_は、文をグループ化するための様々な宣言および制御構造によって使用されます。形式は次のとおりです: -![コードブロック](../assets/code_blocks.png) +```swift +{ + <#statements#> +} +``` コードブロック内の _statements_ には、宣言、式、およびその他の文が含まれており、ソースコード内の出現順に実行されます。 -> GRAMMAR OF A CODE BLOCK -> code-block → `{` [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements)opt `}` +> Grammar of a code block: +> +> *code-block* → **`{`** *statements*_?_ **`}`** ## インポート宣言\(Import Declaration\) _インポート宣言_を使用すると、現在のファイルの外部で宣言されているシンボルにアクセスできます。基本形式はモジュール全体をインポートします。`import` キーワードとそれに続くモジュール名で構成されます: -![インポート宣言](../assets/import_declaration.png) +```swift +import <#module#> +``` シンボルのインポートをより細かく制限するために、インポート宣言には、モジュールまたはサブモジュール内で特定のサブモジュールまたは宣言を指定できます。この詳細な形式を使用する場合は、\(それを宣言するモジュールではなく\)インポートされたシンボルだけが現在のスコープで利用可能になります。 -![シンボルのインポート宣言](../assets/import_declaration2.png) +```swift +import <#import kind#> <#module#>.<#symbol name#> +import <#module#>.<#submodule#> +``` -> GRAMMAR OF AN IMPORT DECLARATION -> import-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `import` [import-kind](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_import-kind)opt [import-path](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_import-path) -> import-kind → `typealias` \| `struct` \| `class` \| `enum` \| `protocol` \| `let` \| `var` \| `func` -> import-path → [import-path-identifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_import-path-identifier) \| [import-path-identifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_import-path-identifier) `.` [import-path](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_import-path) -> import-path-identifier → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) \| [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) +> Grammar of an import declaration: +> +> *import-declaration* → *attributes*_?_ **`import`** *import-kind*_?_ *import-path* +> +> +> +> *import-kind* → **`typealias`** | **`struct`** | **`class`** | **`enum`** | **`protocol`** | **`let`** | **`var`** | **`func`** +> +> *import-path* → *identifier* | *identifier* **`.`** *import-path* ## 定数宣言\(Constant Declaration\) _定数宣言_では、プログラムに名前付きの定数値を導入します。定数宣言は `let` キーワードを使用して宣言され、形式は次のとおりです。 -![Constant Declaration\(定数宣言\)](../assets/constant_declaration.png) +```swift +let <#constant name#>: <#type#> = <#expression#> +``` 定数宣言は、_constant name_ と値を初期化する _expression_ の間の不変の繋がりを定義します。定数の値は設定されたら変更できません。つまり、定数がクラスオブジェクトで初期化されている場合、オブジェクト自体を変更できますが、定数名とそれが参照するオブジェクトの間の繋がりは変更できません。 @@ -98,11 +134,17 @@ print("The second number is \(secondNumber).") 定数の詳細およびそれらを使用するときのガイダンスについては、[Constants and Variables\(定数と変数\)](../language-guide/the-basics.md#constants-and-variables)と[Stored Properties\(格納プロパティ\)](../language-guide/properties.md#stored-properties)を参照ください。 -> GRAMMAR OF A CONSTANT DECLARATION -> constant-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `let` [pattern-initializer-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_pattern-initializer-list) -> pattern-initializer-list → [pattern-initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_pattern-initializer) \| [pattern-initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_pattern-initializer) `,` [pattern-initializer-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_pattern-initializer-list) -> pattern-initializer → [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer)opt -> initializer → `=` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) +> Grammar of a constant declaration: +> +> *constant-declaration* → *attributes*_?_ *declaration-modifiers*_?_ **`let`** *pattern-initializer-list* +> +> +> +> *pattern-initializer-list* → *pattern-initializer* | *pattern-initializer* **`,`** *pattern-initializer-list* +> +> *pattern-initializer* → *pattern* *initializer*_?_ +> +> *initializer* → **`=`** *expression* ## 変数宣言\(Variable Declaration\) @@ -119,7 +161,9 @@ _変数宣言_では、プログラムに名前付きの変数値を導入し、 次の形式は、格納変数や格納可変プロパティを宣言します。 -![格納変数、格納可変プロパティ](../assets/variable_declaration.png) +```swift +var <#variable name#>: <#type#> = <#expression#> +``` この形式の変数宣言は、グローバルスコープ、関数のローカルスコープ、またはクラスまたは構造体宣言のコンテキストで定義できます。この形式の変数宣言が、グローバルスコープまたは関数のローカルスコープで宣言されている場合は、_格納変数_と呼ばれます。クラスまたは構造体宣言のコンテキストで宣言されている場合は、_格納可変プロパティ_と呼ばれます。 @@ -133,7 +177,16 @@ _変数宣言_では、プログラムに名前付きの変数値を導入し、 次の形式は、計算変数または計算プロパティを宣言します。 -![計算変数、計算変数プロパティ](../assets/computed_variables_and_computed_properties.png) +```swift +var <#variable name#>: <#type#> { + get { + <#statements#> + } + set(<#setter name#>) { + <#statements#> + } +} +``` この形式の変数宣言は、グローバルスコープ、関数のローカルスコープ、またはクラス、構造体、列挙型、または extension のコンテキストで定義できます。この形式の変数宣言がグローバルスコープまたは関数のローカルスコープで宣言されている場合は、_計算変数_と呼ばれます。クラス、構造体、または extension のコンテキストで宣言されている場合は、それは_計算プロパティ_と呼ばれます。 @@ -149,7 +202,16 @@ _setter name_ とそれを囲む括弧は省略可能です。setter name を指 格納変数またはプロパティを `willSet` や `didSet` オブザーバと一緒に宣言することもできます。オブザーバで宣言された格納変数またはプロパティの形式は次のとおりです: -![格納変数オブザーバとプロパティオブザーバ](../assets/stored_variable_observers_and_property_observers.png) +```swift +var <#variable name#>: <#type#> = <#expression#> { + willSet(<#setter name#>) { + <#statements#> + } + didSet(<#setter name#>) { + <#statements#> + } +} +``` この形式の変数宣言は、グローバルスコープ、関数のローカルスコープ、またはクラスまたは構造体宣言のコンテキストで定義できます。この形式の変数宣言がグローバルスコープまたは関数のローカルスコープで宣言されている場合、オブザーバは_格納変数オブザーバ_と呼ばれます。クラスまたは構造体宣言のコンテキストで宣言されている場合、オブザーバは_プロパティオブザーバ_と呼ばれます。 @@ -210,35 +272,67 @@ newAndOld.x = 200 型変数プロパティを宣言するには、宣言を `static` 修飾子でマークします。サブクラスがスーパークラスの実装をオーバーライドできるようにするには、代わりに `class` 修飾子を使用して型計算プロパティを宣言することができます。型プロパティは、[Type Properties\(型プロパティ\)](../language-guide/properties.md#type-properties)で説明されています。 -> GRAMMAR OF A VARIABLE DECLARATION -> variable-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [pattern-initializer-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_pattern-initializer-list) -> variable-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [variable-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> variable-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [variable-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) [getter-setter-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-setter-block) -> variable-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [variable-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) [getter-setter-keyword-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-setter-keyword-block) -> variable-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [variable-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-name) [initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer) [willSet-didSet-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_willSet-didSet-block) -> variable-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [variable-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) [initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer)opt [willSet-didSet-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_willSet-didSet-block) -> variable-declaration-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `var` -> variable-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> getter-setter-block → [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> getter-setter-block → `{` [getter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-clause) [setter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-clause)opt `}` -> getter-setter-block → `{` [setter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-clause) [getter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-clause) `}` -> getter-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [mutation-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_mutation-modifier)opt `get` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> setter-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [mutation-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_mutation-modifier)opt `set` [setter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-name)opt [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> setter-name → `(` [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) `)` -> getter-setter-keyword-block → `{` [getter-keyword-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-keyword-clause) [setter-keyword-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-keyword-clause)opt `}` -> getter-setter-keyword-block → `{` [setter-keyword-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-keyword-clause) [getter-keyword-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-keyword-clause) `}` -> getter-keyword-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [mutation-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_mutation-modifier)opt `get` -> setter-keyword-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [mutation-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_mutation-modifier)opt `set` -> willSet-didSet-block → `{` [willSet-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_willSet-clause) [didSet-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_didSet-clause)opt `}` -> willSet-didSet-block → `{` [didSet-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_didSet-clause) [willSet-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_willSet-clause)opt `}` -> willSet-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `willSet` [setter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-name)opt [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> didSet-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `didSet` [setter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_setter-name)opt [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) +> Grammar of a variable declaration: +> +> *variable-declaration* → *variable-declaration-head* *pattern-initializer-list* +> +> *variable-declaration* → *variable-declaration-head* *variable-name* *type-annotation* *code-block* +> +> *variable-declaration* → *variable-declaration-head* *variable-name* *type-annotation* *getter-setter-block* +> +> *variable-declaration* → *variable-declaration-head* *variable-name* *type-annotation* *getter-setter-keyword-block* +> +> *variable-declaration* → *variable-declaration-head* *variable-name* *initializer* *willSet-didSet-block* +> +> *variable-declaration* → *variable-declaration-head* *variable-name* *type-annotation* *initializer*_?_ *willSet-didSet-block* +> +> +> +> *variable-declaration-head* → *attributes*_?_ *declaration-modifiers*_?_ **`var`** +> +> *variable-name* → *identifier* +> +> +> +> *getter-setter-block* → *code-block* +> +> *getter-setter-block* → **`{`** *getter-clause* *setter-clause*_?_ **`}`** +> +> *getter-setter-block* → **`{`** *setter-clause* *getter-clause* **`}`** +> +> *getter-clause* → *attributes*_?_ *mutation-modifier*_?_ **`get`** *code-block* +> +> *setter-clause* → *attributes*_?_ *mutation-modifier*_?_ **`set`** *setter-name*_?_ *code-block* +> +> *setter-name* → **`(`** *identifier* **`)`** +> +> +> +> *getter-setter-keyword-block* → **`{`** *getter-keyword-clause* *setter-keyword-clause*_?_ **`}`** +> +> *getter-setter-keyword-block* → **`{`** *setter-keyword-clause* *getter-keyword-clause* **`}`** +> +> *getter-keyword-clause* → *attributes*_?_ *mutation-modifier*_?_ **`get`** +> +> *setter-keyword-clause* → *attributes*_?_ *mutation-modifier*_?_ **`set`** +> +> +> +> *willSet-didSet-block* → **`{`** *willSet-clause* *didSet-clause*_?_ **`}`** +> +> *willSet-didSet-block* → **`{`** *didSet-clause* *willSet-clause*_?_ **`}`** +> +> *willSet-clause* → *attributes*_?_ **`willSet`** *setter-name*_?_ *code-block* +> +> *didSet-clause* → *attributes*_?_ **`didSet`** *setter-name*_?_ *code-block* ## タイプエイリアス宣言\(Type Alias Declaration\) _タイプエイリアス宣言_では、既存の型に別名を導入します。タイプエイリアス宣言は、`typealias` キーワードを使用して宣言され、形式は次のとおりです: -![タイプエイリアス宣言](../assets/type_alias_declaration.png) +```swift +typealias <#name#> = <#existing type#> +``` タイプエイリアスが宣言された後、プログラム内の既存の型の代わりに注釈された _name_ を使用できます。_existing type_ は、名前付き型または複合型にすることができます。タイプエイリアスは新しい型を作成しません。それらは単に名前が既存の型を参照することを可能にします。 @@ -283,20 +377,31 @@ func sum(_ sequence: T) -> Int where T.Element == Int { [Protocol Associated Type Declaration\(プロトコル関連型宣言\)](declarations.md#protocol-associated-type-declaration)も参照ください。 -> GRAMMAR OF A TYPE ALIAS DECLARATION -> typealias-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `typealias` [typealias-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_typealias-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [typealias-assignment](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_typealias-assignment) -> typealias-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> typealias-assignment → `=` [type](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type) +> Grammar of a type alias declaration: +> +> *typealias-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`typealias`** *typealias-name* *generic-parameter-clause*_?_ *typealias-assignment* +> +> *typealias-name* → *identifier* +> +> *typealias-assignment* → **`=`** *type* ## 関数宣言\(Function Declaration\) _関数宣言_では、プログラムに関数またはメソッドを導入します。クラス、構造体、列挙型、またはプロトコルのコンテキストで宣言されている関数は_メソッド_と呼ばれます。関数宣言は `func` キーワードを使用して宣言され、形式は次のとおりです: -![関数宣言](../assets/function_declaration.png) +```swift +func <#function name#>(<#parameters#>) -> <#return type#> { + <#statements#> +} +``` 関数の戻り値の型が `Void` の場合は、次のように戻り値の型を省略できます: -![関数宣言戻り値の型Void](../assets/function_declaration2.png) +```swift +func <#function name#>(<#parameters#>) { + <#statements#> +} +``` 各パラメータには型を含める必要があります。推論することはできません。パラメータ型の前に `inout` を書くと、その関数の範囲内でパラメータを変更できます。in-out パラメータについては、下記の[In-Out Parameters\(In-Out パラメータ\)](declarations.md#declarations-in-out-parameters)で詳細に説明されています。 @@ -314,7 +419,9 @@ _statements_ が単一式のみを含む関数宣言は、その式の値を返 関数パラメータは、各パラメータが複数の形式のうちの 1 つを持つカンマ区切りのリストです。関数呼び出し内の引数の順序は、関数の宣言内のパラメータの順序と一致する必要があります。パラメータリスト内の最もシンプルなエントリの形式は次のとおりです: -![パラメータリスト内の最もシンプルなエントリ](../assets/parameter_names.png) +```swift +<#parameter name#>: <#parameter type#> +``` パラメータには、関数本文内で使用されている名前、および関数またはメソッドを呼び出すときに使用される引数ラベルがあります。デフォルトでは、パラメータ名は引数ラベルとしても使用されます。例えば: @@ -325,7 +432,10 @@ f(x: 1, y: 2) // x と y の両方にラベルがあります 次のいずれかの形式で、引数ラベルのデフォルトの動作を上書きできます。 -![引数ラベルのデフォルトの動作を上書き](../assets/parameter_names2.png) +```swift +<#argument label#> <#parameter name#>: <#parameter type#> +_ <#parameter name#>: <#parameter type#> +``` パラメータ名の前の名前は、パラメータの明示的な引数ラベルで、パラメータ名とは異なる可能性があります。関数呼び出しまたはメソッド呼び出し時は、対応する引数に指定された引数ラベルを使用する必要があります。 @@ -380,7 +490,11 @@ func multithreadedFunction(queue: DispatchQueue, x: inout Int) { パラメータを無視したり、1 つのパラメータに複数の値を受け取ったり、デフォルト値を提供できます。形式は次のとおりです: -![特殊な種類のパラメータ](../assets/special_kinds-of_parameters.png) +```swift +_ : <#parameter type#> +<#parameter name#>: <#parameter type#>... +<#parameter name#>: <#parameter type#> = <#default argument value#> +``` アンダースコア\(`_`\)パラメータは明示的に無視され、関数の本文内でアクセスすることはできません。 @@ -441,7 +555,11 @@ let someFunction2: (Int, Int) -> Void = callable.callAsFunction(_:scale:) スロー関数とスローメソッドは、`throws` キーワードでマークされている必要があります。これらの関数およびメソッドは、_スロー関数_および_スローメソッド_と呼ばれます。形式は次のとおりです: -![スロー関数とスローメソッド](../assets/throwing_functions_and_methods.png) +```swift +func <#function name#>(<#parameters#>) throws -> <#return type#> { + <#statements#> +} +``` スロー関数またはスローメソッドの呼び出しは、`try` または `try!` 式で囲まれていなければなりません\(つまり、`try` または `try!` 演算子のスコープ内\)。 @@ -483,7 +601,11 @@ func someFunction(callback: () throws -> Void) rethrows { 非同期に実行される関数とメソッドは、`async` キーワードでマークされている必要があります。これらの関数とメソッドは、_非同期関数_と_非同期メソッド_と呼ばれています。形式は次のとおりです: -![非同期関数と非同期メソッド](../assets/asynchronous_functions_and_methods.png) +```swift +func <#function name#>(<#parameters#>) async -> <#return type#> { + <#statements#> +} +``` 非同期関数または非同期メソッドの呼び出しは、`await` でラップされていなければなりません。 @@ -497,22 +619,43 @@ Swift は、関数またはメソッドがその呼び出し元に戻り値を ノーリターンメソッドはオーバーライドできますが、その新しいメソッドは戻り値の型とノーリターンの動作を保ち続ける必要があります。 -> GRAMMAR OF A FUNCTION DECLARATION -> function-declaration → [function-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-head) [function-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [function-signature](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-signature)[generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [function-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-body)opt -> function-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `func` -> function-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) \| [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) -> function-signature → [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause) `async`opt `throws`opt [function-result](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-result)opt -> function-signature → [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause) `async`opt `rethrows` [function-result](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-result)opt -> function-result → `->` [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [type](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type) -> function-body → [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> parameter-clause → `(` `)` \| `(` [parameter-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-list) `)` -> parameter-list → [parameter](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter) \| [parameter](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter) `,` [parameter-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-list) -> parameter → [external-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_external-parameter-name)opt [local-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_local-parameter-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) [default-argument-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_default-argument-clause)opt -> parameter → [external-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_external-parameter-name)opt [local-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_local-parameter-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) -> parameter → [external-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_external-parameter-name)opt [local-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_local-parameter-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) `...` -> external-parameter-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> local-parameter-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> default-argument-clause → `=` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) +> Grammar of a function declaration: +> +> *function-declaration* → *function-head* *function-name* *generic-parameter-clause*_?_ *function-signature* *generic-where-clause*_?_ *function-body*_?_ +> +> +> +> *function-head* → *attributes*_?_ *declaration-modifiers*_?_ **`func`** +> +> *function-name* → *identifier* | *operator* +> +> +> +> *function-signature* → *parameter-clause* **`async`**_?_ **`throws`**_?_ *function-result*_?_ +> +> *function-signature* → *parameter-clause* **`async`**_?_ **`rethrows`** *function-result*_?_ +> +> *function-result* → **`->`** *attributes*_?_ *type* +> +> *function-body* → *code-block* +> +> +> +> *parameter-clause* → **`(`** **`)`** | **`(`** *parameter-list* **`)`** +> +> *parameter-list* → *parameter* | *parameter* **`,`** *parameter-list* +> +> *parameter* → *external-parameter-name*_?_ *local-parameter-name* *type-annotation* *default-argument-clause*_?_ +> +> *parameter* → *external-parameter-name*_?_ *local-parameter-name* *type-annotation* +> +> *parameter* → *external-parameter-name*_?_ *local-parameter-name* *type-annotation* **`...`** +> +> *external-parameter-name* → *identifier* +> +> *local-parameter-name* → *identifier* +> +> *default-argument-clause* → **`=`** *expression* ## 列挙型宣言\(Enumeration Declaration\) @@ -532,7 +675,12 @@ _列挙型宣言_は、名前付きの列挙型をプログラムに導入しま 次の形式は、任意の型のケースを含む列挙型を宣言しています。 -![任意の型のケースを持つ列挙型](../assets/enumerations_with_cases_of_any_type.png) +```swift +enum <#enumeration name#>: <#adopted protocols#> { + case <#enumeration case 1#> + case <#enumeration case 2#>(<#associated value types#>) +} +``` この形式で宣言された列挙型は、他のプログラミング言語では判別共用体\(_discriminated union_\)と呼ばれることもあります。 @@ -575,7 +723,12 @@ enum Tree { 次の形式は、同じ基となる型のケースを持つ列挙型を宣言しています。 -![Raw Value型のケースを持つ列挙型](../assets/enumerations_with_cases_of_a_raw-value_type.png) +```swift +enum <#enumeration name#>: <#raw-value type#>, <#adopted protocols#> { + case <#enumeration case 1#> = <#raw value 1#> + case <#enumeration case 2#> = <#raw value 2#> +} +``` この形式では、各ケースブロックは、`case` キーワードと、それに続く 1 つ以上の列挙ケースで構成され、カンマ\(`,`\)で区切られます。最初の形式のケースとは異なり、各ケースには、同じ基本型の _Raw Value_ と呼ばれる基になる値があります。これらの値の型は _Raw Value 型_ で指定され、整数、浮動小数点数、文字列、または単一文字の必要があります。特に、Raw Value 型は、`Equatable` プロトコルおよび次のいずれかのプロトコルに準拠する必要があります: 整数リテラルの場合は `ExpressibleByIntegerLiteral`、浮動小数点リテラルの場合は `ExpressibleByFloatLiteral`、任意の数の文字を含む文字列リテラルの場合は `ExpressibleByStringLiteral`、文字列の場合は `ExpressibleByUnicodeScalarLiteral`、1 文字のみを含むリテラルの場合は `ExpressibleByExtendedGraphemeClusterLiteral` です。各ケースには一意の名前と一意の Raw Value が割り当てられている必要があります。 @@ -607,31 +760,57 @@ Raw Value 型のケースを持つ列挙型は、Swift 標準ライブラリで 列挙ケースの値を確認するには、[Matching Enumeration Values with a Switch Statement\(Switch 文を使った列挙値のパターンマッチング\)](../language-guide/enumerations.md#matching-enumeration-values-with-a-switch-statement)で説明されているように、`switch` 文を使用します。列挙型は、[Enumeration Case Pattern\(列挙ケースパターン\)](../language-reference/patterns.md#enumeration-case-pattern)で説明されているように、`switch` 文のケースブロックの列挙ケースのパターンに対してパターンマッチングできます。 -> GRAMMAR OF AN ENUMERATION DECLARATION -> enum-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt [union-style-enum](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum) -> enum-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt [raw-value-style-enum](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum) -> union-style-enum → `indirect`opt `enum` [enum-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_enum-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt `{` [union-style-enum-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-members)opt `}` -> union-style-enum-members → [union-style-enum-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-member) [union-style-enum-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-members)opt -> union-style-enum-member → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) \| [union-style-enum-case-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-case-clause) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) -> union-style-enum-case-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `indirect`opt `case` [union-style-enum-case-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-case-list) -> union-style-enum-case-list → [union-style-enum-case](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-case) \| [union-style-enum-case](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-case) `,` [union-style-enum-case-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_union-style-enum-case-list) -> union-style-enum-case → [enum-case-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_enum-case-name) [tuple-type](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_tuple-type)opt -> enum-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> enum-case-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> raw-value-style-enum → `enum` [enum-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_enum-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause) [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt `{` [raw-value-style-enum-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-members) `}` -> raw-value-style-enum-members → [raw-value-style-enum-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-member) [raw-value-style-enum-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-members)opt -> raw-value-style-enum-member → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) \| [raw-value-style-enum-case-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-case-clause) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) -> raw-value-style-enum-case-clause → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `case` [raw-value-style-enum-case-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-case-list) -> raw-value-style-enum-case-list → [raw-value-style-enum-case](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-case) \| [raw-value-style-enum-case](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-case) `,` [raw-value-style-enum-case-list](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-style-enum-case-list) -> raw-value-style-enum-case → [enum-case-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_enum-case-name) [raw-value-assignment](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-assignment)opt -> raw-value-assignment → `=` [raw-value-literal](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_raw-value-literal) -> raw-value-literal → [numeric-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal) \| [static-string-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_static-string-literal) \| [boolean-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_boolean-literal) +> Grammar of an enumeration declaration: +> +> *enum-declaration* → *attributes*_?_ *access-level-modifier*_?_ *union-style-enum* +> +> *enum-declaration* → *attributes*_?_ *access-level-modifier*_?_ *raw-value-style-enum* +> +> +> +> *union-style-enum* → **`indirect`**_?_ **`enum`** *enum-name* *generic-parameter-clause*_?_ *type-inheritance-clause*_?_ *generic-where-clause*_?_ **`{`** *union-style-enum-members*_?_ **`}`** +> +> *union-style-enum-members* → *union-style-enum-member* *union-style-enum-members*_?_ +> +> *union-style-enum-member* → *declaration* | *union-style-enum-case-clause* | *compiler-control-statement* +> +> *union-style-enum-case-clause* → *attributes*_?_ **`indirect`**_?_ **`case`** *union-style-enum-case-list* +> +> *union-style-enum-case-list* → *union-style-enum-case* | *union-style-enum-case* **`,`** *union-style-enum-case-list* +> +> *union-style-enum-case* → *enum-case-name* *tuple-type*_?_ +> +> *enum-name* → *identifier* +> +> *enum-case-name* → *identifier* +> +> +> +> *raw-value-style-enum* → **`enum`** *enum-name* *generic-parameter-clause*_?_ *type-inheritance-clause* *generic-where-clause*_?_ **`{`** *raw-value-style-enum-members* **`}`** +> +> *raw-value-style-enum-members* → *raw-value-style-enum-member* *raw-value-style-enum-members*_?_ +> +> *raw-value-style-enum-member* → *declaration* | *raw-value-style-enum-case-clause* | *compiler-control-statement* +> +> *raw-value-style-enum-case-clause* → *attributes*_?_ **`case`** *raw-value-style-enum-case-list* +> +> *raw-value-style-enum-case-list* → *raw-value-style-enum-case* | *raw-value-style-enum-case* **`,`** *raw-value-style-enum-case-list* +> +> *raw-value-style-enum-case* → *enum-case-name* *raw-value-assignment*_?_ +> +> *raw-value-assignment* → **`=`** *raw-value-literal* +> +> *raw-value-literal* → *numeric-literal* | *static-string-literal* | *boolean-literal* ## 構造体宣言\(Structure Declaration\) _構造体宣言_は、名前付きの構造体型をプログラムに導入します。構造体宣言は `struct` キーワードを使用して宣言され、形式は次のとおりです。 -![構造体宣言](../assets/structure_declaration.png) +```swift +struct <#structure name#>: <#adopted protocols#> { + <#declarations#> +} +``` 構造体の本文には、0 個以上の _declarations_ が含まれています。これらの _declarations_ には、格納プロパティと計算プロパティ、型プロパティ、インスタンスメソッド、型メソッド、イニシャライザ、サブスクリプト、タイプエイリアス、さらにはその他の構造体、クラス、アクター、列挙型の宣言を含めることができます。構造体宣言にデイニシャライザまたはプロトコル宣言を含めることはできません。様々な種類の宣言を含む構造体の説明といくつかの例については、[Structures and Classes\(構造体とクラス\)](../language-guide/structures-and-classes.md)を参照ください。 @@ -651,18 +830,29 @@ _構造体宣言_は、名前付きの構造体型をプログラムに導入し [Extension Declaration\(拡張宣言\)](declarations.md#extension-declaration)で説明されているように、extension を使用して構造体の動作を拡張できます。 -> GRAMMAR OF A STRUCTURE DECLARATION -> struct-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `struct` [struct-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_struct-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [struct-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_struct-body) -> struct-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> struct-body → `{` [struct-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_struct-members)opt `}` -> struct-members → [struct-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_struct-member) [struct-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_struct-members)opt -> struct-member → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) +> Grammar of a structure declaration: +> +> *struct-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`struct`** *struct-name* *generic-parameter-clause*_?_ *type-inheritance-clause*_?_ *generic-where-clause*_?_ *struct-body* +> +> *struct-name* → *identifier* +> +> *struct-body* → **`{`** *struct-members*_?_ **`}`** +> +> +> +> *struct-members* → *struct-member* *struct-members*_?_ +> +> *struct-member* → *declaration* | *compiler-control-statement* ## クラス宣言\(Class Declaration\) _クラス宣言_は、名前付きクラス型をプログラムに導入します。クラス宣言は、`class` キーワードを使用して宣言され、形式は次のとおりです。 -![クラス宣言](../assets/class_declaration.png) +```swift +class <#class name#>: <#superclass#>, <#adopted protocols#> { + <#declarations#> +} +``` クラスの本文には、0 個以上の _declarations_ が含まれています。これらの _declarations_ には、格納プロパティと計算プロパティ、インスタンスメソッド、型メソッド、イニシャライザ、単一のデイニシャライザ、サブスクリプト、タイプエイリアス、さらには他のクラス、構造体、アクター、列挙型の宣言を含めることができます。クラス宣言にプロトコル宣言を含めることはできません。様々な種類の宣言を含むクラスの説明といくつかの例については、[Structures and Classes](../language-guide/structures-and-classes.md)を参照ください。 @@ -686,19 +876,31 @@ _superclass_ で宣言されたプロパティとメソッドは現在のクラ [Extension Declaration\(拡張宣言\)](declarations.md#extension-declaration)で説明されているように、extension を使用してクラス型の動作を拡張できます。 -> GRAMMAR OF A CLASS DECLARATION -> class-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `final`opt `class` [class-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [class-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-body) -> class-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `final` [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `class` [class-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [class-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-body) -> class-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> class-body → `{` [class-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-members)opt `}` -> class-members → [class-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-member) [class-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_class-members)opt -> class-member → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) +> Grammar of a class declaration: +> +> *class-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`final`**_?_ **`class`** *class-name* *generic-parameter-clause*_?_ *type-inheritance-clause*_?_ *generic-where-clause*_?_ *class-body* +> +> *class-declaration* → *attributes*_?_ **`final`** *access-level-modifier*_?_ **`class`** *class-name* *generic-parameter-clause*_?_ *type-inheritance-clause*_?_ *generic-where-clause*_?_ *class-body* +> +> *class-name* → *identifier* +> +> *class-body* → **`{`** *class-members*_?_ **`}`** +> +> +> +> *class-members* → *class-member* *class-members*_?_ +> +> *class-member* → *declaration* | *compiler-control-statement* ## アクター宣言\(Actor Declaration\) アクター宣言は、名前付きのアクター型をプログラムに導入します。アクター宣言は、`actor` キーワードを使用して宣言され、形式は次のとおりです。 -![アクター宣言](../assets/actor_declaration.png) +```swift +actor <#actor name#>: <#adopted protocols#> { + <#declarations#> +} +``` アクターの本文には、0 個以上の _declarations_ が含まれています。これらの _declarations_ には、格納プロパティと計算プロパテ、インスタンスメソッド、型メソッド、イニシャライザ、単一のデイニシャライザ、サブスクリプト、タイプエイリアス、さらには他のクラス、構造体、列挙型の宣言を含めることができます。様々な種類の宣言を含むアクターの説明といくつかの例については、[Actors\(アクター\)](../language-guide/concurrency.md#Actorsアクター)を参照ください。 @@ -723,18 +925,29 @@ _superclass_ で宣言されたプロパティとメソッドは現在のクラ [Extension Declaration\(拡張宣言\)](declarations.md#extension-declaration)で説明されているように、extension を使用してアクター型の動作を拡張できます。 -> GRAMMAR OF A ACTOR DECLARATION -> actor-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `actor` [actor-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_actor-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [actor-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_actor-body) -> actor-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> actor-body → `{` [actor-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_actor-members)opt `}` -> actor-members → [actor-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_actor-member) [actor-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_actor-members)opt -> actor-member → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) +> Grammar of an actor declaration: +> +> *actor-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`actor`** *actor-name* *generic-parameter-clause*_?_ *type-inheritance-clause*_?_ *generic-where-clause*_?_ *actor-body* +> +> *actor-name* → *identifier* +> +> *actor-body* → **`{`** *actor-members*_?_ **`}`** +> +> +> +> *actor-members* → *actor-member* *actor-members*_?_ +> +> *actor-member* → *declaration* | *compiler-control-statement* ## プロトコル宣言\(Protocol Declaration\) _プロトコル宣言_は、名前付きのプロトコル型をプログラムに導入します。プロトコル宣言は、`protocol` キーワードを使用してグローバルスコープで宣言され、形式は次のとおりです。 -![プロトコル宣言](../assets/protocol_declaration.png) +```swift +protocol <#protocol name#>: <#inherited protocols#> { + <#protocol member declarations#> +} +``` プロトコルの本文には、プロトコルに準拠する全ての型が満たさなければならない 0 個以上の _protocol member declarations_ が含まれています。特に、プロトコルは、準拠する型が特定のプロパティ、メソッド、イニシャライザ、およびサブスクリプトを実装する必要があることを宣言できます。プロトコルは、_関連型_と呼ばれる特別な種類のタイプエイリアスを宣言することもできます。これにより、プロトコルの様々な宣言間の関係を指定できます。プロトコル宣言には、クラス、構造体、列挙型、またはその他のプロトコル宣言を含めることはできません。_protocol member declarations_の宣言については、下記で詳しく説明します。 @@ -777,24 +990,41 @@ protocol SomeProtocol: AnyObject { [Delegation\(委譲\)](../language-guide/protocols.md#delegation)で説明されているように、クラスまたは構造体のデリゲートが実装するべきメソッドを宣言するためにプロトコルを使用できます。 -> GRAMMAR OF A PROTOCOL DECLARATION -> protocol-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `protocol` [protocol-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-name) [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [protocol-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-body) -> protocol-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> protocol-body → `{` [protocol-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-members)opt `}` -> protocol-members → [protocol-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-member) [protocol-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-members)opt -> protocol-member → [protocol-member-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-member-declaration) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) -> protocol-member-declaration → [protocol-property-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-property-declaration) -> protocol-member-declaration → [protocol-method-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-method-declaration) -> protocol-member-declaration → [protocol-initializer-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-initializer-declaration) -> protocol-member-declaration → [protocol-subscript-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-subscript-declaration) -> protocol-member-declaration → [protocol-associated-type-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_protocol-associated-type-declaration) -> protocol-member-declaration → [typealias-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_typealias-declaration) +> Grammar of a protocol declaration: +> +> *protocol-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`protocol`** *protocol-name* *type-inheritance-clause*_?_ *generic-where-clause*_?_ *protocol-body* +> +> *protocol-name* → *identifier* +> +> *protocol-body* → **`{`** *protocol-members*_?_ **`}`** +> +> +> +> *protocol-members* → *protocol-member* *protocol-members*_?_ +> +> *protocol-member* → *protocol-member-declaration* | *compiler-control-statement* +> +> +> +> *protocol-member-declaration* → *protocol-property-declaration* +> +> *protocol-member-declaration* → *protocol-method-declaration* +> +> *protocol-member-declaration* → *protocol-initializer-declaration* +> +> *protocol-member-declaration* → *protocol-subscript-declaration* +> +> *protocol-member-declaration* → *protocol-associated-type-declaration* +> +> *protocol-member-declaration* → *typealias-declaration* ### プロトコルプロパティ宣言\(Protocol Property Declaration\) プロトコルは、プロトコル宣言の本文に_プロトコルプロパティ宣言_を含めることによって準拠する型がプロパティを実装する必要があることを宣言します。プロトコルプロパティ宣言には、変数宣言の特別な形式があります。 -![Protocol Property Declaration](../assets/protocol_property_declaration.png) +```swift +var <#property name#>: <#type#> { get set } +``` 他のプロトコルメンバ宣言と同様に、これらのプロパティ宣言は、プロトコルに準拠する型の get と set の要件のみを宣言します。その結果、get または set を、プロトコルの宣言で直接実装することはありません。 @@ -804,8 +1034,9 @@ protocol SomeProtocol: AnyObject { [Variable Declaration\(変数宣言\)](declarations.md#variable-declaration)も参照ください。 -> GRAMMAR OF A PROTOCOL PROPERTY DECLARATION -> protocol-property-declaration → [variable-declaration-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-declaration-head) [variable-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_variable-name) [type-annotation](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-annotation) [getter-setter-keyword-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-setter-keyword-block) +> Grammar of a protocol property declaration: +> +> *protocol-property-declaration* → *variable-declaration-head* *variable-name* *type-annotation* *getter-setter-keyword-block* ### プロトコルメソッド宣言\(Protocol Method Declaration\) @@ -815,8 +1046,9 @@ protocol SomeProtocol: AnyObject { [Function Declaration\(関数宣言\)](declarations.md#function-declaration)も参照ください。 -> GRAMMAR OF A PROTOCOL METHOD DECLARATION -> protocol-method-declaration → [function-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-head) [function-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-name) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [function-signature](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_function-signature) [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt +> Grammar of a protocol method declaration: +> +> *protocol-method-declaration* → *function-head* *function-name* *generic-parameter-clause*_?_ *function-signature* *generic-where-clause*_?_ ### プロトコルイニシャライザ宣言\(Protocol Initializer Declaration\) @@ -828,22 +1060,28 @@ protocol SomeProtocol: AnyObject { [Initializer Declaration\(イニシャライザ宣言\)](declarations.md#initializer-declaration)も参照ください。 -> GRAMMAR OF A PROTOCOL INITIALIZER DECLARATION -> protocol-initializer-declaration → [initializer-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-head) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause)`throws`opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt -> protocol-initializer-declaration → [initializer-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-head) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause)`rethrows` [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt +> Grammar of a protocol initializer declaration: +> +> *protocol-initializer-declaration* → *initializer-head* *generic-parameter-clause*_?_ *parameter-clause* **`throws`**_?_ *generic-where-clause*_?_ +> +> *protocol-initializer-declaration* → *initializer-head* *generic-parameter-clause*_?_ *parameter-clause* **`rethrows`** *generic-where-clause*_?_ + ### プロトコルサブスクリプト宣言\(Protocol Subscript Declaration\) プロトコルは、プロトコル宣言の本文にプロトコルサブスクリプト宣言を含めることによって準拠する型がサブスクリプトを実装する必要があることを宣言します。プロトコルサブスクリプト宣言には、特殊な形式のサブスクリプト宣言があります: -![プロトコルsubscript宣言](../assets/protocol_subscript_declaration.png) +```swift +subscript (<#parameters#>) -> <#return type#> { get set } +``` サブスクリプト宣言は、プロトコルに準拠するために最低限必要な get および set の要件のみを宣言します。サブスクリプト宣言に `get` キーワードと `set` キーワードの両方が含まれている場合、準拠する型は get 句と set 句の両方を実装する必要があります。サブスクリプト宣言に `get` キーワードのみが含まれている場合、準拠する型は_少なくとも_ get 句を実装する必要があり、任意で set 句を実装できます。 プロトコル宣言で静的サブスクリプト要件を宣言するには、`static` 修飾子を使用してサブスクリプト宣言をマークします。プロトコルに準拠する構造体と列挙型は、`static` キーワードを使用してサブスクリプトを宣言し、プロトコルに準拠するクラスは、`static` または `class` キーワードを使用してサブスクリプトを宣言します。構造体、列挙型、またはクラスにプロトコルの準拠を追加する extension は、拡張する型と同じキーワードを使用します。静的サブスクリプト要件のデフォルト実装を提供する extension は、`static` キーワードを使用します。 -> GRAMMAR OF A PROTOCOL SUBSCRIPT DECLARATION -> protocol-subscript-declaration → [subscript-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-head) [subscript-result](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-result) [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [getter-setter-keyword-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-setter-keyword-block) +> Grammar of a protocol subscript declaration: +> +> *protocol-subscript-declaration* → *subscript-head* *subscript-result* *generic-where-clause*_?_ *getter-setter-keyword-block* ### プロトコル関連型宣言\(Protocol Associated Type Declaration\) @@ -867,8 +1105,9 @@ protocol SubProtocolB: SomeProtocol where SomeType: Equatable { } [Type Alias Declaration\(タイプエイリアス宣言\)](declarations.md#type-alias-declaration)も参照ください。 -> GRAMMAR OF A PROTOCOL ASSOCIATED TYPE DECLARATION -> protocol-associated-type-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `associatedtype` [typealias-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_typealias-name) [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [typealias-assignment](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_typealias-assignment)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt +> Grammar of a protocol associated type declaration: +> +> *protocol-associated-type-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`associatedtype`** *typealias-name* *type-inheritance-clause*_?_ *typealias-assignment*_?_ *generic-where-clause*_?_ ## イニシャライザ宣言\(Initializer Declaration\) @@ -878,7 +1117,11 @@ _イニシャライザ宣言_は、クラス、構造体、または列挙型の 次の形式は、構造体、列挙型、およびクラスの指定イニシャライザを宣言しています: -![イニシャライザ宣言](../assets/initializer_declaration.png) +```swift +init(<#parameters#>) { + <#statements#> +} +``` クラスの指定イニシャライザは、クラスの全てのプロパティを直接初期化します。同じクラスの他のイニシャライザを呼び出すことはできません。クラスにスーパークラスがある場合は、スーパークラスの指定イニシャライザの 1 つを呼び出す必要があります。クラスがそのスーパークラスからプロパティを継承する場合、これらのプロパティのいずれかを現在のクラスで設定または変更する前に、スーパークラスの指定イニシャライザの 1 つを呼び出す必要があります。 @@ -888,7 +1131,11 @@ _イニシャライザ宣言_は、クラス、構造体、または列挙型の クラスの convenience イニシャライザを宣言するには、`convenience` 修飾子を使用してイニシャライザ宣言をマークします。 -![convenience イニシャライザ宣言](../assets/initializer_declaration2.png) +```swift +convenience init(<#parameters#>) { + <#statements#> +} +``` convenience イニシャライザは、初期化プロセスを別の convenience イニシャライザまたはクラスの指定イニシャライザの 1 つに委譲できます。つまり、初期化プロセスは、最終的にクラスのプロパティを初期化するために、指定イニシャライザを呼び出して終える必要があります。convenience イニシャライザは、スーパークラスのイニシャライザを呼び出すことはできません。 @@ -943,19 +1190,29 @@ if let actualInstance = SomeStruct(input: "Hello") { 詳細および失敗可能イニシャライザの例については、[Failable Initializers\(失敗可能イニシャライザ\)](declarations.md#declarations-failable-initializers)を参照ください。 -> GRAMMAR OF AN INITIALIZER DECLARATION -> initializer-declaration → [initializer-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-head) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause) `throws`opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [initializer-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-body) -> initializer-declaration → [initializer-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-head) [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause) `rethrows` [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [initializer-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer-body) -> initializer-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `init` -> initializer-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `init` `?` -> initializer-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `init` `!` -> initializer-body → [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) +> Grammar of an initializer declaration: +> +> *initializer-declaration* → *initializer-head* *generic-parameter-clause*_?_ *parameter-clause* **`async`**_?_ **`throws`**_?_ *generic-where-clause*_?_ *initializer-body* +> +> *initializer-declaration* → *initializer-head* *generic-parameter-clause*_?_ *parameter-clause* **`async`**_?_ **`rethrows`** *generic-where-clause*_?_ *initializer-body* +> +> *initializer-head* → *attributes*_?_ *declaration-modifiers*_?_ **`init`** +> +> *initializer-head* → *attributes*_?_ *declaration-modifiers*_?_ **`init`** **`?`** +> +> *initializer-head* → *attributes*_?_ *declaration-modifiers*_?_ **`init`** **`!`** +> +> *initializer-body* → *code-block ## デイニシャライザ宣言\(Deinitializer Declaration\) _デイニシャライザ宣言_は、クラス型のデイニシャライザを宣言します。デイニシャライザはパラメータを受け取らず、形式は次のとおりです: -![デイニシャライザ宣言](../assets/deinitializer_declaration.png) +```swift +deinit { + <#statements#> +} +``` デイニシャライザは、クラスオブジェクトへの参照がなくなると、クラスオブジェクトの割り当てが解除される直前に、自動的に呼び出されます。デイニシャライザは、クラス宣言の本文でのみ宣言でき、extension では宣言できません。各クラスは最大で 1 つのデイニシャライザを持つことができます。 @@ -965,14 +1222,19 @@ _デイニシャライザ宣言_は、クラス型のデイニシャライザを クラス宣言でデイニシャライザを使用する方法の例については、[Deinitialization\(デイニシャライザ\)](../language-guide/deinitialization.md)を参照ください。 -> GRAMMAR OF A DEINITIALIZER DECLARATION -> deinitializer-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `deinit` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) +> Grammar of a deinitializer declaration: +> +> *deinitializer-declaration* → *attributes*_?_ **`deinit`** *code-block* ## 拡張宣言\(Extension Declaration\) _拡張宣言_を使用すると、既存の型の動作を拡張できます。拡張宣言は、`extension` キーワードを使用して宣言され、形式は次のとおりです: -![拡張宣言](../assets/extension_declaration.png) +```swift +extension <#type name#> where <#requirements#> { + <#declarations#> +} +``` 拡張宣言の本文には、0 個以上の _declarations_ が含まれています。これらの _declarations_ には、計算プロパティ、計算型プロパティ、インスタンスメソッド、型メソッド、イニシャライザ、サブスクリプト、さらにはクラス、構造体、列挙型の宣言を含めることができます。拡張宣言には、デイニシャライザ、プロトコル宣言、格納プロパティ、プロパティオブザーバ、またはその他の拡張宣言を含めることはできません。プロトコルの extension は `final` をマークすることはできません。様々な種類の宣言を含む extension の説明といくつかの例については、[Extensions\(拡張\)](expressions.md)を参照ください。 @@ -986,7 +1248,11 @@ extension には、イニシャライザ宣言を含めることができます extension は、既存のクラス、構造体、または列挙型に _adopted protocols_ を指定することで、プロトコルへの準拠を追加できます。 -![extension でのプロトコルへの準拠](../assets/extension_declaration2.png) +```swift +extension <#type name#> where <#requirements#> { + <#declarations#> +} +``` extension は既存のクラスへの継承を追加できないため、_type name_ とコロン\(`:`\)の後にはプロトコルのリストのみを指定できます。 @@ -1138,17 +1404,32 @@ extension Array: Loggable where Element: MarkedLoggable { } // エラー: Array のプロトコル Loggable への冗長な準拠 ``` -> GRAMMAR OF AN EXTENSION DECLARATION -> extension-declaration → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier)opt `extension` [type-identifier](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-identifier) [type-inheritance-clause](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type-inheritance-clause)opt [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [extension-body](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_extension-body) -> extension-body → `{` [extension-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_extension-members)opt `}` -> extension-members → [extension-member](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_extension-member) [extension-members](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_extension-members)opt -> extension-member → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) \| [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) +> Grammar of an extension declaration: +> +> *extension-declaration* → *attributes*_?_ *access-level-modifier*_?_ **`extension`** *type-identifier* *type-inheritance-clause*_?_ *generic-where-clause*_?_ *extension-body* +> +> *extension-body* → **`{`** *extension-members*_?_ **`}`** +> +> +> +> *extension-members* → *extension-member* *extension-members*_?_ +> +> *extension-member* → *declaration* | *compiler-control-statement* ## サブスクリプト宣言\(Subscript Declaration\) _サブスクリプト宣言_を使用すると、特定の型のオブジェクトにサブスクリプトのサポートを追加できます。通常、コレクション、リスト、またはシーケンス内の要素にアクセスするための便利な構文を提供するために使用されます。サブスクリプト宣言は、`subscript` キーワードを使用して宣言され、形式は次のとおりです: -![subscript宣言](../assets/subscript_declaration.png) +```swift +subscript (<#parameters#>) -> <#return type#> { + get { + <#statements#> + } + set(<#setter name#>) { + <#statements#> + } +} +``` サブスクリプト宣言は、クラス、構造体、列挙型、 extension、またはプロトコル宣言のコンテキストでのみ使用できます。 @@ -1170,12 +1451,17 @@ _parameters_ または _return type_ がオーバーロードしているもの 型のインスタンスではなく、型自体のサブスクリプトを宣言するには、`static` 修飾子をサブスクリプト宣言にマークします。クラスは、サブクラスがスーパークラスの実装をオーバーライドできるようにする代わりに、`class` 修飾子を型計算プロパティにマークできます。クラス宣言では、`static` キーワードは、`class` と `final` 修飾子の両方で宣言をマークするのと同じ効果があります。 -> GRAMMAR OF A SUBSCRIPT DECLARATION -> subscript-declaration → [subscript-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-head) [subscript-result](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-result) [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> subscript-declaration → [subscript-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-head) [subscript-result](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-result) [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [getter-setter-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-setter-block) -> subscript-declaration → [subscript-head](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-head) [subscript-result](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_subscript-result) [generic-where-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-where-clause)opt [getter-setter-keyword-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_getter-setter-keyword-block) -> subscript-head → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt `subscript` [generic-parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/GenericParametersAndArguments.html#grammar_generic-parameter-clause)opt [parameter-clause](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_parameter-clause) -> subscript-result → `->` [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt [type](https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_type) +> Grammar of a subscript declaration: +> +> *subscript-declaration* → *subscript-head* *subscript-result* *generic-where-clause*_?_ *code-block* +> +> *subscript-declaration* → *subscript-head* *subscript-result* *generic-where-clause*_?_ *getter-setter-block* +> +> *subscript-declaration* → *subscript-head* *subscript-result* *generic-where-clause*_?_ *getter-setter-keyword-block* +> +> *subscript-head* → *attributes*_?_ *declaration-modifiers*_?_ **`subscript`** *generic-parameter-clause*_?_ *parameter-clause* +> +> *subscript-result* → **`->`** *attributes*_?_ *type* ## マクロ宣言\(Macro Declaration\) @@ -1214,7 +1500,9 @@ _演算子宣言_は、新しい中置、前置、または後置演算子をプ 次の形式で新しい中置演算子を宣言します: -![中置演算子](../assets/infix_operator_declaration.png) +```swift +infix operator <#operator name#>: <#precedence group#> +``` _中置演算子_は、式 `1 + 2` でおなじみの加算演算子\(`+`\)など、2 つのオペランドの間に記述される二項演算子です。 @@ -1222,7 +1510,9 @@ _中置演算子_は、式 `1 + 2` でおなじみの加算演算子\(`+`\)な 次の形式で新しい前置演算子を宣言します: -![前置演算子](../assets/prefix_operator_declaration.png) +```swift +prefix operator <#operator name#> +``` _前置演算子_は、式 `!a` のような前置論理 `NOT` 演算子\(`!`\)など、オペランドの直前に記述される単項演算子です。 @@ -1230,7 +1520,9 @@ _前置演算子_は、式 `!a` のような前置論理 `NOT` 演算子\(`!`\) 次の形式で新しい後置演算子を宣言します: -![後置演算子](../assets/postfix_operator_declaration.png) +```swift +postfix operator <#operator name#> +``` _後置演算子_は、式 `a!` のような後置強制アンラップ演算子\(`!`\)など、オペランドの直後に記述される単項演算子です。 @@ -1238,12 +1530,21 @@ _後置演算子_は、式 `a!` のような後置強制アンラップ演算子 新しい演算子を宣言した後、演算子と同じ名前の静的メソッドを宣言して実装します。静的メソッドは、演算子が引数として受け取る値の型のメンバの 1 つです。例えば、`Double` に `Int` を乗算する演算子は、`Double` または `Int` 構造体のいずれかに静的メソッドとして実装されます。前置または後置演算子を実装している場合は、そのメソッド宣言に対応する `prefix` または `postfix` 修飾子もマークする必要があります。新しい演算子を作成して実装する方法の例については、[Custom Operators\(カスタム演算子\)](../language-guide/advanced-operators.md#custom-operators)を参照ください。 -> GRAMMAR OF AN OPERATOR DECLARATION -> operator-declaration → [prefix-operator-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_prefix-operator-declaration) \| [postfix-operator-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_postfix-operator-declaration) \| [infix-operator-declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_infix-operator-declaration) -> prefix-operator-declaration → `prefix` `operator` [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) -> postfix-operator-declaration → `postfix` `operator` [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) -> infix-operator-declaration → `infix` `operator` [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) [infix-operator-group](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_infix-operator-group)opt -> infix-operator-group → `:` [precedence-group-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-name) +> Grammar of an operator declaration: +> +> *operator-declaration* → *prefix-operator-declaration* | *postfix-operator-declaration* | *infix-operator-declaration* +> +> +> +> *prefix-operator-declaration* → **`prefix`** **`operator`** *operator* +> +> *postfix-operator-declaration* → **`postfix`** **`operator`** *operator* +> +> *infix-operator-declaration* → **`infix`** **`operator`** *operator* *infix-operator-group*_?_ +> +> +> +> *infix-operator-group* → **`:`** *precedence-group-name* ## 優先順位グループ宣言\(Precedence Group Declaration\) @@ -1251,7 +1552,14 @@ _優先順位グループ宣言_は、プログラムに中置演算子の優先 優先順位グループ宣言の形式は次のとおりです: -![優先順位グループ宣言](../assets/precedence_group_declaration.png) +```swift +precedencegroup <#precedence group name#> { + higherThan: <#lower group names#> + lowerThan: <#higher group names#> + associativity: <#associativity#> + assignment: <#assignment#> +} +``` _lower group names_ と _higher group names_ のリストは、既存の優先順位グループに対する新しい優先順位グループの関係を指定します。`lowerThan` 優先順位グループ属性は、現在のモジュールの外部で宣言された優先順位グループを参照するためにのみ使用できます。式 `2 + 3 * 5` のように、2 つの演算子のオペランドが競合する場合、相対的に優先順位の高い演算子がオペランドにバインドされます。 @@ -1264,68 +1572,80 @@ Swift は、標準ライブラリが提供する演算子に多数の優先順 優先順位グループの _assignment_ は、オプショナルチェーンを含む操作で使用される場合の演算子の優先順位を指定します。`true` にすると、対応する優先順位グループの演算子は、オプショナルチェーン中に、標準ライブラリの代入演算子と同じグループ化結合規則を使用します。それ以外の場合、`false` にするか省略すると、優先順位グループの演算子は、代入を実行しない演算子と同じオプショナルチェーンの結合規則に従います。 -> GRAMMAR OF A PRECEDENCE GROUP DECLARATION -> precedence-group-declaration → `precedencegroup` [precedence-group-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-name) `{` [precedence-group-attributes](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-attributes)opt `}` -> precedence-group-attributes → [precedence-group-attribute](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-attribute) [precedence-group-attributes](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-attributes)opt -> precedence-group-attribute → [precedence-group-relation](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-relation) -> precedence-group-attribute → [precedence-group-assignment](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-assignment) -> precedence-group-attribute → [precedence-group-associativity](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-associativity) -> precedence-group-relation → `higherThan` `:` [precedence-group-names](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-names) -> precedence-group-relation → `lowerThan` `:` [precedence-group-names](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-names) -> precedence-group-assignment → `assignment` `:` [boolean-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_boolean-literal) -> precedence-group-associativity → `associativity` `:` `left` -> precedence-group-associativity → `associativity` `:` `right` -> precedence-group-associativity → `associativity` `:` `none` -> precedence-group-names → [precedence-group-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-name) \| [precedence-group-name](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-name) `,` [precedence-group-names](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_precedence-group-names) -> precedence-group-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) +> Grammar of a precedence group declaration: +> +> *precedence-group-declaration* → **`precedencegroup`** *precedence-group-name* **`{`** *precedence-group-attributes*_?_ **`}`** +> +> +> +> *precedence-group-attributes* → *precedence-group-attribute* *precedence-group-attributes*_?_ +> +> *precedence-group-attribute* → *precedence-group-relation* +> +> *precedence-group-attribute* → *precedence-group-assignment* +> +> *precedence-group-attribute* → *precedence-group-associativity* +> +> +> +> *precedence-group-relation* → **`higherThan`** **`:`** *precedence-group-names* +> +> *precedence-group-relation* → **`lowerThan`** **`:`** *precedence-group-names* +> +> +> +> *precedence-group-assignment* → **`assignment`** **`:`** *boolean-literal* +> +> +> +> *precedence-group-associativity* → **`associativity`** **`:`** **`left`** +> +> *precedence-group-associativity* → **`associativity`** **`:`** **`right`** +> +> *precedence-group-associativity* → **`associativity`** **`:`** **`none`** +> +> +> +> *precedence-group-names* → *precedence-group-name* | *precedence-group-name* **`,`** *precedence-group-names* +> +> *precedence-group-name* → *identifier* ## 宣言修飾子\(Declaration Modifiers\) _宣言修飾子_は、宣言の動作または意味を変更するキーワードまたはコンテキスト依存キーワードです。\(存在する場合は\)宣言の属性と宣言を導入するキーワードの間に適切なキーワードまたはコンテキスト依存キーワードを記述することにより、宣言修飾子を指定します。 -class - - この修飾子をクラスのメンバに適用して、メンバがクラスのインスタンスのメンバではなく、クラス自体のメンバだということを示します。この修飾子があり、\`final\` 修飾子がないスーパークラスのメンバは、サブクラスでオーバーライドできます。 - -dynamic - - この修飾子は、Objective-C で使用できるクラスの全てのメンバに適用します。\`dynamic\` 修飾子を使用してメンバ宣言をマークすると、そのメンバへのアクセスは常に Objective-C ランタイムを使用して動的にディスパッチされます。そのメンバへのアクセスは、コンパイラによってインライン化または非仮想化されることはありません。 \`dynamic\` 修飾子でマークされた宣言は Objective-C ランタイムを使用してディスパッチされるため、\`objc\` 属性でマークする必要があります。 - -final +- `class`: +この修飾子をクラスのメンバに適用して、メンバがクラスのインスタンスのメンバではなく、クラス自体のメンバだということを示します。この修飾子があり、\`final\` 修飾子がないスーパークラスのメンバは、サブクラスでオーバーライドできます。 - この修飾子をクラス、またはクラスのプロパティ、メソッド、またはサブスクリプトメンバに適用します。クラスに適用するとサブクラス化できないことを示し、クラスのプロパティ、メソッド、またはサブスクリプトに適用すると、クラスメンバがどのサブクラスでもオーバーライドできないことを示します。\`final\` 属性の使用方法の例については、[Preventing Overrides\(オーバーライドを防ぐ\)](../language-guide/inheritance.md#preventing-overrides)を参照ください。 +- `dynamic`: +この修飾子は、Objective-C で使用できるクラスの全てのメンバに適用します。\`dynamic\` 修飾子を使用してメンバ宣言をマークすると、そのメンバへのアクセスは常に Objective-C ランタイムを使用して動的にディスパッチされます。そのメンバへのアクセスは、コンパイラによってインライン化または非仮想化されることはありません。 \`dynamic\` 修飾子でマークされた宣言は Objective-C ランタイムを使用してディスパッチされるため、\`objc\` 属性でマークする必要があります。 -lazy +- `final`: +この修飾子をクラス、またはクラスのプロパティ、メソッド、またはサブスクリプトメンバに適用します。クラスに適用するとサブクラス化できないことを示し、クラスのプロパティ、メソッド、またはサブスクリプトに適用すると、クラスメンバがどのサブクラスでもオーバーライドできないことを示します。\`final\` 属性の使用方法の例については、[Preventing Overrides\(オーバーライドを防ぐ\)](../language-guide/inheritance.md#preventing-overrides)を参照ください。 - この修飾子をクラスまたは構造体の格納変数プロパティに適用すると、プロパティが最初にアクセスされたときに、一度だけプロパティの初期値が計算され、格納されることを示します。lazy 修飾子の使用方法の例については、[Lazy Stored Properties\(遅延格納プロパティ\)](../language-guide/properties.md#lazy-stored-properties)を参照ください。 +- `lazy`: +この修飾子をクラスまたは構造体の格納変数プロパティに適用すると、プロパティが最初にアクセスされたときに、一度だけプロパティの初期値が計算され、格納されることを示します。lazy 修飾子の使用方法の例については、[Lazy Stored Properties\(遅延格納プロパティ\)](../language-guide/properties.md#lazy-stored-properties)を参照ください。 -optional +- `optional`: +この修飾子をプロトコルのプロパティ、メソッド、またはサブスクリプトのメンバに適用して、準拠する型がこれらのメンバを実装する必要がないことを示します。 \`optional\` 修飾子は、\`objc\` 属性でマークされているプロトコルにのみ適用できます。その結果、クラス型のみが、オプショナルのメンバ要件を含むプロトコルに準拠できます。\`optional\` 修飾子の使用方法の詳細と、オプショナルのプロトコルメンバにアクセスする方法のガイダンス\(例えば、準拠する型がそれらを実装しているかどうかわからない場合\)については、[Optional Protocol Requirements\(オプショナルのプロトコル要件\)](../language-guide/protocols.md#optional-protocol-requirements)を参照ください。 - この修飾子をプロトコルのプロパティ、メソッド、またはサブスクリプトのメンバに適用して、準拠する型がこれらのメンバを実装する必要がないことを示します。 \`optional\` 修飾子は、\`objc\` 属性でマークされているプロトコルにのみ適用できます。その結果、クラス型のみが、オプショナルのメンバ要件を含むプロトコルに準拠できます。\`optional\` 修飾子の使用方法の詳細と、オプショナルのプロトコルメンバにアクセスする方法のガイダンス\(例えば、準拠する型がそれらを実装しているかどうかわからない場合\)については、[Optional Protocol Requirements\(オプショナルのプロトコル要件\)](../language-guide/protocols.md#optional-protocol-requirements)を参照ください。 +- `required`: +この修飾子をクラスの指定イニシャライザまたは convenience イニシャライザに適用して、全てのサブクラスがそのイニシャライザを実装する必要があることを示します。そのイニシャライザのサブクラスの実装にも、\`required\` 修飾子を付ける必要があります。 -required +- `static`: +この修飾子を構造体、クラス、列挙型、またはプロトコルのメンバに適用して、メンバがその型のインスタンスのメンバではなく、その型自体のメンバだということを示します。クラス宣言のスコープでは、メンバ宣言に \`static\` 修飾子を書き込むことは、そのメンバ宣言に \`class\` および \`final\` 修飾子を書き込むことと同じ効果があります。ただし、クラスの定数型プロパティは例外です:\`static\` は、宣言に \`class\` または \`final\` を記述できないため、通常はクラスではない、という意味になります。 - この修飾子をクラスの指定イニシャライザまたは convenience イニシャライザに適用して、全てのサブクラスがそのイニシャライザを実装する必要があることを示します。そのイニシャライザのサブクラスの実装にも、\`required\` 修飾子を付ける必要があります。 +- `unowned`: +この修飾子を格納変数、定数、または格納プロパティに適用すると、変数またはプロパティがその値に格納されたオブジェクトの参照を所有していないことを示します。オブジェクトの割り当てが解除された後で変数またはプロパティにアクセスしようとすると、実行時エラーが発生します。弱参照と同様に、プロパティまたは値の型はクラス型の必要があります。ただし、弱参照とは異なり、型はオプショナルではありません。\`unowned\` 修飾子の例と詳細については、[Unowned References\(非所有参照\)](../language-guide/automatic-reference-counting.md#unowned-references)を参照ください。 -static +- `unowned\(safe\)`: +\`unowned\` の明示的な記述。 - この修飾子を構造体、クラス、列挙型、またはプロトコルのメンバに適用して、メンバがその型のインスタンスのメンバではなく、その型自体のメンバだということを示します。クラス宣言のスコープでは、メンバ宣言に \`static\` 修飾子を書き込むことは、そのメンバ宣言に \`class\` および \`final\` 修飾子を書き込むことと同じ効果があります。ただし、クラスの定数型プロパティは例外です:\`static\` は、宣言に \`class\` または \`final\` を記述できないため、通常はクラスではない、という意味になります。 +- `unowned\(unsafe\)`: +この修飾子を格納変数、定数、または格納プロパティに適用すると、変数またはプロパティがその値に格納されたオブジェクトの参照を所有していないことを示します。オブジェクトの割り当てが解除された後で変数またはプロパティにアクセスしようとすると、オブジェクトがあった場所のメモリにアクセスします。これは、メモリ安全ではない操作です。弱参照と同様に、プロパティまたは値の型はクラス型の必要があります。ただし、弱参照とは異なり、型はオプショナルではありません。 \`unowned\` 修飾子の例と詳細については、[Unowned References\(非所有参照\)](../language-guide/automatic-reference-counting.md#unowned-references)を参照ください。 -unowned - - この修飾子を格納変数、定数、または格納プロパティに適用すると、変数またはプロパティがその値に格納されたオブジェクトの参照を所有していないことを示します。オブジェクトの割り当てが解除された後で変数またはプロパティにアクセスしようとすると、実行時エラーが発生します。弱参照と同様に、プロパティまたは値の型はクラス型の必要があります。ただし、弱参照とは異なり、型はオプショナルではありません。\`unowned\` 修飾子の例と詳細については、[Unowned References\(非所有参照\)](../language-guide/automatic-reference-counting.md#unowned-references)を参照ください。 - -unowned\(safe\) - - \`unowned\` の明示的な記述。 - -unowned\(unsafe\) - - この修飾子を格納変数、定数、または格納プロパティに適用すると、変数またはプロパティがその値に格納されたオブジェクトの参照を所有していないことを示します。オブジェクトの割り当てが解除された後で変数またはプロパティにアクセスしようとすると、オブジェクトがあった場所のメモリにアクセスします。これは、メモリ安全ではない操作です。弱参照と同様に、プロパティまたは値の型はクラス型の必要があります。ただし、弱参照とは異なり、型はオプショナルではありません。 \`unowned\` 修飾子の例と詳細については、[Unowned References\(非所有参照\)](../language-guide/automatic-reference-counting.md#unowned-references)を参照ください。 - -weak - - この修飾子を格納変数または格納変数プロパティに適用すると、変数またはプロパティがその値に格納されているオブジェクトへ弱い参照を持っていることを示します。変数またはプロパティの型は、オプショナルのクラス型の必要があります。オブジェクトの割り当てが解除された後に変数またはプロパティにアクセスすると、その値は \`nil\` になります。\`weak\` 修飾子の例と詳細については、[Weak References\(弱参照\)](../language-guide/automatic-reference-counting.md#weak-references)を参照ください。 +- `weak`: +この修飾子を格納変数または格納変数プロパティに適用すると、変数またはプロパティがその値に格納されているオブジェクトへ弱い参照を持っていることを示します。変数またはプロパティの型は、オプショナルのクラス型の必要があります。オブジェクトの割り当てが解除された後に変数またはプロパティにアクセスすると、その値は \`nil\` になります。\`weak\` 修飾子の例と詳細については、[Weak References\(弱参照\)](../language-guide/automatic-reference-counting.md#weak-references)を参照ください。 ## Access Control Levels\(アクセス制御レベル\) @@ -1333,39 +1653,53 @@ Swift は、open、public、internal、file private、private の 5 つのレベ ## アクセス制御レベル\(Access Control Levels\) - この修飾子を宣言に適用すると、同じモジュール内のコードから宣言にアクセスしたり、サブクラス化できることを示します。\`open\` 修飾子でマークされた宣言は、その宣言を含むモジュールをインポートしたモジュール内のコードからアクセスおよびサブクラス化することもできます。 - -public - - この修飾子を宣言に適用すると、同じモジュール内のコードから宣言にアクセスしたり、サブクラス化できることを示します。\`public\` 修飾子でマークされた宣言は、その宣言を含むモジュールをインポートするモジュール内のコードからアクセスできます\(ただし、サブクラス化はできません\)。 - -internal +- `open`: +この修飾子を宣言に適用すると、同じモジュール内のコードから宣言にアクセスしたり、サブクラス化できることを示します。\`open\` 修飾子でマークされた宣言は、その宣言を含むモジュールをインポートしたモジュール内のコードからアクセスおよびサブクラス化することもできます。 - この修飾子を宣言に適用すると、同じモジュール内のコードからのみ宣言にアクセスできることを示します。デフォルトでは、ほとんどの宣言は、\`internal\` 修飾子で暗黙的にマークされています。 +- public: +この修飾子を宣言に適用すると、同じモジュール内のコードから宣言にアクセスしたり、サブクラス化できることを示します。\`public\` 修飾子でマークされた宣言は、その宣言を含むモジュールをインポートするモジュール内のコードからアクセスできます\(ただし、サブクラス化はできません\)。 -fileprivate +- `internal`: +この修飾子を宣言に適用すると、同じモジュール内のコードからのみ宣言にアクセスできることを示します。デフォルトでは、ほとんどの宣言は、\`internal\` 修飾子で暗黙的にマークされています。 - この修飾子を宣言に適用すると、宣言と同じソースファイル内のコードからのみ宣言にアクセスできることを示します。 +- `fileprivate`: +この修飾子を宣言に適用すると、宣言と同じソースファイル内のコードからのみ宣言にアクセスできることを示します。 -private - - この修飾子を宣言に適用すると、宣言で囲んだスコープ内のコードからのみ宣言にアクセスできることを示します。 +- `private`: +この修飾子を宣言に適用すると、宣言で囲んだスコープ内のコードからのみ宣言にアクセスできることを示します。 アクセス制御の目的で、同じファイル内にある同じ型の extension は、アクセス制御スコープを共有します。その型を拡張する型も同じファイル内にある場合、同様にその型のアクセス制御スコープを共有します。型の宣言で宣言されたプライベートメンバは extension からもアクセスでき、1 つの extension で宣言されたプライベートメンバは、他の extension および型の宣言からもアクセスできます。 上記の各アクセスレベル修飾子は、任意で 1 つの引数、括弧で囲まれた `set` キーワード\(例えば、`private(set)`\)を受け入れます。[Getters and Setters\(get と set\)](../language-guide/access-control.md#getters-and-setters)で説明されているように、変数またはサブスクリプト自体のアクセスレベル以下のアクセスレベルを変数またはサブスクリプトの set に指定する場合は、この形式のアクセスレベル修飾子を使用します。 -> GRAMMAR OF A DECLARATION MODIFIER -> declaration-modifier → `class` \| `convenience` \| `dynamic` \| `final` \| `infix` \| `lazy` \| `optional` \| `override` \| `postfix` \| `prefix` \| `required` \| `static` \| `unowned` \| `unowned` `(` `safe` `)` \| `unowned(` `unsafe` `)` \| `weak` -> declaration-modifier → [access-level-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_access-level-modifier) -> declaration-modifier → [mutation-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_mutation-modifier) -> declaration-modifier → [actor-isolation-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_actor-isolation-modifier) -> declaration-modifiers → [declaration-modifier](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifier) [declaration-modifiers](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration-modifiers)opt -> access-level-modifier → `private` \| `private` `(` `set` `)` -> access-level-modifier → `fileprivate` \| `fileprivate` `(` `set` `)` -> access-level-modifier → `internal` \| `internal` `(` `set` `)` -> access-level-modifier → `public` \| `public` `(` `set` `)` -> access-level-modifier → `open` \| `open` `(` `set` `)` -> mutation-modifier → `mutating` \| `nonmutating` -> actor-isolation-modifier → `nonisolated` - +> Grammar of a declaration modifier: +> +> *declaration-modifier* → **`class`** | **`convenience`** | **`dynamic`** | **`final`** | **`infix`** | **`lazy`** | **`optional`** | **`override`** | **`postfix`** | **`prefix`** | **`required`** | **`static`** | **`unowned`** | **`unowned`** **`(`** **`safe`** **`)`** | **`unowned`** **`(`** **`unsafe`** **`)`** | **`weak`** +> +> *declaration-modifier* → *access-level-modifier* +> +> *declaration-modifier* → *mutation-modifier* +> +> *declaration-modifier* → *actor-isolation-modifier* +> +> *declaration-modifiers* → *declaration-modifier* *declaration-modifiers*_?_ +> +> +> +> *access-level-modifier* → **`private`** | **`private`** **`(`** **`set`** **`)`** +> +> *access-level-modifier* → **`fileprivate`** | **`fileprivate`** **`(`** **`set`** **`)`** +> +> *access-level-modifier* → **`internal`** | **`internal`** **`(`** **`set`** **`)`** +> +> *access-level-modifier* → **`public`** | **`public`** **`(`** **`set`** **`)`** +> +> *access-level-modifier* → **`open`** | **`open`** **`(`** **`set`** **`)`** +> +> +> +> *mutation-modifier* → **`mutating`** | **`nonmutating`** +> +> +> +> *actor-isolation-modifier* → **`nonisolated`** From 5f410406d5e47da3c227cbdf460ece3dbaf0ce1d Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 13:42:01 +0900 Subject: [PATCH 04/19] =?UTF-8?q?[=E5=BC=8F]=E5=8E=9F=E6=96=87=E3=81=AE?= =?UTF-8?q?=E5=BD=A2=E5=BC=8F=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-reference/expressions.md | 37 ++++--------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/language-reference/expressions.md b/language-reference/expressions.md index 473818fd..a6637cfc 100644 --- a/language-reference/expressions.md +++ b/language-reference/expressions.md @@ -1,6 +1,6 @@ # 式\(Expressions\) -最終更新日: 2023/5/27 +最終更新日: 2023/6/4 原文: https://docs.swift.org/swift-book/ReferenceManual/Expressions.html 型、演算子、変数、およびその他の名前と構造を紹介する。 @@ -280,37 +280,11 @@ f(x as Any) ### リテラル式\(Literal Expression\) -リテラル式は、通常のリテラル\(文字列や数など\)、配列または辞書リテラル、playground リテラル、または下記の特別なリテラルのいずれかで構成されます。 - -| Literal | Type | Value | -| :---: | :---: | :---: | -| `#file` | `String` | 使用されているファイルへのパス | -| `#fileID` | `String` | 使用されているファイルとモジュールの名前 | -| `#filePath` | `String` | 使用されているファイルへのパス | -| `#line` | `Int` | 使用されている行番号 | -| `#column` | `Int` | 開始列番号 | -| `#function` | `String` | 使用されている宣言の名前 | -| `#dsohandle` | `UnsafeRawPointer` | 使用中の動的共有オブジェクト\(DSO\)ハンドル | - -`#file` の文字列値は、古い `#filePath` から新しい `#fileID` への移行を有効にするために、言語のバージョンによって異なります。現在、`#file` は `#filePath` と同じ値を持ちます。将来の Swift のバージョンでは、`#file` は代わりに `#fileID` と同じ値を持ちます。将来のバージョンの挙動を適用するには、`#file` を `#fileID` または `#filePath` に置き換える必要があります。 - -`#fileID` 式の文字列値はモジュール/ファイル形式です。ここで言う、「ファイル」は式が使用されているファイルの名前で、「モジュール」は、がこのファイルが属しているモジュールの名前です。`#filePath` 式の文字列値は、式が使用されているファイルへのフルパスです。[Line Control Statement\(行制御文\)](../language-reference/statements.md#line-control-statement)で説明されているように、これらの値はどちらも `#sourceLocation` に変わる可能性があります。`#fileID` は `#filePath` とは異なり、ソースファイルへのフルパスをソースファイルに埋め込むことはできないため、より良いプライバシーを提供し、コンパイルされたバイナリのサイズを減させることができます。テスト、ビルドスクリプト、また配布されるプログラムの一部にはならないその他のコードの外側で `#filePath` を使用しないでください。 +リテラル式は、通常のリテラル\(文字列や数など\)、配列または辞書リテラル、playground リテラルで構成されます。 > NOTE -> `#fileID` 式は、最初のスラッシュ\(`/`\)の前のテキストをモジュール名、最後のスラッシュ\(`/`\)の後のテキストをファイル名と読んでください。将来的には、`MyModule/some/disambigation/myfile.swift` などのように、複数のスラッシュが含まれている可能性があります。 - -`#function` の値は、関数内ではその関数の名前です。メソッド内では、そのメソッドの名前、プロパティ get または set 内ではプロパティ名、`init` や `subscript` のような特別なメンバ内では、そのキーワード名、およびファイルのトップレベルでは、現在のモジュール名です。 - -関数またはメソッドのパラメータのデフォルト値として使用すると、呼び出し側でデフォルト値の式が評価され、特別なリテラル値が決定します。 - -```swift -func logFunctionName(string: String = #function) { - print(string) -} -func myFunction() { - logFunctionName() // myFunction(). -} -``` +> Swift 5.9以前は、以下の特殊リテラルが認識されていましたが、現在はSwift標準ライブラリのマクロとして実装されています: +> `#column`, `#dsohandle` , `#fileID`, `#filePath`, `#file`, `#function`, `#line` _配列リテラル_は、順序付けられた値の集合です。形式は次のとおりです: @@ -346,9 +320,6 @@ Xcode の playground リテラルの使用方法については、Xcode ヘル > > *literal-expression* → *array-literal* | *dictionary-literal* | *playground-literal* > -> *literal-expression* → **`#file`** | **`#fileID`** | **`#filePath`** -> -> *literal-expression* → **`#line`** | **`#column`** | **`#function`** | **`#dsohandle`** > > > From 0d0aed72efe2b3fad0e7c858c687d64697736cd2 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 13:52:12 +0900 Subject: [PATCH 05/19] =?UTF-8?q?[=E5=AD=97=E5=8F=A5=E6=A7=8B=E9=80=A0]?= =?UTF-8?q?=E5=8E=9F=E6=96=87=E3=81=AE=E5=BD=A2=E5=BC=8F=E3=81=AB=E5=90=88?= =?UTF-8?q?=E3=82=8F=E3=81=9B=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-reference/lexical-structure.md | 553 +++++++++++++++++------- 1 file changed, 394 insertions(+), 159 deletions(-) diff --git a/language-reference/lexical-structure.md b/language-reference/lexical-structure.md index 8d5ab764..91465aa1 100644 --- a/language-reference/lexical-structure.md +++ b/language-reference/lexical-structure.md @@ -1,6 +1,6 @@ # 字句構造 \(Lexical Structure\) -最終更新日: 2022/12/3 +最終更新日: 2023/6/4 原文: https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html 最低水準の構成要素を使用する。 @@ -17,26 +17,55 @@ Swift の_字句構造_は、言語として有効なトークンを形成する [Markup Formatting Reference](https://developer.apple.com/library/content/documentation/Xcode/Reference/xcode_markup_formatting_ref/index.html)で説明されているとおり、コメントには追加のフォーマットとマークアップを含めることができます。 -> GRAMMAR OF WHITESPACE -> whitespace → [whitespace-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_whitespace-item) [whitespace](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_whitespace)opt -> whitespace-item → [line-break](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_line-break) -> whitespace-item → [inline-space](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_inline-space) -> whitespace-item → [comment](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_comment) -> whitespace-item → [multiline-comment](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-comment) -> whitespace-item → U+0000, U+000B, または U+000C -> line-break → U+000A -> line-break → U+000D -> line-break → U+000D に続く U+000A -> inline-spaces → [inline-space](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_inline-space) [inline-spaces](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_inline-spaces)opt -> inline-space → U+0009 または U+0020 -> comment → `//` [comment-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_comment-text) [line-break](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_line-break) -> multiline-comment → `/*` [multiline-comment-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-comment-text) `*/` -> comment-text → [comment-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_comment-text-item) [comment-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_comment-text)opt -> comment-text-item → U+000A または U+000D を除く任意の Unicode スカラ値 -> multiline-comment-text → [multiline-comment-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-comment-text-item) [multiline-comment-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-comment-text)opt -> multiline-comment-text-item → [multiline-comment](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-comment) -> multiline-comment-text-item → [comment-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_comment-text-item) -> multiline-comment-text-item → `/*` または `*/` を除く任意の Unicode スカラ値 +> Grammar of whitespace: +> +> *whitespace* → *whitespace-item* *whitespace*_?_ +> +> *whitespace-item* → *line-break* +> +> *whitespace-item* → *inline-space* +> +> *whitespace-item* → *comment* +> +> *whitespace-item* → *multiline-comment* +> +> *whitespace-item* → U+0000, U+000B, or U+000C +> +> +> +> *line-break* → U+000A +> +> *line-break* → U+000D +> +> *line-break* → U+000D followed by U+000A +> +> +> +> *inline-spaces* → *inline-space* *inline-spaces*_?_ +> +> *inline-space* → U+0009 or U+0020 +> +> +> +> *comment* → **`//`** *comment-text* *line-break* +> +> *multiline-comment* → **`/*`** *multiline-comment-text* **`*/`** +> +> +> +> *comment-text* → *comment-text-item* *comment-text*_?_ +> +> *comment-text-item* → Any Unicode scalar value except U+000A or U+000D +> +> +> +> *multiline-comment-text* → *multiline-comment-text-item* *multiline-comment-text*_?_ +> +> *multiline-comment-text-item* → *multiline-comment* +> +> *multiline-comment-text-item* → *comment-text-item* +> +> *multiline-comment-text-item* → Any Unicode scalar value except **`/*`** or **`*/`** ## 識別子\(Identifiers\) @@ -50,34 +79,67 @@ _識別子_は、大文字または小文字の `A` から `Z`、アンダース コンパイラは、プロパティラッパのプロジェクション値を持つプロパティにドル記号\(`$`\)で始まる識別子を合成します。コード上でこれらの識別子とやり取りできますが、ドル記号\(`$`\)から始まる識別子を宣言することはできません。詳細については、[Attributes\(属性\)](attributes.md)の章の[propertyWrapper](../language-reference/attributes.md#propertywrapper)セクションを参照ください。 -> GRAMMAR OF AN IDENTIFIER -> identifier → [identifier-head](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-head) [identifier-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-characters)opt -> identifier → **\`** [identifier-head](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-head) [identifier-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-characters)opt **\`** -> identifier → [implicit-parameter-name](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_implicit-parameter-name) -> identifier → [property-wrapper-projection](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_property-wrapper-projection) -> identifier-list → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) \| [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) `,` [identifier-list](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-list) -> identifier-head → 大文字または小文字の A ~ Z -> identifier-head → `_` -> identifier-head → U+00A8, U+00AA, U+00AD, U+00AF, U+00B2–U+00B5, または U+00B7–U+00BA -> identifier-head → U+00BC–U+00BE, U+00C0–U+00D6, U+00D8–U+00F6, または U+00F8–U+00FF -> identifier-head → U+0100–U+02FF, U+0370–U+167F, U+1681–U+180D, または U+180F–U+1DBF -> identifier-head → U+1E00–U+1FFF -> identifier-head → U+200B–U+200D, U+202A–U+202E, U+203F–U+2040, U+2054, または U+2060–U+206F -> identifier-head → U+2070–U+20CF, U+2100–U+218F, U+2460–U+24FF, または U+2776–U+2793 -> identifier-head → U+2C00–U+2DFF または U+2E80–U+2FFF -> identifier-head → U+3004–U+3007, U+3021–U+302F, U+3031–U+303F, または U+3040–U+D7FF -> identifier-head → U+F900–U+FD3D, U+FD40–U+FDCF, U+FDF0–U+FE1F, または U+FE30–U+FE44 -> identifier-head → U+FE47–U+FFFD -> identifier-head → U+10000–U+1FFFD, U+20000–U+2FFFD, U+30000–U+3FFFD, または U+40000–U+4FFFD -> identifier-head → U+50000–U+5FFFD, U+60000–U+6FFFD, U+70000–U+7FFFD, または U+80000–U+8FFFD -> identifier-head → U+90000–U+9FFFD, U+A0000–U+AFFFD, U+B0000–U+BFFFD, または U+C0000–U+CFFFD -> identifier-head → U+D0000–U+DFFFD または U+E0000–U+EFFFD -> identifier-character → 数値 0 ~ 9 -> identifier-character → U+0300–U+036F, U+1DC0–U+1DFF, U+20D0–U+20FF, または U+FE20–U+FE2F -> identifier-character → [identifier-head](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-head) -> identifier-characters → [identifier-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-character) [identifier-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-characters)opt -> implicit-parameter-name → `$` [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) -> property-wrapper-projection → `$` [identifier-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier-characters) +> Grammar of an identifier: +> +> *identifier* → *identifier-head* *identifier-characters*_?_ +> +> *identifier* → **`` ` ``** *identifier-head* *identifier-characters*_?_ **`` ` ``** +> +> *identifier* → *implicit-parameter-name* +> +> *identifier* → *property-wrapper-projection* +> +> *identifier-list* → *identifier* | *identifier* **`,`** *identifier-list* +> +> +> +> *identifier-head* → Upper- or lowercase letter A through Z +> +> *identifier-head* → **`_`** +> +> *identifier-head* → U+00A8, U+00AA, U+00AD, U+00AF, U+00B2–U+00B5, or U+00B7–U+00BA +> +> *identifier-head* → U+00BC–U+00BE, U+00C0–U+00D6, U+00D8–U+00F6, or U+00F8–U+00FF +> +> *identifier-head* → U+0100–U+02FF, U+0370–U+167F, U+1681–U+180D, or U+180F–U+1DBF +> +> *identifier-head* → U+1E00–U+1FFF +> +> *identifier-head* → U+200B–U+200D, U+202A–U+202E, U+203F–U+2040, U+2054, or U+2060–U+206F +> +> *identifier-head* → U+2070–U+20CF, U+2100–U+218F, U+2460–U+24FF, or U+2776–U+2793 +> +> *identifier-head* → U+2C00–U+2DFF or U+2E80–U+2FFF +> +> *identifier-head* → U+3004–U+3007, U+3021–U+302F, U+3031–U+303F, or U+3040–U+D7FF +> +> *identifier-head* → U+F900–U+FD3D, U+FD40–U+FDCF, U+FDF0–U+FE1F, or U+FE30–U+FE44 +> +> *identifier-head* → U+FE47–U+FFFD +> +> *identifier-head* → U+10000–U+1FFFD, U+20000–U+2FFFD, U+30000–U+3FFFD, or U+40000–U+4FFFD +> +> *identifier-head* → U+50000–U+5FFFD, U+60000–U+6FFFD, U+70000–U+7FFFD, or U+80000–U+8FFFD +> +> *identifier-head* → U+90000–U+9FFFD, U+A0000–U+AFFFD, U+B0000–U+BFFFD, or U+C0000–U+CFFFD +> +> *identifier-head* → U+D0000–U+DFFFD or U+E0000–U+EFFFD +> +> +> +> *identifier-character* → Digit 0 through 9 +> +> *identifier-character* → U+0300–U+036F, U+1DC0–U+1DFF, U+20D0–U+20FF, or U+FE20–U+FE2F +> +> *identifier-character* → *identifier-head* +> +> *identifier-characters* → *identifier-character* *identifier-characters*_?_ +> +> +> +> *implicit-parameter-name* → **`$`** *decimal-digits* +> +> *property-wrapper-projection* → **`$`** *identifier-characters* ## 単語と句読点\(Keywords and Punctuation\) @@ -87,7 +149,12 @@ _識別子_は、大文字または小文字の `A` から `Z`、アンダース * 文で使用されるキーワード: `break`、`case`、`continue`、`default`、`defer`、`do`、`else`、`fallthrough`、`for`、`guard`、`if`、`in`、`repeat`、`return`、`switch`、`where`、`while` * 式と型で使用されるキーワード: `Any`、`as`、`await`、`catch`、`false`、`is`、`nil`、`super`、`self`、`Self`、`throw`、`throws`、`true`、および `try` * パターンで使用されるキーワード: `_` -* シャープ記号\(`#`\)で始まるキーワード: `#available`、`#colorLiteral`、`#column`、`#else`、`#elseif`、`#endif`、`#error`、`#file`、`#fileID`、`#fileLiteral`、`#filePath`、`#function`、`#if`、`#imageLiteral`、`#line`、`#selector`、`#sourceLocation`、および `#warning` +* シャープ記号\(`#`\)で始まるキーワード: `#available`、`#colorLiteral`、`#else`、`#elseif`、`#endif`、`#if`、`#imageLiteral`、`#selector`、`#sourceLocation` + +> NOTE +> Swift 5.9以前は、以下の特殊リテラルが認識されていましたが、現在はSwift標準ライブラリのマクロとして実装されています: +> `#column`, `#dsohandle` , `#fileID`, `#filePath`, `#file`, `#function`, `#line` + * 特定のコンテキストで予約されているキーワード: `associativity`、`convenient`、`dynamic`、`didSet`、`final`、`get`、`infix`、`indirect`、`lazy`、`left`、`mutating`、`none`、`nonmutating`、`optional`、`override`、`postfix`、`precedence`、`prefix`、`Protocol`、 `required`、`right`、`set`、`Type`、 `unowned`、 `weak`、 および `willSet`。該当するコンテキスト外では、識別子として使用することができます 次のトークンは句読点として予約されており、カスタム演算子としては使用できません: `(`、 `)`、 `{`、 `}`、 `[`、 `]`、 `.`、 `,`、 `:`、 `;`、 `=`、 `@`、 `#`、 `&`\(前置演算子として\)、`->`、\`、`?`、および `!`\(後置演算子として\) @@ -109,11 +176,17 @@ true // ブールリテラル リテラル値の型注釈を明記する場合、注釈の型がそのリテラル値からインスタンス化できる型でなければなりません。つまり、注釈の型が次の Swift 標準ライブラリのプロトコルのいずれかに準拠している必要があります: 整数リテラルは `ExpressibleByIntegerLiteral`、浮動小数点リテラルは `ExpressibleByFloatLiteral`、文字列リテラルは `ExpressibleByStringLiteral`、ブールリテラルは `ExpressibleByBooleanLiteral`、単一の Unicode スカラのみを含む文字列リテラルは `ExpressibleByUnicodeScalarLiteral`、および単一の拡張書記素クラスタのみを含む文字列リテラルは `ExpressibleByExtendedGraphemeClusterLiteral`。例えば、`Int8` は `ExpressibleByIntegerLiteral` プロトコルに準拠しているため、宣言 `let x: Int8 = 42` の整数リテラル `42` の型注釈で使用できます。 -> GRAMMAR OF A LITERAL -> literal → [numeric-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_numeric-literal) \| [string-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal) \| [boolean-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_boolean-literal) \| [nil-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_nil-literal) -> numeric-literal → `-`opt [integer-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_integer-literal) \| `-`opt [floating-point-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_floating-point-literal) -> boolean-literal → `true` \| `false` -> nil-literal → `nil` +> Grammar of a literal: +> +> *literal* → *numeric-literal* | *string-literal* | *regular-expression-literal* | *boolean-literal* | *nil-literal* +> +> +> +> *numeric-literal* → **`-`**_?_ *integer-literal* | **`-`**_?_ *floating-point-literal* +> +> *boolean-literal* → **`true`** | **`false`** +> +> *nil-literal* → **`nil`** ### 整数リテラル\(Integer Literals\) @@ -127,27 +200,57 @@ _整数リテラル_は不特定の精度の整数値を表します。デフォ 特に指定がない限り、整数リテラルのデフォルトの推論型は Swift 標準ライブラリの `Int` 型です。Swift 標準ライブラリは、[Integers\(整数\)](../language-guide/the-basics.md#integers)で説明されているように、様々なサイズの符号付き整数および符号なし整数の型も定義します。 -> GRAMMAR OF AN INTEGER LITERAL -> integer-literal → [binary-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_binary-literal) -> integer-literal → [octal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_octal-literal) -> integer-literal → [decimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal) -> integer-literal → [hexadecimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-literal) -> binary-literal → `0b` [binary-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_binary-digit) [binary-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_binary-literal-characters)opt -> binary-digit → 数値 0 または 1 -> binary-literal-character → [binary-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_binary-digit) \| `_` -> binary-literal-characters → [binary-literal-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_binary-literal-character) [binary-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_binary-literal-characters)opt -> octal-literal → `0o` [octal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_octal-digit) [octal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_octal-literal-characters)opt -> octal-digit → 数値 0 ~ 7 octal-literal-character → [octal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_octal-digit) \| `_` -> octal-literal-characters → [octal-literal-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_octal-literal-character) [octal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_octal-literal-characters)opt -> decimal-literal → [decimal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digit) [decimal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal-characters)opt -> decimal-digit → 数値 0 ~ 9 -> decimal-digits → [decimal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digit) [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits)opt -> decimal-literal-character → [decimal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digit) \| `_` -> decimal-literal-characters → [decimal-literal-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal-character) [decimal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal-characters)opt -> hexadecimal-literal → `0x` [hexadecimal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-digit) [hexadecimal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-literal-characters)opt -> hexadecimal-digit → 数値 0 ~ 9、 a ~ f、または A ~ F -> hexadecimal-literal-character → [hexadecimal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-digit) \| `_` -> hexadecimal-literal-characters → [hexadecimal-literal-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-literal-character) [hexadecimal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-literal-characters)opt +> Grammar of an integer literal: +> +> *integer-literal* → *binary-literal* +> +> *integer-literal* → *octal-literal* +> +> *integer-literal* → *decimal-literal* +> +> *integer-literal* → *hexadecimal-literal* +> +> +> +> *binary-literal* → **`0b`** *binary-digit* *binary-literal-characters*_?_ +> +> *binary-digit* → Digit 0 or 1 +> +> *binary-literal-character* → *binary-digit* | **`_`** +> +> *binary-literal-characters* → *binary-literal-character* *binary-literal-characters*_?_ +> +> +> +> *octal-literal* → **`0o`** *octal-digit* *octal-literal-characters*_?_ +> +> *octal-digit* → Digit 0 through 7 +> +> *octal-literal-character* → *octal-digit* | **`_`** +> +> *octal-literal-characters* → *octal-literal-character* *octal-literal-characters*_?_ +> +> +> +> *decimal-literal* → *decimal-digit* *decimal-literal-characters*_?_ +> +> *decimal-digit* → Digit 0 through 9 +> +> *decimal-digits* → *decimal-digit* *decimal-digits*_?_ +> +> *decimal-literal-character* → *decimal-digit* | **`_`** +> +> *decimal-literal-characters* → *decimal-literal-character* *decimal-literal-characters*_?_ +> +> +> +> *hexadecimal-literal* → **`0x`** *hexadecimal-digit* *hexadecimal-literal-characters*_?_ +> +> *hexadecimal-digit* → Digit 0 through 9, a through f, or A through F +> +> *hexadecimal-literal-character* → *hexadecimal-digit* | **`_`** +> +> *hexadecimal-literal-characters* → *hexadecimal-literal-character* *hexadecimal-literal-characters*_?_ ### 浮動小数点リテラル\(Floating-Point Literals\) @@ -165,28 +268,49 @@ _浮動小数点リテラル_は不特定の精度の浮動小数点値を表し 特に指定されていない限り、浮動小数点リテラルのデフォルトの推論型は 64 ビット浮動小数点数を表す Swift の標準ライブラリ `Double` 型です。Swift 標準ライブラリでは 32 ビットの浮動小数点数を表す `Float` 型も定義されています。 -> GRAMMAR OF A FLOATING-POINT LITERAL -> floating-point-literal → [decimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal) [decimal-fraction](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-fraction)opt [decimal-exponent](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-exponent)opt -> floating-point-literal → [hexadecimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-literal) [hexadecimal-fraction](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-fraction)opt [hexadecimal-exponent](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-exponent) -> decimal-fraction → `.` [decimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal) -> decimal-exponent → [floating-point-e](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_floating-point-e) [sign](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_sign)opt [decimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal) -> hexadecimal-fraction → `.` [hexadecimal-digit](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-digit) [hexadecimal-literal-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_hexadecimal-literal-characters)opt -> hexadecimal-exponent → [floating-point-p](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_floating-point-p) [sign](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_sign)opt [decimal-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-literal) -> floating-point-e → `e` \| `E` -> floating-point-p → `p` \| `P` -> sign → `+` \| `-` +> Grammar of a floating-point literal: +> +> *floating-point-literal* → *decimal-literal* *decimal-fraction*_?_ *decimal-exponent*_?_ +> +> *floating-point-literal* → *hexadecimal-literal* *hexadecimal-fraction*_?_ *hexadecimal-exponent* +> +> +> +> *decimal-fraction* → **`.`** *decimal-literal* +> +> *decimal-exponent* → *floating-point-e* *sign*_?_ *decimal-literal* +> +> +> +> *hexadecimal-fraction* → **`.`** *hexadecimal-digit* *hexadecimal-literal-characters*_?_ +> +> *hexadecimal-exponent* → *floating-point-p* *sign*_?_ *decimal-literal* +> +> +> +> *floating-point-e* → **`e`** | **`E`** +> +> *floating-point-p* → **`p`** | **`P`** +> +> *sign* → **`+`** | **`-`** ### 文字列リテラル\(String Literals\) _文字列リテラル_は、引用符で囲まれた一連の文字です。単一行の文字列リテラルは二重引用符で囲まれ、次の形式になります: -![単一行の文字列リテラル](../assets/singleline_strings.png) +```swift +"<#characters#>" +``` 文字列リテラルには、エスケープされていない二重引用符\(`"`\)、エスケープされていないバックスラッシュ \(`\`\)、キャリッジリターン、またはラインフィードを含めることはできません。 複数行の文字列リテラルは 3 つの二重引用符で囲まれ、次の形式になります。 -![複数行の文字列リテラル](../assets/multipleline_strings.png) +```swift +""" +<#characters#> +""" +``` 単一行の文字列リテラルとは異なり、複数行の文字列リテラルには、エスケープされていない二重引用符 \(`"`\)、キャリッジリターン、およびラインフィードを含めることができます。3 つのエスケープされていない二重引用符を隣り合わせに含めることはできません。 @@ -223,7 +347,13 @@ let x = 3; "1 2 \(x)" 拡張区切り文字で区切られた文字列は、引用符で囲まれた一連の文字と 1 つ以上の文字列の両側に同じ数のシャープ記号\(`#`\) のセットです。拡張区切り文字で区切られた文字列には次の形式があります: -![拡張区切り文字で区切られた文字列](../assets/string_delimited_by_extended_delimiters.png) +```swift +#"<#characters#>"# + +#""" +<#characters#> +"""# +``` 拡張区切り文字で区切られた文字列内の特殊文字は通常の文字として表示されます。拡張区切り文字を使用して、通常は文字列補間の生成、エスケープシーケンスの開始、文字列の終了などの特殊な効果を持つ文字を使って通常の文字列を作成できます。 @@ -256,38 +386,86 @@ let textA = "Hello " + "world" let textB = "Hello world" ``` -> GRAMMAR OF A STRING LITERAL -> string-literal → [static-string-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_static-string-literal) \| [interpolated-string-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_interpolated-string-literal) -> string-literal-opening-delimiter → [extended-string-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-string-literal-delimiter)opt `"` -> string-literal-closing-delimiter → `"` [extended-string-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-string-literal-delimiter)opt -> static-string-literal → [string-literal-opening-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal-opening-delimiter) [quoted-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_quoted-text)opt [string-literal-closing-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal-closing-delimiter) -> static-string-literal → [multiline-string-literal-opening-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-string-literal-opening-delimiter) [multiline-quoted-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-quoted-text)opt [multiline-string-literal-closing-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-string-literal-closing-delimiter) -> multiline-string-literal-opening-delimiter → [extended-string-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-string-literal-delimiter) `"""` -> multiline-string-literal-closing-delimiter → `"""` [extended-string-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-string-literal-delimiter) -> extended-string-literal-delimiter → `#` [extended-string-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-string-literal-delimiter)opt -> quoted-text → [quoted-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_quoted-text-item) [quoted-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_quoted-text)opt -> quoted-text-item → [escaped-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escaped-character) -> quoted-text-item → **"**、**\\**、 U+000A、または U+000D を除く任意のUnicodeスカラ値 -> multiline-quoted-text → [multiline-quoted-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-quoted-text-item) [multiline-quoted-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-quoted-text)opt -> multiline-quoted-text-item → [escaped-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escaped-character) -> multiline-quoted-text-item → **\\** を除く任意のUnicodeスカラ値 -> multiline-quoted-text-item → [escaped-newline](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escaped-newline) -> interpolated-string-literal → [string-literal-opening-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal-opening-delimiter) [interpolated-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_interpolated-text)opt [string-literal-closing-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_string-literal-closing-delimiter) -> interpolated-string-literal → [multiline-string-literal-opening-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-string-literal-opening-delimiter) [multiline-interpolated-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-interpolated-text)opt [multiline-string-literal-closing-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-string-literal-closing-delimiter) -> interpolated-text → [interpolated-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_interpolated-text-item) [interpolated-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_interpolated-text)opt -> interpolated-text-item → `\(` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) `)` \| [quoted-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_quoted-text-item) -> multiline-interpolated-text → [multiline-interpolated-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-interpolated-text-item) [multiline-interpolated-text](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-interpolated-text)opt -> multiline-interpolated-text-item → `\(` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) `)` \| [multiline-quoted-text-item](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_multiline-quoted-text-item) -> escape-sequence → `\` [extended-string-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-string-literal-delimiter) -> escaped-character → [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `0` \| [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `\` \| [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `t` \| [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `n` \| [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `r` \| [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `"` \| [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `'` -> escaped-character → [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) `u` `{` [unicode-scalar-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_unicode-scalar-digits) `}` -> unicode-scalar-digits → 0 から 8 までの16進数 -> escaped-newline → [escape-sequence](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_escape-sequence) [inline-spaces](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_inline-spaces)opt [line-break](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_line-break) +> Grammar of a string literal: +> +> *string-literal* → *static-string-literal* | *interpolated-string-literal* +> +> +> +> *string-literal-opening-delimiter* → *extended-string-literal-delimiter*_?_ **`"`** +> +> *string-literal-closing-delimiter* → **`"`** *extended-string-literal-delimiter*_?_ +> +> +> +> *static-string-literal* → *string-literal-opening-delimiter* *quoted-text*_?_ *string-literal-closing-delimiter* +> +> *static-string-literal* → *multiline-string-literal-opening-delimiter* *multiline-quoted-text*_?_ *multiline-string-literal-closing-delimiter* +> +> +> +> *multiline-string-literal-opening-delimiter* → *extended-string-literal-delimiter*_?_ **`"""`** +> +> *multiline-string-literal-closing-delimiter* → **`"""`** *extended-string-literal-delimiter*_?_ +> +> *extended-string-literal-delimiter* → **`#`** *extended-string-literal-delimiter*_?_ +> +> +> +> *quoted-text* → *quoted-text-item* *quoted-text*_?_ +> +> *quoted-text-item* → *escaped-character* +> +> *quoted-text-item* → Any Unicode scalar value except **`"`**, **`\`**, U+000A, or U+000D +> +> +> +> *multiline-quoted-text* → *multiline-quoted-text-item* *multiline-quoted-text*_?_ +> +> *multiline-quoted-text-item* → *escaped-character* +> +> *multiline-quoted-text-item* → Any Unicode scalar value except **`\`** +> +> *multiline-quoted-text-item* → *escaped-newline* +> +> +> +> *interpolated-string-literal* → *string-literal-opening-delimiter* *interpolated-text*_?_ *string-literal-closing-delimiter* +> +> *interpolated-string-literal* → *multiline-string-literal-opening-delimiter* *multiline-interpolated-text*_?_ *multiline-string-literal-closing-delimiter* +> +> +> +> *interpolated-text* → *interpolated-text-item* *interpolated-text*_?_ +> +> *interpolated-text-item* → **`\(`** *expression* **`)`** | *quoted-text-item* +> +> +> +> *multiline-interpolated-text* → *multiline-interpolated-text-item* *multiline-interpolated-text*_?_ +> +> *multiline-interpolated-text-item* → **`\(`** *expression* **`)`** | *multiline-quoted-text-item* +> +> +> +> *escape-sequence* → **`\`** *extended-string-literal-delimiter* +> +> *escaped-character* → *escape-sequence* **`0`** | *escape-sequence* **`\`** | *escape-sequence* **`t`** | *escape-sequence* **`n`** | *escape-sequence* **`r`** | *escape-sequence* **`"`** | *escape-sequence* **`'`** +> +> *escaped-character* → *escape-sequence* **`u`** **`{`** *unicode-scalar-digits* **`}`** +> +> *unicode-scalar-digits* → Between one and eight hexadecimal digits +> +> +> +> *escaped-newline* → *escape-sequence* *inline-spaces*_?_ *line-break* ### 正規表現リテラル\(Regular Expression Literals\) 正規表現リテラルは、次のような形でスラッシュ(/)によって囲まれた、連続した文字のことを言います: -![正規表現リテラルの例](../assets/regex-literal-1.png) +```swift +/<#regular expression#>/ +``` 正規表現リテラルはエスケープされていないタブかスペースで始まってはいけません。また、正規表現リテラルは、エスケープされていないスラッシュ(/)、キャリッジリターン、もしくはラインフィードを含んではいけません。 @@ -295,7 +473,13 @@ let textB = "Hello world" 拡張区切り文字によって区切られた正規表現リテラルは、スラッシュ(/)もしくは 1 つ以上の番号記号(#)の釣り合った集合によって囲まれた、連続した文字のことを言います。拡張区切り文字によって区切られた正規表現リテラルは次のように表現されます: -![拡張区切り文字を利用する正規表現リテラルの例](../assets/regex-literal-2.png) +```swift +#/<#regular expression#>/# + +#/ +<#regular expression#> +/# +``` 拡張区切り文字を利用する正規表現リテラルは、エスケープされていないスペースかタブで始めることができ、エスケープされていないスラッシュ(/)を含むことができ、さらに複数行にまたがることができます。複数行の正規表現リテラルに対しては、開始区切り文字は、行の最後に置かなければならず、終了区切り文字はそれ単体のみの行に置かなければなりません。複数行の正規表現リテラル内では、拡張正規表現構文がデフォルトで有効です。特に、ホワイトスペースは無視され、コメントは記載できます。 @@ -307,12 +491,21 @@ let regex2 = # #/abc/# # // Error ``` もし空の正規表現リテラルを作る必要がある場合、 拡張区切り文字構文を使わなければいけません。 -> GRAMMAR OF A REGULAR EXPRESSION LITERAL -> regular-expression-literal → [regular-expression-literal-opening-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_regular-expression-literal-opening-delimiter) [regular-expression](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_regular-expression) [regular-expression-literal-closing-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_regular-expression-literal-closing-delimiter) -> regular-expression → Any regular expression -> regular-expression-literal-opening-delimiter → [extended-regular-expression-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-regular-expression-literal-delimiter) opt / -> regular-expression-literal-closing-delimiter → / [extended-regular-expression-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-regular-expression-literal-delimiter) opt -> extended-regular-expression-literal-delimiter → # [extended-regular-expression-literal-delimiter](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_extended-regular-expression-literal-delimiter) opt +> Grammar of a regular expression literal: +> +> *regular-expression-literal* → *regular-expression-literal-opening-delimiter* *regular-expression* *regular-expression-literal-closing-delimiter* +> +> *regular-expression* → Any regular expression +> +> +> +> *regular-expression-literal-opening-delimiter* → *extended-regular-expression-literal-delimiter*_?_ **`/`** +> +> *regular-expression-literal-closing-delimiter* → **`/`** *extended-regular-expression-literal-delimiter*_?_ +> +> +> +> *extended-regular-expression-literal-delimiter* → **`#`** *extended-regular-expression-literal-delimiter*_?_ ## 演算子\(Operators\) @@ -342,38 +535,80 @@ Swift 標準ライブラリは数多くの_演算子_を定義します。その 新しいカスタム演算子を定義する方法については、[Custom Operators\(カスタム演算子\)](../language-guide/advanced-operators.md#custom-operators)と[Operator Declaration](declarations.md#operator-declaration演算子宣言)を参照ください。既存の演算子をオーバーロードについては、[Operator Methods\(演算子メソッド\)](../language-reference/declarations.md#operator-declaration)を参照ください -> GRAMMAR OF OPERATORS -> operator → [operator-head](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator-head) [operator-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator-characters)opt -> operator → [dot-operator-head](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_dot-operator-head) [dot-operator-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_dot-operator-characters) -> operator-head → `/` \| `=` \| `-` \| `+` \| `!` \| `*` \| `%` \| `<` \| `>` \| `&` \| `|` \| `^` \| `~` \| `?` -> operator-head → U+00A1–U+00A7 -> operator-head → U+00A9 または U+00AB -> operator-head → U+00AC または U+00AE -> operator-head → U+00B0–U+00B1 -> operator-head → U+00B6, U+00BB, U+00BF, U+00D7, または U+00F7 -> operator-head → U+2016–U+2017 -> operator-head → U+2020–U+2027 -> operator-head → U+2030–U+203E -> operator-head → U+2041–U+2053 -> operator-head → U+2055–U+205E -> operator-head → U+2190–U+23FF -> operator-head → U+2500–U+2775 -> operator-head → U+2794–U+2BFF -> operator-head → U+2E00–U+2E7F -> operator-head → U+3001–U+3003 -> operator-head → U+3008–U+3020 -> operator-head → U+3030 -> operator-character → [operator-head](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator-head) -> operator-character → U+0300–U+036F -> operator-character → U+1DC0–U+1DFF -> operator-character → U+20D0–U+20FF -> operator-character → U+FE00–U+FE0F -> operator-character → U+FE20–U+FE2F -> operator-character → U+E0100–U+E01EF -> operator-characters → [operator-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator-character) [operator-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator-characters)opt -> dot-operator-head → `.` -> dot-operator-character → `.` \| [operator-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator-character) -> dot-operator-characters → [dot-operator-character](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_dot-operator-character) [dot-operator-characters](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_dot-operator-characters)opt -> binary-operator → [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) -> prefix-operator → [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) -> postfix-operator → [operator](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_operator) +> Grammar of operators: +> +> *operator* → *operator-head* *operator-characters*_?_ +> +> *operator* → *dot-operator-head* *dot-operator-characters* +> +> +> +> *operator-head* → **`/`** | **`=`** | **`-`** | **`+`** | **`!`** | **`*`** | **`%`** | **`<`** | **`>`** | **`&`** | **`|`** | **`^`** | **`~`** | **`?`** +> +> *operator-head* → U+00A1–U+00A7 +> +> *operator-head* → U+00A9 or U+00AB +> +> *operator-head* → U+00AC or U+00AE +> +> *operator-head* → U+00B0–U+00B1 +> +> *operator-head* → U+00B6, U+00BB, U+00BF, U+00D7, or U+00F7 +> +> *operator-head* → U+2016–U+2017 +> +> *operator-head* → U+2020–U+2027 +> +> *operator-head* → U+2030–U+203E +> +> *operator-head* → U+2041–U+2053 +> +> *operator-head* → U+2055–U+205E +> +> *operator-head* → U+2190–U+23FF +> +> *operator-head* → U+2500–U+2775 +> +> *operator-head* → U+2794–U+2BFF +> +> *operator-head* → U+2E00–U+2E7F +> +> *operator-head* → U+3001–U+3003 +> +> *operator-head* → U+3008–U+3020 +> +> *operator-head* → U+3030 +> +> +> +> *operator-character* → *operator-head* +> +> *operator-character* → U+0300–U+036F +> +> *operator-character* → U+1DC0–U+1DFF +> +> *operator-character* → U+20D0–U+20FF +> +> *operator-character* → U+FE00–U+FE0F +> +> *operator-character* → U+FE20–U+FE2F +> +> *operator-character* → U+E0100–U+E01EF +> +> *operator-characters* → *operator-character* *operator-characters*_?_ +> +> +> +> *dot-operator-head* → **`.`** +> +> *dot-operator-character* → **`.`** | *operator-character* +> +> *dot-operator-characters* → *dot-operator-character* *dot-operator-characters*_?_ +> +> +> +> *infix-operator* → *operator* +> +> *prefix-operator* → *operator* +> +> *postfix-operator* → *operator* \ No newline at end of file From a9da3c57010e7ffbb043b9ecbf33a54897a35631 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 14:17:23 +0900 Subject: [PATCH 06/19] =?UTF-8?q?[=E6=96=87]=E5=8E=9F=E6=96=87=E3=81=AE?= =?UTF-8?q?=E5=BD=A2=E5=BC=8F=E3=81=AB=E5=90=88=E3=82=8F=E3=81=9B=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-reference/statements.md | 559 ++++++++++++++++++++++--------- 1 file changed, 394 insertions(+), 165 deletions(-) diff --git a/language-reference/statements.md b/language-reference/statements.md index 083ab74d..63f0b11e 100644 --- a/language-reference/statements.md +++ b/language-reference/statements.md @@ -1,6 +1,6 @@ # 文\(Statements\) -最終更新日: 2023/1/15 +最終更新日: 2023/6/4 原文: https://docs.swift.org/swift-book/ReferenceManual/Statements.html 式を分類し、実行の流れを制御する。 @@ -11,17 +11,27 @@ Swift では、単純な文、コンパイラ制御文、および制御フロ セミコロン\(`;`\)は任意の文の後に書くことができ、同じ行に複数の文が書かれている場合に、それらを分離するために使用されます。 -> GRAMMAR OF A STATEMENT -> statement → [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) `;`opt -> statement → [declaration](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_declaration) `;`opt -> statement → [loop-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_loop-statement) `;`opt -> statement → [branch-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_branch-statement) `;`opt -> statement → [labeled-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_labeled-statement) `;`opt -> statement → [control-transfer-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_control-transfer-statement) `;`opt -> statement → [defer-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_defer-statement) `;`opt -> statement → [do-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_do-statement) `;`opt -> statement → [compiler-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compiler-control-statement) -> statements → [statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statement) [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements)opt +> Grammar of a statement: +> +> *statement* → *expression* **`;`**_?_ +> +> *statement* → *declaration* **`;`**_?_ +> +> *statement* → *loop-statement* **`;`**_?_ +> +> *statement* → *branch-statement* **`;`**_?_ +> +> *statement* → *labeled-statement* **`;`**_?_ +> +> *statement* → *control-transfer-statement* **`;`**_?_ +> +> *statement* → *defer-statement* **`;`**_?_ +> +> *statement* → *do-statement* **`;`**_?_ +> +> *statement* → *compiler-control-statement* +> +> *statements* → *statement* *statements*_?_ ## ループ文\(Loop Statements\) @@ -29,10 +39,13 @@ Swift では、単純な文、コンパイラ制御文、および制御フロ ループ文内の制御フローは、`break` 文と `continue` 文によって変更でき、下記の[Break Statement\(Break 文\)](statements.md#break-statement)と[Continue Statement\(Continue 文\)](../language-reference/statements.md#continue-statement)で説明します。 -> GRAMMAR OF A LOOP STATEMENT -> loop-statement → [for-in-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_for-in-statement) -> loop-statement → [while-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_while-statement) -> loop-statement → [repeat-while-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_repeat-while-statement) +> Grammar of a loop statement: +> +> *loop-statement* → *for-in-statement* +> +> *loop-statement* → *while-statement* +> +> *loop-statement* → *repeat-while-statement* ### For-In 文\(For-In Statement\) @@ -40,12 +53,17 @@ Swift では、単純な文、コンパイラ制御文、および制御フロ `for-in` 文の形式は次のとおりです: -![For-In 文](../assets/for-in_statement.png) +```swift +for <#item#> in <#collection#> { + <#statements#> +} +``` `makeIterator()` メソッドは、[IteratorProtocol](https://developer.apple.com/documentation/swift/iteratorprotocol)プロトコルに準拠した型のイテレータ型の値を取得するために、_collection_ 式で呼び出されます。プログラムは、イテレータ上で `next()` メソッドを呼び出すことによってループの実行を開始します。返された値が `nil` ではない場合、_item_ に代入され、プログラムは _statements_ を実行し、再びループの先頭から実行を続行します。それ以外の場合、プログラムは値の代入や、_statements_ を実行せず、`for-in` 文の実行は終了します。 -> GRAMMAR OF A FOR-IN STATEMENT -> for-in-statement → `for` `case`opt [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) `in` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) [where-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_where-clause)opt [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) +> Grammar of a for-in statement: +> +> *for-in-statement* → **`for`** **`case`**_?_ *pattern* **`in`** *expression* *where-clause*_?_ *code-block* ### While 文\(While Statement\) @@ -53,7 +71,11 @@ Swift では、単純な文、コンパイラ制御文、および制御フロ `while` 文の形式は次のとおりです: -![While 文](../assets/while_statement.png) +```swift +while <#condition#> { + <#statements#> +} +``` `while` 文は次のように実行されます。 @@ -64,12 +86,21 @@ _condition_ の値は、_statements_ が実行される前に評価されるた _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型でなければなりません。[Optional Binding\(オプショナルバインディング\)](../language-guide/the-basics.md#optional-binding)で説明したように、条件はオプショナルバインディング宣言にすることもできます。 -> GRAMMAR OF A WHILE STATEMENT -> while-statement → `while` [condition-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_condition-list) [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> condition-list → [condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_condition) \| [condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_condition) `,` [condition-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_condition-list) -> condition → [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) \| [availability-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_availability-condition) \| [case-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_case-condition) \| [optional-binding-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_optional-binding-condition) -> case-condition → `case` [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer) -> optional-binding-condition → `let` [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer) \| `var` [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [initializer](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_initializer) +> Grammar of a while statement: +> +> *while-statement* → **`while`** *condition-list* *code-block* +> +> +> +> *condition-list* → *condition* | *condition* **`,`** *condition-list* +> +> *condition* → *expression* | *availability-condition* | *case-condition* | *optional-binding-condition* +> +> +> +> *case-condition* → **`case`** *pattern* *initializer* +> +> *optional-binding-condition* → **`let`** *pattern* *initializer*_?_ | **`var`** *pattern* *initializer*_?_ ### Repeat-While 文\(Repeat-While Statement\) @@ -77,7 +108,11 @@ _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型 `repeat-while` 文の形式は次のとおりです: -![Repeat-While文](../assets/repeat-while_statement.png) +```swift +repeat { + <#statements#> +} while <#condition#> +``` `repeat-while` 文は次のように実行されます。 @@ -88,8 +123,9 @@ _condition_ の値は _statements_ の実行後に評価されるため、`repea _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型にする必要があります。 -> GRAMMAR OF A REPEAT-WHILE STATEMENT -> repeat-while-statement → `repeat` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) `while` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) +> Grammar of a repeat-while statement: +> +> *repeat-while-statement* → **`repeat`** *code-block* **`while`** *expression* ## 分岐文\(Branch Statements\) @@ -97,10 +133,13 @@ _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型 `if` 文または `switch` 文の制御フローは `break` 文によって変更できます。これについては、下記の[Break Statement\(Break 文\)](statements.md#break-statement)で説明します。 -> GRAMMAR OF A BRANCH STATEMENT -> branch-statement → [if-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_if-statement) -> branch-statement → [guard-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_guard-statement) -> branch-statement → [switch-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-statement) +> Grammar of a branch statement: +> +> *branch-statement* → *if-statement* +> +> *branch-statement* → *guard-statement* +> +> *branch-statement* → *switch-statement* ### If 文\(If Statement\) @@ -110,21 +149,41 @@ _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型 最初の形式では、条件が true の場合にのみコードを実行でき、形式は次のとおりです: -![If 文](../assets/if_statement.png) +```swift +if <#condition#> { + <#statements#> +} +``` `if` 文の 2 番目の形式は、追加の\(`else` キーワードによって導入される\)_else 句を_提供し、条件が true の場合にコードの一部を実行し、false の場合にコードの別の部分を実行するために使用されます。else 句が 1 つ存在する場合、`if` 文の形式は次のとおりです: -![If-Else文](../assets/if_else_statement.png) +```swift +if <#condition#> { + <#statements to execute if condition is true#> +} else { + <#statements to execute if condition is false#> +} +``` `if` 文の else 句には、複数の条件を検証するための別の `if` 文を含めることができます。このようにチェーンした `if` 文の形式は次のとおりです: -![If-ElseId文](../assets/if_elseif_statement.png) +```swift +if <#condition 1#> { + <#statements to execute if condition 1 is true#> +} else if <#condition 2#> { + <#statements to execute if condition 2 is true#> +} else { + <#statements to execute if both conditions are false#> +} +``` `if` 文の条件の値は、`Bool` 型または `Bool` にブリッジされた型にする必要があります。[Optional Binding\(オプショナルバインディング\)](../language-guide/the-basics.md#optional-binding)で説明したように、条件はオプショナルバインディング宣言にすることもできます。 -> GRAMMAR OF AN IF STATEMENT -> if-statement → `if` [condition-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_condition-list) [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) [else-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_else-clause)opt -> else-clause → `else` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) \| `else` [if-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_if-statement) +> Grammar of an if statement: +> +> *if-statement* → **`if`** *condition-list* *code-block* *else-clause*_?_ +> +> *else-clause* → **`else`** *code-block* | **`else`** *if-statement* ### Guard 文\(Guard Statement\) @@ -132,7 +191,11 @@ _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型 `guard` 文の形式は次のとおりです: -![Guard 文](../assets/guard_statement.png) +```swift +guard <#condition#> else { + <#statements#> +} +``` `guard` 文の条件の値は、`Bool` 型または `Bool` にブリッジされた型にする必要があります。[Optional Binding\(オプショナルバインディング\)](../language-guide/the-basics.md#optional-binding)で説明したように、条件はオプショナルバインディング宣言にすることもできます。 @@ -147,8 +210,9 @@ _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型 制御転送文については、下記の[Control Transfer Statements\(制御転送文\)](../language-reference/statements.md#control-flow-control-transfer-statements)で説明します。`Never` 型の戻り値を持つ関数の詳細については、[Functions that Never Return\(ノーリターン関数\)](../language-reference/declarations.md#functions-that-never-return)を参照ください。 -> GRAMMAR OF A GUARD STATEMENT -> guard-statement → `guard` [condition-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_condition-list) `else` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) +> Grammar of a guard statement: +> +> *guard-statement* → **`guard`** *condition-list* **`else`** *code-block* ### Switch 文\(Switch Statement\) @@ -156,7 +220,19 @@ _condition_ の値は、`Bool` 型または `Bool` にブリッジされた型 `switch` 文の形式は次のとおりです。 -![Switch 文](../assets/switch_statement.png) +```swift +switch <#control expression#> { +case <#pattern 1#>: + <#statements#> +case <#pattern 2#> where <#condition#>: + <#statements#> +case <#pattern 3#> where <#condition#>, + <#pattern 4#> where <#condition#>: + <#statements#> +default: + <#statements#> +} +``` `switch` 文の _control expression_ が評価され、それぞれの場合に指定されたパターンと比較されます。一致するものが見つかった場合、プログラムはそのケースの範囲内の _statements_ を実行します。各ケースのスコープを空にすることはできません。そのため、各ケースラベルのコロン\(`:`\)の後に少なくとも 1 つの文を含める必要があります。コードを実行する予定がない場合は、単一の `break` 文を使用します。 @@ -207,22 +283,43 @@ case .suppressed: 一致したケース内のコードの実行が終了すると、プログラムは `switch` 文を終了します。プログラムの実行は次のケースまたはデフォルトのケースに続行または「通り抜け」ません。あるケースから次のケースまで実行を継続したい場合、`fallthrough` キーワードで構成される `fallthrough` 文を明示的に含めます。`fallthrough` 文の詳細については、下記の[Fallthrough Statement\(Fallthrough 文\)](statements.md#fallthrough-statement)を参照ください。 -> GRAMMAR OF A SWITCH STATEMENT -> switch-statement → `switch` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) `{` [switch-cases](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-cases)opt `}` -> switch-cases → [switch-case](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-case) [switch-cases](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-cases)opt -> switch-case → [case-label](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_case-label) [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements) -> switch-case → [default-label](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_default-label) [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements) -> switch-case → [conditional-switch-case](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_conditional-switch-case) -> case-label → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `case` [case-item-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_case-item-list) `:` -> case-item-list → [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [where-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_where-clause)opt \| [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [where-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_where-clause)opt `,` [case-item-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_case-item-list) -> default-label → [attributes](https://docs.swift.org/swift-book/ReferenceManual/Attributes.html#grammar_attributes)opt `default` `:` -> where-clause → `where` [where-expression](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_where-expression) -> where-expression → [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) -> conditional-switch-case → [switch-if-directive-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-if-directive-clause) [switch-elseif-directive-clauses](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-elseif-directive-clauses)opt [switch-else-directive-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-else-directive-clause)opt [endif-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_endif-directive) -> switch-if-directive-clause → [if-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_if-directive) [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) [switch-cases](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-cases)opt -> switch-elseif-directive-clauses → [elseif-directive-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_elseif-directive-clause) [switch-elseif-directive-clauses](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-elseif-directive-clauses)opt -> switch-elseif-directive-clause → [elseif-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_elseif-directive) [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) [switch-cases](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-cases)opt -> switch-else-directive-clause → [else-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_else-directive) [switch-cases](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-cases)opt +> Grammar of a switch statement: +> +> *switch-statement* → **`switch`** *expression* **`{`** *switch-cases*_?_ **`}`** +> +> *switch-cases* → *switch-case* *switch-cases*_?_ +> +> *switch-case* → *case-label* *statements* +> +> *switch-case* → *default-label* *statements* +> +> *switch-case* → *conditional-switch-case* +> +> +> +> *case-label* → *attributes*_?_ **`case`** *case-item-list* **`:`** +> +> *case-item-list* → *pattern* *where-clause*_?_ | *pattern* *where-clause*_?_ **`,`** *case-item-list* +> +> *default-label* → *attributes*_?_ **`default`** **`:`** +> +> +> +> *where-clause* → **`where`** *where-expression* +> +> *where-expression* → *expression* +> +> +> +> *conditional-switch-case* → *switch-if-directive-clause* *switch-elseif-directive-clauses*_?_ *switch-else-directive-clause*_?_ *endif-directive* +> +> *switch-if-directive-clause* → *if-directive* *compilation-condition* *switch-cases*_?_ +> +> *switch-elseif-directive-clauses* → *elseif-directive-clause* *switch-elseif-directive-clauses*_?_ +> +> *switch-elseif-directive-clause* → *elseif-directive* *compilation-condition* *switch-cases*_?_ +> +> *switch-else-directive-clause* → *else-directive* *switch-cases*_?_ ## ラベル付き文\(Labeled Statement\) @@ -232,30 +329,46 @@ case .suppressed: 文ラベルの詳細および使用例については、[Control Flow\(制御フロー\)](../language-guide/control-flow.md)の[Labeled Statements\(ラベル付き文\)](../language-guide/control-flow.md#labeled-statements)を参照ください。 -> GRAMMAR OF A LABELED STATEMENT -> labeled-statement → [statement-label](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statement-label) [loop-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_loop-statement) -> labeled-statement → [statement-label](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statement-label) [if-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_if-statement) -> labeled-statement → [statement-label](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statement-label) [switch-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_switch-statement) -> labeled-statement → [statement-label](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statement-label) [do-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_do-statement) -> statement-label → [label-name](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_label-name) `:` -> label-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) +> Grammar of a labeled statement: +> +> *labeled-statement* → *statement-label* *loop-statement* +> +> *labeled-statement* → *statement-label* *if-statement* +> +> *labeled-statement* → *statement-label* *switch-statement* +> +> *labeled-statement* → *statement-label* *do-statement* +> +> +> +> *statement-label* → *label-name* **`:`** +> +> *label-name* → *identifier* ## 制御転送文\(Control Transfer Statements\) 制御転送文は、プログラム制御をあるコードから別のコードに無条件に転送することにより、プログラム内のコードが実行される順序を変更できます。Swift には、`break` 文、`continue` 文、`fallthrough` 文、`return` 文、および `throw` 文の 5 つの制御転送文があります。 -> GRAMMAR OF A CONTROL TRANSFER STATEMENT -> control-transfer-statement → [break-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_break-statement) -> control-transfer-statement → [continue-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_continue-statement) -> control-transfer-statement → [fallthrough-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_fallthrough-statement) -> control-transfer-statement → [return-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_return-statement) -> control-transfer-statement → [throw-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_throw-statement) +> Grammar of a control transfer statement: +> +> *control-transfer-statement* → *break-statement* +> +> *control-transfer-statement* → *continue-statement* +> +> *control-transfer-statement* → *fallthrough-statement* +> +> *control-transfer-statement* → *return-statement* +> +> *control-transfer-statement* → *throw-statement* ### Break 文\(Break Statement\) `break` 文は、ループ、`if` 文、または `switch` 文のプログラムの実行を終了します。下記に示すように、`break` 文は、`break` キーワードのみで構成することも、`break` キーワードの後に文ラベルを続けることもできます。 -![Break文](../assets/break_statement.png) +```swift +break +break <#label name#> +``` `break` 文の後に文ラベルが続く場合、そのラベルで指定されたループ、`if` 文、または `switch` 文のプログラム実行を終了します。 @@ -265,14 +378,18 @@ case .suppressed: `break` 文の使用方法の例については、[Break](../language-guide/control-flow.md#break)と[Control Flow\(制御フロー\)](../language-guide/control-flow.md)の[Labeled Statements\(ラベル付き文\)](../language-guide/control-flow.md#labeled-statements)を参照ください。 -> GRAMMAR OF A BREAK STATEMENT -> break-statement → `break` [label-name](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_label-name)opt +> Grammar of a break statement: +> +> *break-statement* → **`break`** *label-name*_?_ ### Continue 文\(Continue Statement\) `continue` 文は、ループ文の現在のイテレーションを終了しますが、ループ文の実行を停止しません。次に示すように、`continue` 文は `continue` キーワードのみで構成することも、`continue` キーワードとそれに続く文ラベルで構成することもできます。 -![Continue 文](../assets/continue_statement.png) +```swift +continue +continue <#label name#> +``` `continue` 文の後に文ラベルが続く場合、そのラベルで指定されたループの現在のイテレーションを終了します。 @@ -284,8 +401,9 @@ case .suppressed: `continue` 文の使用方法の例については、[Continue](../language-guide/control-flow.md#continue)と[Control Flow\(制御フロー\)](../language-guide/control-flow.md)の[Labeled Statements\(ラベル付き文\)](../language-guide/control-flow.md#labeled-statements)を参照ください。 -> GRAMMAR OF A CONTINUE STATEMENT -> continue-statement → `continue` [label-name](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_label-name)opt +> Grammar of a continue statement: +> +> *continue-statement* → **`continue`** *label-name*_?_ ### Fallthrough 文\(Fallthrough Statement\) @@ -295,8 +413,9 @@ case .suppressed: `switch` 文で `fallthrough` 文を使用する方法の例については、[Control Flow\(制御フロー\)](../language-guide/control-flow.md)の[Control Transfer Statements\(制御転送文\)](../language-guide/control-flow.md#control-flow-control-transfer-statements)を参照ください。 -> GRAMMAR OF A FALLTHROUGH STATEMENT -> fallthrough-statement → `fallthrough` +> Grammar of a fallthrough statement: +> +> *fallthrough-statement* → **`fallthrough`** ### Return 文\(Return Statement\) @@ -304,7 +423,10 @@ case .suppressed: 下記に示すように、`return` 文は `return` キーワードのみで構成することも、`return` キーワードとそれに続く式で構成することもできます。 -![Return 文](../assets/return_statement.png) +```swift +return +return <#expression#> +``` `return` 文の後に式が続く場合、式の値は呼び出し元の関数またはメソッドに返されます。式の値が関数またはメソッドで宣言された戻り値の型と一致しない場合、式の値は、呼び出し元の関数またはメソッドに返される前に戻り値の型に変換されます。 @@ -313,8 +435,9 @@ case .suppressed: `return` 文の後に式がない場合は、値を返さない関数またはメソッド\(つまり、関数またはメソッドの戻り値の型が `Void` または `()` の場合\)のみで使用できます -> GRAMMAR OF A RETURN STATEMENT -> return-statement → `return` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression)opt +> Grammar of a return statement: +> +> *return-statement* → **`return`** *expression*_?_ ### Throw 文\(Throw Statement\) @@ -324,14 +447,17 @@ case .suppressed: 下記に示すように、`throw` 文は、`throw` キーワードとそれに続く式で構成されます。 -![Throw 文](../assets/throw_statement.png) +```swift +throw <#expression#> +``` _expression_ の値は、`Error` プロトコルに準拠する型でなければなりません。 `throw` 文の使用方法の例については、[Error Handling\(エラーハンドリング\)](../language-guide/error-handling.md)の[Propagating Errors Using Throwing Functions\(スロー関数を使用したエラーの伝播\)](../language-guide/error-handling.md#propagating-errors-using-throwing-functions)を参照ください。 -> GRAMMAR OF A THROW STATEMENT -> throw-statement → `throw` [expression](https://docs.swift.org/swift-book/ReferenceManual/Expressions.html#grammar_expression) +> Grammar of a throw statement: +> +> *throw-statement* → **`throw`** *expression* ## Defer 文\(Defer Statement\) @@ -339,7 +465,11 @@ _expression_ の値は、`Error` プロトコルに準拠する型でなけれ `defer` 文の形式は次のとおりです: -![Defer 文](../assets/defer_statement.png) +```swift +defer { + <#statements#> +} +``` `defer` 文の内部は、プログラム制御がどのように転送されても実行されます。つまり、`defer` 文を使用して、例えば、ファイル記述子を閉じるなどの手動のリソース管理や、エラーがスローされた場合でも実行する必要のあるアクションを実行できます。 @@ -381,8 +511,9 @@ f() `defer` 文内の文は、プログラム制御を `defer` 文の外部に移すことはできません。 -> GRAMMAR OF A DEFER STATEMENT -> defer-statement → `defer` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) +> Grammar of a defer statement: +> +> *defer-statement* → **`defer`** *code-block* ## Do 文\(Do Statement\) @@ -392,7 +523,20 @@ Swift の `do` 文は、コードブロックを区切るために使用され `do` 文の形式は次のとおりです: -![Do 文](../assets/do_catch_statement.png) +```swift +do { + try <#expression#> + <#statements#> +} catch <#pattern 1#> { + <#statements#> +} catch <#pattern 2#> where <#condition#> { + <#statements#> +} catch <#pattern 3#>, <#pattern 4#> where <#condition#> { + <#statements#> +} catch { + <#statements#> +} +``` `do` ブロック内のいずれかの文がエラーをスローした場合、プログラム制御は、パターンがエラーに一致する最初の `catch` 句に移ります。どの句も一致しない場合、エラーは周囲のスコープに伝播します。エラーがトップレベルでも処理されない場合、プログラムの実行は実行時エラーで停止します。 @@ -404,21 +548,29 @@ Swift の `do` 文は、コードブロックを区切るために使用され 複数の `catch` 句を指定して `do` 文を使用する方法の例については、[Handling Errors\(エラー処理\)](../language-guide/error-handling.md#handling-errorsエラー処理)を参照ください。 -> GRAMMAR OF A DO STATEMENT -> do-statement → `do` [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) [catch-clauses](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-clauses)opt -> catch-clauses → [catch-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-clause) [catch-clauses](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-clauses)opt -> catch-clause → `catch` [catch-pattern-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-pattern-list)opt [code-block](https://docs.swift.org/swift-book/ReferenceManual/Declarations.html#grammar_code-block) -> catch-pattern-list → [catch-pattern](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-pattern) \| [catch-pattern](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-pattern) `,` [catch-pattern-list](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_catch-pattern-list) -> catch-pattern → [pattern](https://docs.swift.org/swift-book/ReferenceManual/Patterns.html#grammar_pattern) [where-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_where-clause)opt +> Grammar of a do statement: +> +> *do-statement* → **`do`** *code-block* *catch-clauses*_?_ +> +> *catch-clauses* → *catch-clause* *catch-clauses*_?_ +> +> *catch-clause* → **`catch`** *catch-pattern-list*_?_ *code-block* +> +> *catch-pattern-list* → *catch-pattern* | *catch-pattern* **`,`** *catch-pattern-list* +> +> *catch-pattern* → *pattern* *where-clause*_?_ ## コンパイラ制御文\(Compiler Control Statements\) コンパイラ制御文を使用すると、プログラムはコンパイラの動作を変更できます。Swift には、3 つのコンパイラ制御文があります。条件付きコンパイルブロックと、行制御文と、コンパイル時診断文です。 -> GRAMMAR OF A COMPILER CONTROL STATEMENT -> compiler-control-statement → [conditional-compilation-block](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_conditional-compilation-block) -> compiler-control-statement → [line-control-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_line-control-statement) -> compiler-control-statement → [diagnostic-statement](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_diagnostic-statement) +> Grammar of a compiler control statement: +> +> *compiler-control-statement* → *conditional-compilation-block* +> +> *compiler-control-statement* → *line-control-statement* +> +> *compiler-control-statement* → *diagnostic-statement* ### 条件付きコンパイルブロック\(Conditional Compilation Block\) @@ -426,7 +578,11 @@ Swift の `do` 文は、コードブロックを区切るために使用され 全ての条件付きコンパイルブロックは、`#if` コンパイルディレクティブで始まり、`#endif` コンパイルディレクティブで終わります。単純な条件付きコンパイルブロックの形式は次のとおりです。 -![if条件付きコンパイルブロック](../assets/if_compiler_statement.png) +```swift +#if <#compilation condition#> + <#statements#> +#endif +``` `if` 文の条件とは異なり、_コンパイル条件_はコンパイル時に評価されます。その結果、_statements_ は、コンパイル時にコンパイル条件が `true` と評価された場合にのみ、コンパイルおよび実行されます。 @@ -469,42 +625,84 @@ print("Compiled with the Swift 5 compiler or later in a Swift mode earlier than `if` 文と同様に、複数の条件分岐を追加して、様々なコンパイル条件を検証できます。`#elseif` 句を使用して、分岐をいくつでも追加できます。`#else` 句を使用して、最後の分岐を追加することもできます。複数のブランチを含む条件付きコンパイルブロックの形式は次のとおりです: -![ifelse条件付きコンパイルブロック](../assets/if_elseif_compiler_statement.png) +```swift +#if <#compilation condition 1#> + <#statements to compile if compilation condition 1 is true#> +#elseif <#compilation condition 2#> + <#statements to compile if compilation condition 2 is true#> +#else + <#statements to compile if both compilation conditions are false#> +#endif +``` > NOTE > 条件付きコンパイルブロックの本文にある各文は、コンパイルされない場合でも解析されます。ただし、コンパイル条件に `swift()` または `compiler()` プラットフォーム条件が含まれている場合は例外です。言語またはコンパイラのバージョンがプラットフォーム条件で指定されているものと一致する場合にのみ解析されます。この例外により、古いコンパイラが新しいバージョンの Swift で導入された構文を解析しないことが保証されます。 明示的なメンバ式を条件付きコンパイルブロックでラップする方法については、[明示的メンバ式\(Explicit Member Expression\)]を参照ください。 -> GRAMMAR OF A CONDITIONAL COMPILATION BLOCK -> conditional-compilation-block → [if-directive-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_if-directive-clause) [elseif-directive-clauses](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_elseif-directive-clauses)opt [else-directive-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_else-directive-clause)opt [endif-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_endif-directive) -> if-directive-clause → [if-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_if-directive) [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements)opt -> elseif-directive-clauses → [elseif-directive-clause](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_elseif-directive-clause) [elseif-directive-clauses](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_elseif-directive-clauses)opt -> elseif-directive-clause → [elseif-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_elseif-directive) [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements)opt -> else-directive-clause → [else-directive](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_else-directive) [statements](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_statements)opt -> if-directive → `#if` -> elseif-directive → `#elseif` -> else-directive → `#else` -> endif-directive → `#endif` -> compilation-condition → [platform-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_platform-condition) -> compilation-condition → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> compilation-condition → [boolean-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_boolean-literal) -> compilation-condition → `(` [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) `)` -> compilation-condition → `!` [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) -> compilation-condition → [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) `&&` [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) -> compilation-condition → [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) `||` [compilation-condition](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_compilation-condition) -> platform-condition → `os` `(` [operating-system](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_operating-system) `)` -> platform-condition → `arch` `(` [architecture](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_architecture) `)` -> platform-condition → `swift` `(` `>=` [swift-version](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_swift-version) `)` \| `swift` `(` `<` [swift-version](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_swift-version) `)` -> platform-condition → `compiler` `(` `>=` [swift-version](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_swift-version) `)` \| `compiler` `(` `<` [swift-version](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_swift-version) `)` -> platform-condition → `canImport` `(` [module-name](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_module-name) `)` -> platform-condition → `targetEnvironment` `(` [environment](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_environment) `)` -> operating-system → `macOS` \| `iOS` \| `watchOS` \| `tvOS` \| `Linux` \| `Windows` -> architecture → `i386` \| `x86_64` \| `arm` \| `arm64` -> swift-version → [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) [swift-version-continuation](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_swift-version-continuation)opt -> swift-version-continuation → `.` [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) [swift-version-continuation](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_swift-version-continuation)opt -> module-name → [identifier](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_identifier) -> environment → `simulator` \| `macCatalyst` +> Grammar of a conditional compilation block: +> +> *conditional-compilation-block* → *if-directive-clause* *elseif-directive-clauses*_?_ *else-directive-clause*_?_ *endif-directive* +> +> +> +> *if-directive-clause* → *if-directive* *compilation-condition* *statements*_?_ +> +> *elseif-directive-clauses* → *elseif-directive-clause* *elseif-directive-clauses*_?_ +> +> *elseif-directive-clause* → *elseif-directive* *compilation-condition* *statements*_?_ +> +> *else-directive-clause* → *else-directive* *statements*_?_ +> +> *if-directive* → **`#if`** +> +> *elseif-directive* → **`#elseif`** +> +> *else-directive* → **`#else`** +> +> *endif-directive* → **`#endif`** +> +> +> +> *compilation-condition* → *platform-condition* +> +> *compilation-condition* → *identifier* +> +> *compilation-condition* → *boolean-literal* +> +> *compilation-condition* → **`(`** *compilation-condition* **`)`** +> +> *compilation-condition* → **`!`** *compilation-condition* +> +> *compilation-condition* → *compilation-condition* **`&&`** *compilation-condition* +> +> *compilation-condition* → *compilation-condition* **`||`** *compilation-condition* +> +> +> +> *platform-condition* → **`os`** **`(`** *operating-system* **`)`** +> +> *platform-condition* → **`arch`** **`(`** *architecture* **`)`** +> +> *platform-condition* → **`swift`** **`(`** **`>=`** *swift-version* **`)`** | **`swift`** **`(`** **`<`** *swift-version* **`)`** +> +> *platform-condition* → **`compiler`** **`(`** **`>=`** *swift-version* **`)`** | **`compiler`** **`(`** **`<`** *swift-version* **`)`** +> +> *platform-condition* → **`canImport`** **`(`** *import-path* **`)`** +> +> *platform-condition* → **`targetEnvironment`** **`(`** *environment* **`)`** +> +> +> +> *operating-system* → **`macOS`** | **`iOS`** | **`watchOS`** | **`tvOS`** | **`Linux`** | **`Windows`** +> +> *architecture* → **`i386`** | **`x86_64`** | **`arm`** | **`arm64`** +> +> *swift-version* → *decimal-digits* *swift-version-continuation*_?_ +> +> *swift-version-continuation* → **`.`** *decimal-digits* *swift-version-continuation*_?_ +> +> *environment* → **`simulator`** | **`macCatalyst`** ### 行制御文\(Line Control Statement\) @@ -512,30 +710,28 @@ print("Compiled with the Swift 5 compiler or later in a Swift mode earlier than 行制御文の形式は次のとおりです: -![sourceLocation制御文](../assets/sourceLocation_compiler_statement.png) +```swift +#sourceLocation(file: <#file path#>, line: <#line number#>) +#sourceLocation() +``` 最初の形式は、行制御文に続くコード行から、`#line`、`#file`、`#fileID`、および `#filePath` リテラル式の値を変更します。_line number_ は `#line` の値を変更し、0 より大きい任意の整数リテラルです。_file path_ は、`#file`、`#fileID`、および `#filePath` の値を変更する文字列リテラルです。指定された文字列が `#filePath` の値になり、文字列の最後のパスコンポーネントが `#fileID` の値として使用されます。`#file`、`#fileID`、および `#filePath` については、[Literal Expression\(リテラル式\)](../language-reference/expressions.md#literal-expression)を参照ください。 2 番目の形式の `#sourceLocation()` は、ソースコードの場所をデフォルトの行番号とファイルパスにリセットします。 -> GRAMMAR OF A LINE CONTROL STATEMENT -> line-control-statement → `#sourceLocation` `(` `file:` [file-path](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_file-path) `,` `line:` [line-number](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_line-number) `)` -> line-control-statement → `#sourceLocation` `(` `)` -> line-number → 0 以上の 10進整数 -> file-path → [static-string-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_static-string-literal) +> Grammar of a line control statement: +> +> *line-control-statement* → **`#sourceLocation`** **`(`** **`file:`** *file-path* **`,`** **`line:`** *line-number* **`)`** +> +> *line-control-statement* → **`#sourceLocation`** **`(`** **`)`** +> +> *line-number* → A decimal integer greater than zero +> +> *file-path* → *static-string-literal* ### コンパイル時診断文\(Compile-Time Diagnostic Statement\) -コンパイル時診断文により、コンパイラはコンパイル中にエラーまたは警告を発行します。コンパイル時診断文の形式は次のとおりです: - -![コンパイル時診断文](../assets/error_warning_compiler_statement.png) - -最初の形式は、致命的なエラーとして _error message_ を出力し、コンパイルプロセスを終了します。2 番目の形式は、致命的ではない警告として _warning message_ を出力し、コンパイルを続行できるようにします。診断メッセージは静的文字列リテラルとして記述します。静的文字列リテラルは、文字列補間や文字列連結などの機能を使用できませんが、複数行の文字列リテラル構文を使用できます。 - -> GRAMMAR OF A COMPILE-TIME DIAGNOSTIC STATEMENT -> diagnostic-statement → `#error` `(` [diagnostic-message](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_diagnostic-message) `)` -> diagnostic-statement → `#warning` `(` [diagnostic-message](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_diagnostic-message) `)` -> diagnostic-message → [static-string-literal](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_static-string-literal) +Swift 5.9 より前のバージョンでは、コンパイル中に `#warning` と `#error` ステートメントが診断結果を出力します。この動作は、現在 Swift 標準ライブラリの[`warning(_:)`](http://developer.apple.com/documentation/swift/documentation/swift/warning(_:))と[`error(_:)`](http://developer.apple.com/documentation/swift/documentation/swift/error(_:))マクロによって提供されています。 ## アベイラビリティ条件\(Availability Condition\) @@ -543,25 +739,58 @@ _availability 条件_は、`if`、`while`、および `guard` 文の条件とし availability 条件の形式は次のとおりです: -![availability 条件](../assets/05_availabilitycondition.png) +```swift +if #available(<#platform name#> <#version#>, <#...#>, *) { + <#statements to execute if the APIs are available#> +} else { + <#fallback statements to execute if the APIs are unavailable#> +} +``` 使用する API が実行時に使用可能かどうかに応じて、Availability 条件を使用してコードのブロックを実行します。コンパイラは、そのコード・ブロック内の API が使用可能かどうかを確認するときに、Availability 条件からの情報を使用します。 -availability 条件は、プラットフォーム名とバージョンのカンマ区切りのリストを受け取ります。プラットフォーム名には `iOS`、`macOS`、`watchOS`、`tvOS` を使用し、対応するバージョン番号を含めます。`*` 引数は必須で、他のプラットフォームでは、availability 条件によって保護されたコードブロックの本文が、ターゲットで指定された最小のデプロイターゲットで実行されることを指定します。 - -ブール条件とは異なり、`&&` や `||` などの論理演算子を使用して availability 条件を組み合わせることはできません。 - -> GRAMMAR OF AN AVAILABILITY CONDITION -> availability-condition → `#available` `(` [availability-arguments](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_availability-arguments) `)` -> availability-arguments → [availability-argument](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_availability-argument) \| [availability-argument](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_availability-argument) `,` [availability-arguments](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_availability-arguments) -> availability-argument → [platform-name](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_platform-name) [platform-version](https://docs.swift.org/swift-book/ReferenceManual/Statements.html#grammar_platform-version) -> availability-argument → `*` -> platform-name → `iOS` \| `iOSApplicationExtension` -> platform-name → `macOS` \| `macOSApplicationExtension` -> platform-name → `macCatalyst` \| `macCatalystApplicationExtension` -> platform-name → `watchOS` -> platform-name → `tvOS` -> platform-version → [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) -> platform-version → [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) `.` [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) -> platform-version → [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) `.` [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) `.` [decimal-digits](https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#grammar_decimal-digits) +availability 条件は、プラットフォーム名とバージョンのカンマ区切りのリストを受け取ります。プラットフォーム名には `iOS`、`macOS`、`watchOS`、`tvOS` を使用し、対応するバージョン番号を含めます。`*` 引数は必須で、他のプラットフォームでは、Availability 条件によって保護されたコードブロックの本文が、ターゲットで指定された最小のデプロイターゲットで実行されることを指定します。 + +ブール条件とは異なり、`&&` や `||` などの論理演算子を使用して Availability 条件を組み合わせることはできません。 +Availability 条件を否定するためには、`!` を使用する代わりに、Unavailability 条件を使用します。次のような形式です: + +```swift +if #unavailable(<#platform name#> <#version#>, <#...#>) { + <#fallback statements to execute if the APIs are unavailable#> +} else { + <#statements to execute if the APIs are available#> +} +``` + +`unavailable` の形は、その条件を否定する糖衣構文です。 Unavailability の条件では、`*` は暗黙的なので、含めるべきではありません。これは Availability 条件における `*` 引数と同じ意味を持ちます。 + +> Grammar of an availability condition: +> +> *availability-condition* → **`#available`** **`(`** *availability-arguments* **`)`** +> +> *availability-condition* → **`#unavailable`** **`(`** *availability-arguments* **`)`** +> +> *availability-arguments* → *availability-argument* | *availability-argument* **`,`** *availability-arguments* +> +> *availability-argument* → *platform-name* *platform-version* +> +> *availability-argument* → **`*`** +> +> +> +> *platform-name* → **`iOS`** | **`iOSApplicationExtension`** +> +> *platform-name* → **`macOS`** | **`macOSApplicationExtension`** +> +> *platform-name* → **`macCatalyst`** | **`macCatalystApplicationExtension`** +> +> *platform-name* → **`watchOS`** | **`watchOSApplicationExtension`** +> +> *platform-name* → **`tvOS`** | **`tvOSApplicationExtension`** +> +> *platform-version* → *decimal-digits* +> +> *platform-version* → *decimal-digits* **`.`** *decimal-digits* +> +> *platform-version* → *decimal-digits* **`.`** *decimal-digits* **`.`** *decimal-digits* From ded6fca11be516fe53c229c2bba9fc101bd89950 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 14:21:57 +0900 Subject: [PATCH 07/19] =?UTF-8?q?[=E6=96=87=E6=B3=95=E3=81=AE=E3=81=BE?= =?UTF-8?q?=E3=81=A8=E3=82=81,=20SUMMARY]=E3=83=9E=E3=82=AF=E3=83=AD?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SUMMARY.md | 1 + language-reference/summary-of-the-grammar.md | 29 +++++++++++--------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index ac2160af..647d78ae 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -28,6 +28,7 @@ * [オプショナルチェーン\(Optional Chaining\)](language-guide/optional-chaining.md) * [エラー処理\(Error Handling\)](language-guide/error-handling.md) * [同時並行処理\(Concurrency\)](language-guide/concurrency.md) +* [マクロ\(Macros\)](language-guide/macros.md) * [型キャスト\(Type Casting\)](language-guide/type-casting.md) * [ネスト型\(Nested Types\)](language-guide/nested-types.md) * [拡張\(Extensions\)](language-guide/extensions.md) diff --git a/language-reference/summary-of-the-grammar.md b/language-reference/summary-of-the-grammar.md index 2bc6f482..96af5000 100644 --- a/language-reference/summary-of-the-grammar.md +++ b/language-reference/summary-of-the-grammar.md @@ -581,9 +581,6 @@ > > *literal-expression* → *array-literal* | *dictionary-literal* | *playground-literal* > -> *literal-expression* → **`#file`** | **`#fileID`** | **`#filePath`** -> -> *literal-expression* → **`#line`** | **`#column`** | **`#function`** | **`#dsohandle`** > > > @@ -713,6 +710,10 @@ > > *wildcard-expression* → **`_`** +> Grammar of a macro-expansion expression: +> +> *macro-expansion-expression* → **`#`** *identifier* *generic-argument-clause*_?_ *function-call-argument-clause*_?_ *trailing-closures*_?_ + > Grammar of a key-path expression: > > *key-path-expression* → **`\`** *type*_?_ **`.`** *key-path-components* @@ -1079,16 +1080,6 @@ > > *file-path* → *static-string-literal* -> Grammar of a compile-time diagnostic statement: -> -> *diagnostic-statement* → **`#error`** **`(`** *diagnostic-message* **`)`** -> -> *diagnostic-statement* → **`#warning`** **`(`** *diagnostic-message* **`)`** -> -> -> -> *diagnostic-message* → *static-string-literal* - > Grammar of an availability condition: > > *availability-condition* → **`#available`** **`(`** *availability-arguments* **`)`** @@ -1465,6 +1456,18 @@ > > *subscript-result* → **`->`** *attributes*_?_ *type* +> Grammar of a macro declaration: +> +> *macro-declaration* → *macro-head* *identifier* *generic-parameter-clause*_?_ *macro-signature* *macro-definition*_?_ *generic-where-clause* +> +> *macro-head* → *attributes*_?_ *declaration-modifiers*_?_ **`macro`** +> +> *macro-signature* → *parameter-clause* *macro-function-signature-result*_?_ +> +> *macro-function-signature-result* → **`->`** *type* +> +> *macro-definition* → **`=`** *expression* + > Grammar of an operator declaration: > > *operator-declaration* → *prefix-operator-declaration* | *postfix-operator-declaration* | *infix-operator-declaration* From 5764573803de6500f3410c1d336479483842cdff Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 14:23:34 +0900 Subject: [PATCH 08/19] =?UTF-8?q?[README]=E3=83=90=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E5=B1=A5=E6=AD=B4=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ffedad0f..f19991d3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,8 @@ ## バージョン履歴 -- 2022/8/1 Swift5.7(beta) +- 2023/6/4 Swift5.9(beta) +- 2022/9/12 Swift5.7 - 2022/3/16 Swift5.6 - 2021/9/21 Swift5.5 From b798a193d4a83762727edc7600a7521073e9b712 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 14:56:37 +0900 Subject: [PATCH 09/19] =?UTF-8?q?[=E3=83=91=E3=82=BF=E3=83=BC=E3=83=B3]?= =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=81=8B=E3=82=89=E3=82=B3=E3=83=BC=E3=83=89?= =?UTF-8?q?=E3=81=B8=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-reference/patterns.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/language-reference/patterns.md b/language-reference/patterns.md index 8bc2bc35..0601421b 100644 --- a/language-reference/patterns.md +++ b/language-reference/patterns.md @@ -165,7 +165,10 @@ for case let number? in arrayOfOptionalInts { 2 つのタイプの_型キャストパターン_、`is` パターンと `as` パターンがあります。`is` パターンは `switch` 文のケースラベルにのみ使用できます。`is` と `as` パターンの形式は次のとおりです。 -![型キャストパターン](../assets/type-casting_patterns.png) +```swift +is <#type#> +<#pattern#> as <#type#> +``` `is` パターンは、実行時の値の型が、`is` パターンの右側で指定された型、またはその型のサブクラスと同じ型の場合に、値と一致します。`is` パターンは、両方とも型キャストを実行しますが、返された型を破棄するという点で、`is` 演算子のように動作します。 From 891ff8a1916c878eed3a99689671062ab0c7bc65 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:03:17 +0900 Subject: [PATCH 10/19] =?UTF-8?q?[=E5=88=B6=E5=BE=A1=E3=83=95=E3=83=AD?= =?UTF-8?q?=E3=83=BC]=E7=94=BB=E5=83=8F=E3=81=8B=E3=82=89=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=B8=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/control-flow.md | 38 +++++++++++++++++++++++++++++----- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/language-guide/control-flow.md b/language-guide/control-flow.md index cbe05b20..6c3f2393 100644 --- a/language-guide/control-flow.md +++ b/language-guide/control-flow.md @@ -117,7 +117,11 @@ for tickMark in stride(from: 3, through: hours, by: hourInterval) { `while` ループの基本的な書き方は下記の通りです: -![Whileループ](../assets/05_whileform.png) +```swift +while <#condition#> { + <#statements#> +} +``` 下記の例は、_蛇とはしご_と呼ばれるシンプルなゲームの例です。 @@ -184,7 +188,11 @@ print("ゲームオーバー!") 下記が `repeat-while` ループの一般的な形式です。 -![repeat-while](../assets/05_repeatwhile.png) +```swift +repeat { + <#statements#> +} while <#condition#> +``` ここで蛇とはしごの例を `while` の代わりに `repeat-while` を使用して書き換えてみます。`finalSquare`、`board`、`square` と `diceRoll` は `while` と全く同じ方法で初期化します。 @@ -362,7 +370,17 @@ let weatherAdvice = if temperatureInCelsius > 100 { 最もシンプルな形式として、`switch` 文は同じ型の 1 つ以上の値を比較します。 -![switch](../assets/05_switchform.png) +```swift +switch <#some value to consider#> { +case <#value 1#>: + <#respond to value 1#> +case <#value 2#>, + <#value 3#>: + <#respond to value 2 or 3#> +default: + <#otherwise, do something else#> +} +``` 全ての `switch` 文は、`case` キーワードで始まる複数の可能性があるケースで構成されます。特定の値の比較に加えて、さらに複雑なパターンマッチをケースに指定するための様々な方法を提供しています。この章で後ほど記載しています。 @@ -711,7 +729,11 @@ Swift では、より複雑な制御フローを作成するために、ルー ラベル付き文は、文の導入キーワードの前にコロン\(`:`\)を付けて同じ行にラベルを配置することで示せます。下記は、`while` ループの構文の例ですが、他の全てのループや `switch` にも同じ原則が当てはまります。 -![ラベル付き文](../assets/05_lebeledstatements.png) +```swift +<#label name#>: while <#condition#> { + <#statements#> +} +``` 次の例は、この章の前で見てきた「蛇とはしご」にラベル付き `while` ループと `break` と `continue` 文を適用したバージョンです。今回は、追加のルールがあります。 @@ -873,7 +895,13 @@ if #available(iOS 10, macOS 10.12, *) { 基本的な形式として、アベイラビリティ条件はプラットフォームの名前とバージョンのリストを受け取ります。`iOS`、`macOS`、`watchOS`、`tvOS` などをプラットフォームの名前として使います。全リストは[宣言属性\(Declaration Attributes\)](../language-reference/attributes.md)を参照ください。`iOS 8` や `macOS 10.10` のようなメジャーバージョンに加え、`iOS 11.2.6` や `macOS 10.13.3` のようにマイナーバージョンも指定できます。 -![APIアベイラビリティ条件](../assets/05_availabilitycondition.png) +```swift +if #available(<#platform name#> <#version#>, <#...#>, *) { + <#statements to execute if the APIs are available#> +} else { + <#fallback statements to execute if the APIs are unavailable#> +} +``` `guard` 文でアベイラビリティ条件を使用すると、そのコードブロック内の残りのコードに使用されるアベイラビリティ情報が絞り込まれます。 From d774717ecca1593f297e792f38aae375e0b86d22 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:08:51 +0900 Subject: [PATCH 11/19] =?UTF-8?q?[=E3=82=B3=E3=83=AC=E3=82=AF=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E5=9E=8B]=E7=94=BB=E5=83=8F=E3=81=8B?= =?UTF-8?q?=E3=82=89=E3=82=B3=E3=83=BC=E3=83=89=E3=81=B8=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/collection-types.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/language-guide/collection-types.md b/language-guide/collection-types.md index a2258277..331a2536 100644 --- a/language-guide/collection-types.md +++ b/language-guide/collection-types.md @@ -475,7 +475,9 @@ namesOfIntegers = [:] _キーバリューペア_は、キーとバリューの組み合わせです。辞書リテラルは、それぞれのキーバリューペアのキーとバリューをコロン\(`:`\)で分けます。複数のキーバリューペアは、カンマ\(`,`\)区切りのリストを角括弧\(`[]`\)で囲みます: -![辞書の作成](../assets/04_dictionarycreating.png) +```swift +[<#key 1#>: <#value 1#>, <#key 2#>: <#value 2#>, <#key 3#>: <#value 3#>] +``` 下記の例では、国際空港の名前を保持する辞書を作成します。この辞書は、3 文字の国際空港コードをキーに、空港名をバリューにしています。 From 58e7e4040ae0e2896f90253ae6b3f095d745a241 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:10:14 +0900 Subject: [PATCH 12/19] =?UTF-8?q?[=E3=82=AF=E3=83=AD=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=83=A3]=E7=94=BB=E5=83=8F=E3=81=8B=E3=82=89=E3=82=B3?= =?UTF-8?q?=E3=83=BC=E3=83=89=E3=81=B8=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/closures.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/language-guide/closures.md b/language-guide/closures.md index 0a8e407d..fc6dbdf7 100644 --- a/language-guide/closures.md +++ b/language-guide/closures.md @@ -63,7 +63,11 @@ var reversedNames = names.sorted(by: backward) クロージャ式の構文には、次の一般的な形式があります: -![クロージャ式構文](../assets/07_closureexpressionsyntax.png) +```swift +{ (<#parameters#>) -> <#return type#> in + <#statements#> +} +``` クロージャ式構文のパラメータは、in-out パラメータをとることもできますが、デフォルト値を設定することはできません。可変長パラメータに名前を付けると、可変長パラメータを使用できます。タプルも、パラメータの型および戻り値の型として使用できます。 From fa1031c6c453e119ddc7b54ee8e384f77b4d03c3 Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:11:46 +0900 Subject: [PATCH 13/19] =?UTF-8?q?[=E5=88=9D=E6=9C=9F=E5=8C=96]=E7=94=BB?= =?UTF-8?q?=E5=83=8F=E3=81=8B=E3=82=89=E3=82=B3=E3=83=BC=E3=83=89=E3=81=B8?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/initialization.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/language-guide/initialization.md b/language-guide/initialization.md index 9ed7c6a6..69aae2dd 100644 --- a/language-guide/initialization.md +++ b/language-guide/initialization.md @@ -344,11 +344,19 @@ convenience イニシャライザは二次的なもので、クラスのイニ クラスの指定イニシャライザは、値型のシンプルなイニシャライザと同じ方法で記述します: -![指定イニシャライザ](../assets/14_designatedInitializer.png) +```swift +init(<#parameters#>) { + <#statements#> +} +``` covenience イニシャライザは同じスタイルで記述できますが、`init` キーワードの前にスペース区切りで `covenience` 修飾子を配置します: -![covenience イニシャライザ](../assets/14_convenienceInitializer.png) +```swift +convenience init(<#parameters#>) { + <#statements#> +} +``` ### クラス型のイニシャライザの委譲\(Initializer Delegation for Class Types\) From a17c980d218394996482819e915abd588be02b8e Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:12:46 +0900 Subject: [PATCH 14/19] =?UTF-8?q?[=E3=82=A8=E3=83=A9=E3=83=BC=E3=83=8F?= =?UTF-8?q?=E3=83=B3=E3=83=89=E3=83=AA=E3=83=B3=E3=82=B0]=E7=94=BB?= =?UTF-8?q?=E5=83=8F=E3=81=8B=E3=82=89=E3=82=B3=E3=83=BC=E3=83=89=E3=81=B8?= =?UTF-8?q?=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/error-handling.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/language-guide/error-handling.md b/language-guide/error-handling.md index 233b3e24..55bcdb46 100644 --- a/language-guide/error-handling.md +++ b/language-guide/error-handling.md @@ -136,7 +136,20 @@ struct PurchasedSnack { `do-catch` 文の一般的な形式は次のとおりです: -![do catch文](../assets/17_errorHandling.png) +```swift +do { + try <#expression#> + <#statements#> +} catch <#pattern 1#> { + <#statements#> +} catch <#pattern 2#> where <#condition#> { + <#statements#> +} catch <#pattern 3#>, <#pattern 4#> where <#condition#> { + <#statements#> +} catch { + <#statements#> +} +``` その句が処理できるエラーを示すには、`catch` の後にパターンを記述します。`catch` 句にパターンがない場合、句は全てのエラーに一致し、エラーを `error` という名前のローカル定数にバインドします。パターンマッチングの詳細については、[Patterns\(パターン\)](../language-reference/patterns.md)を参照ください。 From 5defd77a26670fac74baa0791c4cfd5600c083cb Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:33:03 +0900 Subject: [PATCH 15/19] =?UTF-8?q?[=E3=82=B3=E3=83=AC=E3=82=AF=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E5=9E=8B=E3=80=81=E5=B1=9E=E6=80=A7=E3=80=81?= =?UTF-8?q?=E3=82=B8=E3=82=A7=E3=83=8D=E3=83=AA=E3=83=83=E3=82=AF=E3=83=91?= =?UTF-8?q?=E3=83=A9=E3=83=A1=E3=83=BC=E3=82=BF=E3=81=A8=E5=BC=95=E6=95=B0?= =?UTF-8?q?]=E7=94=BB=E5=83=8F=E3=81=8B=E3=82=89=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=B8=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-guide/collection-types.md | 4 ++- language-reference/attributes.md | 30 ++++++++++++++----- .../generic-parameters-and-arguments.md | 16 +++++++--- 3 files changed, 38 insertions(+), 12 deletions(-) diff --git a/language-guide/collection-types.md b/language-guide/collection-types.md index 331a2536..ccdd1779 100644 --- a/language-guide/collection-types.md +++ b/language-guide/collection-types.md @@ -78,7 +78,9 @@ var sixDoubles = threeDoubles + anotherThreeDoubles 配列リテラルからも配列を初期化できます。これは、1 つ以上の要素を持った配列コレクションの簡略記法です。配列リテラルはカンマ区切りの角括弧\(`[]`\)で囲んだ値のリストです: -![Array Literal](../assets/arrayliteral_2x.png) +```swift +[<#value 1#>, <#value 2#>, <#value 3#>] +``` 下記の例は、`String` を保持する `shoppingList` という配列を作成しています。 diff --git a/language-reference/attributes.md b/language-reference/attributes.md index aee78ce0..272ccee2 100644 --- a/language-reference/attributes.md +++ b/language-reference/attributes.md @@ -9,7 +9,10 @@ Swift には、宣言に適用される属性と型に適用される属性の 2 `@` 記号に続けて属性の名前と、属性が受け入れる引数を書き込むことにより、属性を指定します。 -![属性](../assets/attributes.png) +```swift +@<#attribute name#> +@<#attribute name#>(<#attribute arguments#>) +``` 一部の宣言属性は、属性とそれが特定の宣言にどのように適用されるかについての詳細情報を指定する引数を受け入れます。これらの _attribute arguments_ は括弧\(`()`\)で囲まれ、その形式は属する属性によって定義されています。 @@ -64,31 +67,41 @@ Swift には、宣言に適用される属性と型に適用される属性の 2 * `unavailable` 引数は、指定されたプラットフォームで宣言が使用できないことを示します。この引数は、Swift のアベイラビリティバージョンを指定している場合は使用できません * `introduced` 引数は、宣言が導入された特定のプラットフォームまたは言語の最初のバージョンを示します。形式は次のとおりです: -![introduced 引数](../assets/introduced.png) + ```swift + introduced: <#version number#> + ``` _version number_ は、ピリオド\(`.`\)で区切られた 1〜3 個の正の整数で構成されます。 * `deprecated` 引数は、宣言が非推奨になった特定のプラットフォームまたは言語の最初のバージョンを示します。形式は次のとおりです: -![deprecated 引数](../assets/deprecated.png) + ```swift + deprecated: <#version number#> + ``` 任意の _version number_ は、ピリオド\(`.`\)で区切られた 1〜3 個の正の整数で構成されます。バージョン番号を省略すると、deprecated がいつ発生したかについての情報を提供せずに、宣言が現在 deprecated になっていることのみを示します。バージョン番号を省略する場合は、コロン\(`:`\)も省略してください。 * `obsoleted` 引数は、宣言が廃止された特定のプラットフォームまたは言語の最初のバージョンを示します。宣言が廃止されると、指定されたプラットフォームまたは言語から削除され、使用できなくなります。形式は次のとおりです: -![obsoleted 引数](../assets/obsoleted.png) + ```swift + obsoleted: <#version number#> + ``` _version number_ は、ピリオド\(`.`\)で区切られた 1〜3 個の正の整数で構成されます。 * `message` 引数は、deprecated または obsoleted された宣言に使用した際に、コンパイラが表示する警告またはエラーのテキストメッセージを提供します。形式は次のとおりです: -![message 引数](../assets/message.png) + ```swift + message: <#message#> + ``` _message_ は文字列リテラルで構成されます。 * `renamed` 引数は、名前が変更された宣言の新しい名前を示すテキストメッセージを提供します。コンパイラは、名前が変更された宣言が使用された際にエラーを発行し、新しい名前を表示します。形式は次のとおりです: -![renamed 引数](../assets/renamed.png) + ```swift + renamed: <#new name#> + ``` _new name_ は文字列リテラルで構成されます。 @@ -115,7 +128,10 @@ typealias MyProtocol = MyRenamedProtocol `available` 属性がプラットフォームまたは言語名の引数に加えて `introduced` 引数を指定するだけの場合は、代わりに次の省略構文を使用できます: -![available属性](../assets/available.png) +```swift +@available(<#platform name#> <#version number#>, *) +@available(swift <#version number#>) +``` `available` 属性の省略構文は、複数のプラットフォームのアベイラビリティを簡潔に表しています。2 つの形式は機能的に同等ですが、可能な限り省略形が推奨されます。 diff --git a/language-reference/generic-parameters-and-arguments.md b/language-reference/generic-parameters-and-arguments.md index 602eb179..0ad94d7c 100644 --- a/language-reference/generic-parameters-and-arguments.md +++ b/language-reference/generic-parameters-and-arguments.md @@ -13,11 +13,15 @@ Swift のジェネリクスの概要については、[Generics\(ジェネリク ジェネリックパラメータ句は、ジェネリック型または関数の型パラメータを指定し、それらのパラメータに関連する制約や要件とともに指定します。ジェネリックパラメータ句は、山括弧\(`<>`\)で囲まれており、形式は次のとおりです。 -![ジェネリックパラメータリスト](../assets/generic-parameter-list.png) +```swift +<<#generic parameter list#>> +``` _generic parameter list_ は、ジェネリックパラメータのカンマ区切りのリストで、その各形式は次のとおりです。 -![型パラメータ制約](../assets/type-parameter-constraint.png) +```swift +<#type parameter#>: <#constraint#> +``` _type parameter_ の後に任意の _constraint_ を付けて構成します。_type parameter_ は、単にプレースホルダ型の名前です\(例えば、`T`、`U`、`V`、`Key`、`Value` など\)。関数またはイニシャライザのシグネチャを含む型や関数の残りの部分から型パラメータ\(およびその関連型の全ての型\)にアクセスできます。 @@ -43,7 +47,9 @@ simpleMax(3.14159, 2.71828) // T は Double に推論されます 型または関数の本文の開始中括弧\(`{`\)の直前にジェネリック `where` 句を含むことによって、型パラメータとその関連型に追加要件を指定できます。ジェネリック `where` 句は、`where` キーワードで構成され、その後に 1 つ以上の要件のカンマ区切りのリストが続きます。 -![ジェネリック where 句](../assets/generic-where-clauses.png) +```swift +where <#requirements#> +``` ジェネリック `where` 句の _requirements_ は、型パラメータがクラスを継承するか、プロトコルまたはプロトコル合成に準拠することを指定します。ジェネリック `where` 句は型パラメータのシンプルな制約を表現するための糖衣構文\(シンタックスシュガー\)を提供しますが\(例えば、`` は ` where T: Comparable` などと同等\)、それを使用して複雑な制約を型パラメータや関連型に提供することもできます。例えば、プロトコルに準拠するために、関連型の型パラメータを制限することができます。` where S.Iterator.Element: Equatable` は、`S` が `Sequence` プロトコルに準拠し、関連型 `S.Iterator.Element` が `Equatable` プロトコルに準拠することを指定します。この制約は、シーケンスの各要素が `Equatable` だということを保証します。 @@ -84,7 +90,9 @@ extension Collection where Element: SomeProtocol { _ジェネリック引数句_は、ジェネリック型の型引数を指定します。ジェネリック引数句は山括弧\(`<>`\)で囲まれており、形式は次のとおりです。 -![ジェネリック引数句](../assets/generic-argument-list.png) +```swift +<<#generic argument list#>> +``` _generic argument list_ は、型パラメータのカンマ区切りのリストです。_型引数_は、ジェネリック型のジェネリックパラメータ句に対応する型パラメータを置き換えた実際の具象型の名前です。つまり、そのジェネリック型の具象型バージョンです。下記の例は、Swift 標準ライブラリのジェネリックな辞書型のシンプルなバージョンを示しています。 From 806d7c38d0fe2b57a374796ef36322cad5728b3d Mon Sep 17 00:00:00 2001 From: stzn Date: Sun, 4 Jun 2023 15:34:49 +0900 Subject: [PATCH 16/19] =?UTF-8?q?=20=E4=B8=8D=E8=A6=81=E3=81=AA=E7=94=BB?= =?UTF-8?q?=E5=83=8F=E3=81=AE=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/04_dictionarycreating.png | Bin 19950 -> 0 bytes assets/05_availabilitycondition.png | Bin 55483 -> 0 bytes assets/05_lebeledstatements.png | Bin 23176 -> 0 bytes assets/05_repeatwhile.png | Bin 20555 -> 0 bytes assets/05_switchform.png | Bin 64165 -> 0 bytes assets/05_whileform.png | Bin 17724 -> 0 bytes assets/07_closureexpressionsyntax.png | Bin 23654 -> 0 bytes assets/14_convenienceInitializer.png | Bin 23147 -> 0 bytes assets/14_designatedInitializer.png | Bin 18515 -> 0 bytes assets/17_errorHandling.png | Bin 90799 -> 0 bytes assets/actor_declaration.png | Bin 8898 -> 0 bytes assets/array_expression.png | Bin 12424 -> 0 bytes assets/array_type.png | Bin 8104 -> 0 bytes assets/arrayliteral_2x.png | Bin 13725 -> 0 bytes assets/assignment_operator.png | Bin 11977 -> 0 bytes assets/asynchronous_functions_and_methods.png | Bin 13890 -> 0 bytes assets/attributes.png | Bin 23168 -> 0 bytes assets/available.png | Bin 33567 -> 0 bytes assets/await_operator.png | Bin 8722 -> 0 bytes assets/await_throw_closure_expression.png | Bin 36068 -> 0 bytes assets/binary_expression.png | Bin 17799 -> 0 bytes assets/break_statement.png | Bin 13989 -> 0 bytes assets/class_declaration.png | Bin 29830 -> 0 bytes assets/closure_expression.png | Bin 23065 -> 0 bytes assets/code_blocks.png | Bin 11869 -> 0 bytes ...mputed_variables_and_computed_properties.png | Bin 40544 -> 0 bytes assets/constant_declaration.png | Bin 17913 -> 0 bytes assets/continue_statement.png | Bin 15232 -> 0 bytes assets/defer_statement.png | Bin 13946 -> 0 bytes assets/deinitializer_declaration.png | Bin 13639 -> 0 bytes assets/deprecated.png | Bin 15233 -> 0 bytes assets/dictionary_expression.png | Bin 17347 -> 0 bytes assets/dictionary_type.png | Bin 13307 -> 0 bytes assets/do_catch_statement.png | Bin 90754 -> 0 bytes ...merations_with_cases_of_a_raw-value_type.png | Bin 49693 -> 0 bytes assets/enumerations_with_cases_of_any_type.png | Bin 45455 -> 0 bytes assets/error_warning_compiler_statement.png | Bin 24647 -> 0 bytes assets/explicit_member_expression.png | Bin 12294 -> 0 bytes assets/extension_declaration.png | Bin 27555 -> 0 bytes assets/extension_declaration2.png | Bin 34146 -> 0 bytes assets/for-in_statement.png | Bin 20547 -> 0 bytes assets/forced-Value_expression.png | Bin 9747 -> 0 bytes assets/function_call_expression1.png | Bin 19522 -> 0 bytes assets/function_call_expression2.png | Bin 28133 -> 0 bytes assets/function_declaration.png | Bin 27658 -> 0 bytes assets/function_declaration2.png | Bin 23423 -> 0 bytes assets/function_type.png | Bin 14309 -> 0 bytes assets/generic-argument-list.png | Bin 13523 -> 0 bytes assets/generic-parameter-list.png | Bin 13453 -> 0 bytes assets/generic-where-clauses.png | Bin 11722 -> 0 bytes assets/guard_statement.png | Bin 19576 -> 0 bytes assets/if_compiler_statement.png | Bin 21568 -> 0 bytes assets/if_else_statement.png | Bin 38404 -> 0 bytes assets/if_elseif_compiler_statement.png | Bin 76517 -> 0 bytes assets/if_elseif_statement.png | Bin 63310 -> 0 bytes assets/if_statement.png | Bin 15878 -> 0 bytes assets/implicit_member_expression.png | Bin 9154 -> 0 bytes assets/import_declaration.png | Bin 10782 -> 0 bytes assets/import_declaration2.png | Bin 28257 -> 0 bytes assets/infix_operator_declaration.png | Bin 20030 -> 0 bytes assets/initializer_declaration.png | Bin 18478 -> 0 bytes assets/initializer_declaration2.png | Bin 23073 -> 0 bytes assets/initializer_expression.png | Bin 17739 -> 0 bytes assets/inout_expression.png | Bin 9992 -> 0 bytes assets/introduced.png | Bin 15386 -> 0 bytes assets/key-path_expression.png | Bin 10838 -> 0 bytes assets/key-path_string_expression.png | Bin 15635 -> 0 bytes assets/message.png | Bin 12407 -> 0 bytes assets/multipleline_strings.png | Bin 10394 -> 0 bytes assets/obsoleted.png | Bin 15098 -> 0 bytes assets/opaque_type.png | Bin 11462 -> 0 bytes assets/optional-chaining_expression.png | Bin 9967 -> 0 bytes assets/parameter_names.png | Bin 13104 -> 0 bytes assets/parameter_names2.png | Bin 24858 -> 0 bytes assets/postfix_operator_declaration.png | Bin 16017 -> 0 bytes assets/postfix_self_expression.png | Bin 16283 -> 0 bytes assets/precedence_group_declaration.png | Bin 62986 -> 0 bytes assets/prefix_operator_declaration.png | Bin 16195 -> 0 bytes assets/protocol_compose_type.png | Bin 11724 -> 0 bytes assets/protocol_declaration.png | Bin 31516 -> 0 bytes assets/protocol_property_declaration.png | Bin 19028 -> 0 bytes assets/protocol_subscript_declaration.png | Bin 22379 -> 0 bytes assets/regex-literal-1.png | Bin 4325 -> 0 bytes assets/regex-literal-2.png | Bin 9421 -> 0 bytes assets/renamed.png | Bin 11836 -> 0 bytes assets/repeat-while_statement.png | Bin 20422 -> 0 bytes assets/return_statement.png | Bin 13762 -> 0 bytes assets/selector_expression.png | Bin 39806 -> 0 bytes assets/self_expression.png | Bin 43313 -> 0 bytes assets/singleline_strings.png | Bin 9662 -> 0 bytes assets/sourceLocation_compiler_statement.png | Bin 29131 -> 0 bytes assets/special_kinds-of_parameters.png | Bin 34778 -> 0 bytes ...ariable_observers_and_property_observers.png | Bin 53784 -> 0 bytes .../string_delimited_by_extended_delimiters.png | Bin 19099 -> 0 bytes assets/structure_declaration.png | Bin 27307 -> 0 bytes assets/subscript_declaration.png | Bin 46767 -> 0 bytes assets/subscript_expression.png | Bin 15009 -> 0 bytes assets/superclass_expression.png | Bin 33265 -> 0 bytes assets/switch_statement.png | Bin 84758 -> 0 bytes assets/ternary_conditional_operator.png | Bin 20478 -> 0 bytes assets/throw_statement.png | Bin 12574 -> 0 bytes assets/throwing_functions_and_methods.png | Bin 30304 -> 0 bytes assets/try!_operator.png | Bin 11477 -> 0 bytes assets/try_hatena_operator.png | Bin 11717 -> 0 bytes assets/try_operator.png | Bin 11198 -> 0 bytes assets/tuple_expression.png | Bin 17657 -> 0 bytes assets/type-casting_patterns.png | Bin 15828 -> 0 bytes assets/type-parameter-constraint.png | Bin 14145 -> 0 bytes assets/type_alias_declaration.png | Bin 17087 -> 0 bytes assets/type_casting_operator.png | Bin 36395 -> 0 bytes assets/variable_declaration.png | Bin 17595 -> 0 bytes assets/while_statement.png | Bin 17385 -> 0 bytes 112 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/04_dictionarycreating.png delete mode 100644 assets/05_availabilitycondition.png delete mode 100644 assets/05_lebeledstatements.png delete mode 100644 assets/05_repeatwhile.png delete mode 100644 assets/05_switchform.png delete mode 100644 assets/05_whileform.png delete mode 100644 assets/07_closureexpressionsyntax.png delete mode 100644 assets/14_convenienceInitializer.png delete mode 100644 assets/14_designatedInitializer.png delete mode 100644 assets/17_errorHandling.png delete mode 100644 assets/actor_declaration.png delete mode 100644 assets/array_expression.png delete mode 100644 assets/array_type.png delete mode 100644 assets/arrayliteral_2x.png delete mode 100644 assets/assignment_operator.png delete mode 100644 assets/asynchronous_functions_and_methods.png delete mode 100644 assets/attributes.png delete mode 100644 assets/available.png delete mode 100644 assets/await_operator.png delete mode 100644 assets/await_throw_closure_expression.png delete mode 100644 assets/binary_expression.png delete mode 100644 assets/break_statement.png delete mode 100644 assets/class_declaration.png delete mode 100644 assets/closure_expression.png delete mode 100644 assets/code_blocks.png delete mode 100644 assets/computed_variables_and_computed_properties.png delete mode 100644 assets/constant_declaration.png delete mode 100644 assets/continue_statement.png delete mode 100644 assets/defer_statement.png delete mode 100644 assets/deinitializer_declaration.png delete mode 100644 assets/deprecated.png delete mode 100644 assets/dictionary_expression.png delete mode 100644 assets/dictionary_type.png delete mode 100644 assets/do_catch_statement.png delete mode 100644 assets/enumerations_with_cases_of_a_raw-value_type.png delete mode 100644 assets/enumerations_with_cases_of_any_type.png delete mode 100644 assets/error_warning_compiler_statement.png delete mode 100644 assets/explicit_member_expression.png delete mode 100644 assets/extension_declaration.png delete mode 100644 assets/extension_declaration2.png delete mode 100644 assets/for-in_statement.png delete mode 100644 assets/forced-Value_expression.png delete mode 100644 assets/function_call_expression1.png delete mode 100644 assets/function_call_expression2.png delete mode 100644 assets/function_declaration.png delete mode 100644 assets/function_declaration2.png delete mode 100644 assets/function_type.png delete mode 100644 assets/generic-argument-list.png delete mode 100644 assets/generic-parameter-list.png delete mode 100644 assets/generic-where-clauses.png delete mode 100644 assets/guard_statement.png delete mode 100644 assets/if_compiler_statement.png delete mode 100644 assets/if_else_statement.png delete mode 100644 assets/if_elseif_compiler_statement.png delete mode 100644 assets/if_elseif_statement.png delete mode 100644 assets/if_statement.png delete mode 100644 assets/implicit_member_expression.png delete mode 100644 assets/import_declaration.png delete mode 100644 assets/import_declaration2.png delete mode 100644 assets/infix_operator_declaration.png delete mode 100644 assets/initializer_declaration.png delete mode 100644 assets/initializer_declaration2.png delete mode 100644 assets/initializer_expression.png delete mode 100644 assets/inout_expression.png delete mode 100644 assets/introduced.png delete mode 100644 assets/key-path_expression.png delete mode 100644 assets/key-path_string_expression.png delete mode 100644 assets/message.png delete mode 100644 assets/multipleline_strings.png delete mode 100644 assets/obsoleted.png delete mode 100644 assets/opaque_type.png delete mode 100644 assets/optional-chaining_expression.png delete mode 100644 assets/parameter_names.png delete mode 100644 assets/parameter_names2.png delete mode 100644 assets/postfix_operator_declaration.png delete mode 100644 assets/postfix_self_expression.png delete mode 100644 assets/precedence_group_declaration.png delete mode 100644 assets/prefix_operator_declaration.png delete mode 100644 assets/protocol_compose_type.png delete mode 100644 assets/protocol_declaration.png delete mode 100644 assets/protocol_property_declaration.png delete mode 100644 assets/protocol_subscript_declaration.png delete mode 100644 assets/regex-literal-1.png delete mode 100644 assets/regex-literal-2.png delete mode 100644 assets/renamed.png delete mode 100644 assets/repeat-while_statement.png delete mode 100644 assets/return_statement.png delete mode 100644 assets/selector_expression.png delete mode 100644 assets/self_expression.png delete mode 100644 assets/singleline_strings.png delete mode 100644 assets/sourceLocation_compiler_statement.png delete mode 100644 assets/special_kinds-of_parameters.png delete mode 100644 assets/stored_variable_observers_and_property_observers.png delete mode 100644 assets/string_delimited_by_extended_delimiters.png delete mode 100644 assets/structure_declaration.png delete mode 100644 assets/subscript_declaration.png delete mode 100644 assets/subscript_expression.png delete mode 100644 assets/superclass_expression.png delete mode 100644 assets/switch_statement.png delete mode 100644 assets/ternary_conditional_operator.png delete mode 100644 assets/throw_statement.png delete mode 100644 assets/throwing_functions_and_methods.png delete mode 100644 assets/try!_operator.png delete mode 100644 assets/try_hatena_operator.png delete mode 100644 assets/try_operator.png delete mode 100644 assets/tuple_expression.png delete mode 100644 assets/type-casting_patterns.png delete mode 100644 assets/type-parameter-constraint.png delete mode 100644 assets/type_alias_declaration.png delete mode 100644 assets/type_casting_operator.png delete mode 100644 assets/variable_declaration.png delete mode 100644 assets/while_statement.png diff --git a/assets/04_dictionarycreating.png b/assets/04_dictionarycreating.png deleted file mode 100644 index 79bbda503dff75f3587009af7c99b343a5e2cf08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19950 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 z 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 diff --git a/assets/05_lebeledstatements.png b/assets/05_lebeledstatements.png deleted file mode 100644 index 09611069519717157cdde3be44ffa486e0760e8a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23176 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 Nax%)&B~nK3{|7r+&W`{9 diff --git a/assets/05_whileform.png b/assets/05_whileform.png deleted file mode 100644 index 8d9c9920dd8db5285317afffff34d5068fefd8cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17724 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 P@r%LJ)z4*}Q$iB}u1SSM diff --git a/assets/07_closureexpressionsyntax.png b/assets/07_closureexpressionsyntax.png deleted file mode 100644 index 02e36145ab309e85b844ffe30f74229d509a9bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23654 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 diff --git a/assets/17_errorHandling.png b/assets/17_errorHandling.png deleted file mode 100644 index 478e992efc53a9f261f6d630e394921b94799d86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90799 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 i}K1E`bX$HlnKbU|<+z&mV9xInraG{wY%h z6$h0MlAQY1mUOxX)_R6?E|xaW^?-4?Z~~{6h7P)fE|wNn_M9%<#Q(X26F7gqOixVs zpIaQvxrtRi$Pfxz+ZhtRqhq0CAm)K3BqZdrGce+m69WD9IPi;`*u=rXhLfJ&+1Z)S znVHVo&X}H&gM)*ffr*}pi59qn*51|1LDz-W%AVxEmHetl$k1Nj&eX=i)Y^*hxn5m8 zYexreV&dn9e!u?PPeT{ezgx1h|7%#l0O_Ag=o#r4=zrG@Jj(Tal~cyl#n3`U$kY;$ z8PEm~2Ln6TfA0TR$=@yh_en*2LpwohOW;8Vp1+0u*TerT{PV&8G^zS`ldLRE|7`Lf zC4W81MgKhVe@NoLV*bxnK+Zg{T=c)^j0bi>(3BaNMm$p?X$9a2DB1H1oFDk2`0w%g zyh4|sp%rkN`M|`4_!V5h_fw%<6uPFnwZ~A^P*BXaGch5N(Q+hEY0xOe6)Bx$WKZaW zV0QyUf_$L;f*g>LJ`)qZ`Me|~p5y$&*FOrsg`?`QGI=p-$SBq##yO3=@oG4ggZauC zGtKjAFeUaVf=Y)79EI?Yw=WvRsVqYtVY~dlioiek_(c;y{QG(`1O=9*o-P?o6xbhc zND|(cq z1W~5l8nL}?qEILY>E-36$_0lY@@K=Qs2Mtv$t`a^1> zg!;g|Fn5oXEs=o2zK5VwJIt52+`@+AvVAKiz>WT6uK1h)DG$E5t;AD|&lOMPbfnsy zD2#>7wuAmxAF#k-yTeYZirFBuH4|on{&&3JyP)e*bhsL}35TuNeW{`7h#233ckRXt z6b2Z|WGib9T3wfF@>`b?G>3R^9t1Wmb0LElBry3Z`XQ^l!>YOE@wxAUGuqJyIwQA$ z7xqWxVh|c2hPULTx&ys6>@7d7lWUc7C1_JLJYS#4+FpglxEZv8-{0)KBJCoZt6o1i z`k0qqBe?T+!%}M`tlxRb6>4v)bUd$~^c^$w_}l+gRz4#n8|=30=_kw1Oaf=zLs?e{ z32qGx@VJjQB>OnS*6+jL_c=>mrK_oh%eNBrG_(zTIJl>V$TCTd@!54>9bv9>Wb8L+ zU0>6h+cPms35N2#yX?vo3_ORfG8z(?EK+2)Wl4Jb$8rPTLb8Er!@@=Wcte{{%&6oF z8K+`#FKe!Fs4?yks5|h~mUpGJDiy=eGKUtnJGK_VjBHDzaaBB%NtNU=hGB(ob<4G? z#O3AfN=bLXl|M4TgA*ds!>fx!QiU*_!toK%PeKk3)h+dfCfBOr<^>_!ZizC`WbTSl{mBBi3oLRty!U1x$ApuJpA1hJm&TUM4QE2dd&-wt8MnOS|N=OI_3WCPtc0*h5iR=M1v}Sgy zRDC^Gnx}6YX{xI$55+DBy6N&MZ-;1veeoYzl1|GZCl+@ zW9!$uz0zB^3*)_&)u(s0l|<;pP;_neL*y4V82axsJm&jZ=Q-3kY*zU8mmZeK=AObn zQz^n8%+&}UEj6!hZEY2pUXuJV1->+7D=2=pre9R+oUTJ!PKF2WzPIWjQ$yF5FSIWh z$^WP6jgRlx8;&ztmRuZg6%JK8`U4d9aca@;^6zuYC%ubd%(#_DjNXe-L%qiG;dZ}N zaj+iEf^<9IZo3b~P;e3W-{G$8LTCsu44bjT*s|%pD^8o&_H))HptkB0>$}dpWam3j ztR}-!zIejks!f}EFc2%Iv8+)<7+DHE$e!Mlm`txHKx|!ZS7Hv_lS*Ot?d=uSsJDZB z?|j%9L-wk?0Lx=Nob7m!d4$~}`Hk2g#*~m6rp{j{MfC`mbV2IJ)uQoL@$vCRbsryu zzMWp>hqi0;k(;`vt)|1PnXr7>EHBe!)=oIeB~i+_&zP0LrywIE)vr3>-C@|-fl(U; zd(-8Cjg9U`2x9Yp+U6Cs7j#5e-iHh?*`ze4*(NTowqzM{zD^Ex33uyF3C03aMO+Wa zq&_~f7CFDz)GqRjIw-l~@9*-Aoz&_%322UR)N+G%)HW@+Gnfh$5;^#h`SFsyA8R0< zR1)d)|6^W{g?pb<`&ZSFnj{LMBqV9AicA?WP&*35yTi`rbwZ0V`( z#7@MhY=)il9%2r>w*6w@`&DY}ow|-!J1Xop#4Viwd;8jJ-Qs)oANy7m<+Hj3Jb7Zb za&fCKXFxO|S14x)@sGnVw|KxwOkN}$n`jzKFo^$1xrvl|cks#MJegePn_)p;03KdS z3*7sbnVdb?c)Bn;>f5%V#i6VZMkz83Mz0j-NdI>!^jbU*XydIiPc1a&BUkoOEnlBN z)Mre<1R~jT;Wc(!@&BB~eT(r8B3onOofNG^s-8;x?&fMhLpiIEXto{F$XefW#OWYplCOGQupFH^VzDxYZ{ZV62I~ihRf&)0B21UZvmZ%;-^(1 zirEHZSaO}Yuli2oWP!>XFfI~3nY3z@ESO+LJY0aJs{Z*SQ2NAwFLNwSDsMA^VHrE5G zG_K&o#YPfJN-Fck1FXkk(fY+sm|4g1kN zo*u5En!+{>*E)kueq{K%qDTI@>c5jg0~5Zg&+h%m^>}|Ktm%@^Mb*9b63{WSNVO}c;f?Q0|$WVUC@OvwN4+ddGd zcmQbNy6Sc9_|sD85P-vi?$|5P|7`vz2Y_{452Mcl{xu#Rpybk4kNVH%d+hvSbBKu^rrg z!yPTHssFbl;hVw-^qQQDY?$%G3r1TpcIS5($h9b+*>jjAQL%6haKW9)2w%dw5R>*o zweTFyvLYh4fFo&F`SVrY^7Thz20uOYMdFNBh>6~gOwtncd>7E7P#(n8O0!aBB1ibg4!lDK z%!HPn#Ss$(oknO!JvCz<{R-p*myGB`u#5o_xH1`GJL9Pnan?jS+Kn$sP653*#);D; zrM=c~)p1P#^dH~rn&Vs)J#m8~m{zwAR9C-kNVAV4{rdbH0T zGLp6ab+`-q=N*Lm3AtUh4LCWLh9&*Au)ma&aO4@bS4Hv|FI^LnVHi@T?@Q3Ab_Qy7 zrQBd~?4dz)&bzFtl`I`mNEDk>jrRUS5M{tjjiRT$*wVrD^&Syf4>|4J=GJcG;Z*e1 zd@~yaVFv~-22K*~MMfbdyTMVeLgkH+@Gf8Um&!-Y18&^rC3%X(;ZYGvh^{z8|6y57 zOoWfGrCnd_hGhb3)I%6%JD?lhf^j;pmD-~}{jK_yv48}f#0o`7Mw!} zE8x5k^BNX-Q6KlLgk^;+jA>@G7oM4)w#7zD5tFWd86pmU;AsR`8CTaN-K{J~7BK>P zHh+k_O+&P%D+TEN#VWW~TJ56pZ{GKm6NT#Zaq%44w+oY4o!#Vn+pU>I8c9jaX*kAW ze~qO6xi5zvW%Zk7dTX)O&a#kELZ)%W!^tqi_Cr;Uo8gjAUQA1GZW~x{b`oq|TAo6O zS<*MYttlX-R8jR5z(SNXhqY)8(k5*n`o4_$Wp_*f6GivPU-$LlwG#Zb>PV&1vYX5C zP&XZq{+86pwkFNWp6{Bkq{X2|Lw%2$6>8Y20i9-KM`?nP8@ByO&u8afGsO`DnAA|- zZ}#d^x)(lOZt?H#xO`q6u{fS!zqfXyQXzGEQ=gd)8f)C^_@8y%pK_1#mvP<9ouzo$L<+r_pc1Z*#+w~4DNgE-UKIu%n9jUaj(pd_y0 zJ~R^Ot14o`lJI(+6HS-buC0Hm{|X9VNj29Pb9jQAXs{xSb=X$f){zUcvR)N!7toMK zO+#xakII!77Zmb;YL*FZvp$_$-+K5q1ITplXSAu;tRi`P4vUX?8IxkXYm=Bm${p$*w?w%tsbW|UtiT`2XVR!PGiy> zM4pyXXS$7W9@FiAod062yEQX(nV*93(jTj*KXT+|l3eK!kSa(C>ow6oyDEBNsI!WMEeGTmKgRHD~iX>ooOx?)7=CWbzA8q;rTJ|XNuwqK#i&Yh!C8N!?S_@Sq#g&N9vHA}JqnY9 zA5c?zbpGbHf|4@tA(!rWQ%dkHTn!2)N56Q2U=E_@c2dwzj%o8OSe!uX!EIaO~hw-d!GcXFN9B zt}QbpFP;@Ld@gT!!~k4CQ5P4NggFhk){xC`g3eqCOvl9>O6DIMJNS8f-5(=CErBrF z-i6Y_ge7WK*jh`@AJ3Y2_dn1o<@!R0V)IH0duXIoH12R$%NY(PKEd_JmFpBqxPCRh zlB)JRN7kgZ-x;lR7%q9cN$qjn#;_3mwWbhFTbnnf z1u42;@jEtaJe^h$_{cnl!=;c|v&+egS3JuSp{ky~t;*bBM< zEeAsT1#x>B5fD%a^OMEdzcquqlwQo7pW4>ML~NdyB*^!GQFp?^U493>5GB%|IrLeI zGMU|@<-z*nHniehEgmIt)LgA;QM1ojt4hV1Nm)xB6eQI8Hg8~s(-2kcF>>2=w|WOn z05ZMK7Wupx|Jy9x#qL&_76D=TKqYwWo?gA{Ps+7{KOv%Q@qhc6Mc#Ktj>2hs_QM^d_%y$L$gG~W{v@9cLak98HX zcLZQ9)|^Rua65(dJ@%nKt<6-B+;Y*jQRvmql3W~*tO_$0%$-$VUyl%9^kh>!ngHc-#^Acvz#=*AilHV_ zxxeGx;eoGI~J@ccDt#ou7cYN$fZy;{7dIEgiILyUgQ>Ux@!+GOy#nZOz`kY!)MgJ>XUb%@=iLOY>^)duc6KfVxO9CxWcNWL!x+Vl4XW6VaF6A#aK8_72UQ?%0BJf9;nW z{{nR(=+ShVM2%P-#I2fVrX>g4ZR~#0kwD+d$gQkuH(%r`*xB8^ZB;yNDV*AHG5BG| zQ?kv3jf(ZR&)W+D?9ho|lZkIrsjw!ChVwBlg`#(b50chGyx?q4%BvaZZ_N%aLL`dN1iOL>Va@S9-QaL}E zM5p$85Kd0za7UiwxvaB=Zd^{)?U>TpK@KZbXPH=%t6hkfHUs(gx*v7yY>xOcF3&RW=o?Ug6UlnoYq&xYHdQ z1792*i>D60ZaNDR;+}Aosx{7v(_q~t!-0@r6XVHYs5YoH%b7O&j}8sNZ_$a&YQ&oX zLpiI_9iUSv)?&`(D7H7Qa53*4p!zX*HP^C#l+5Y*ZBoTl5m?}*jQi+em3TD{CjxWs z6z)ohcs#jZDDtaKht=YdtZ&R)g;DL>X1rGhuuAQC^JvB=TDomgrth#H__K)b2P3HDbfDIkPz^;|tB+ znb5$^Klt>H2Y3dg#$WLBnINx|P&w=ts4cclKg*}M?lzRiVxl+b+_p_to8&gqEv)$B+@ zWkP5I68ez+i0?XO@(hN2G(w~$7{B3H&>s9Q0fNvkEi(Lo&+nd3*rwmv_(d%`x46=OQl(ouCFF4AoHcFE zgAFqbwIwy)tSBH~v08q;a@vr3iW2!UD2^MLudlMGG!Ks9in!|N!+Jym_J(Q6Y-P1L zAg=5fsh>Mm+@INMd4Db_*#^L?I~|~hq0nqqOns;cZn)UpEBN+pUraL&mP`^nIKn?w zL?@b1Uf#ZqVnESw)~x?@{xo-cdS2#fccqr${^KYhP)DgY6U?`)za92o(q~HoF{Nsh zN{Q82vK`pIF@|Z%xaPu+!D~9xx}jYG%}IZhZEZOKWp3k;*+z2ND^e;0@D|34m3>mc z&~KuMIe9a%?)J~hWi>YXB#K?AfaX6~qMu0ej9-YonVfLpuK7;iz4yG?8N%e#Y*Z@_ zLawJkwyumSS(YXx!hzK9c1t+#l~*M(V%paOO_z6?U1J)5C`H$gq_rwQg;h8%VzbK4 z)hIKB%p8<(b;*sPEUpE!VH^kfjf#dI{RVU#iT`mtxQ$`E^Od>t zNiy@U;=f!agi_zp?^;O@dV})UqjHM?-UWytcQPlxYG-a$b{oo@ROhK7CBgu`h?2wC~6cgu&*{;%fG`6d*@c@5!8{CYu>$S`VJ30tOtXj zee(()nZMYnIDG9wK(ft-s+c=ECXa-FJP)t~dR(Syt|B$NFoHIm7G>+Rq4ljJ$ z6z>o~>_1LUrZ@?*_l@1HuSKvjL#it!twgBEAUKDtCON&VXh=MmjnSL-Ff9 zWAb|D$n=KS&dz(iEtvFL-#sS>_HN>-(EXYNA8Qiam0-F%bKbK%?yxQ_o@RR0G#1L! zyzM~!wIIP!dWD`<6M7muuN=QF$Z!$<=A4R42@>E}(&?&(k-~x*VG_oFz6StyM{x$* zi(-iNu`+u%{5M9jCKj00X!H83Z#kE@deW|UTMB4PLkes!fslN)El>5+^JX5BK zx;VYe3)Um0Rar@b9svt7uK3D9StZ`*N_m5y%VIk9A~YV0xNjHsy*6HrZn@59(}bfP z$%7t$G1P9|pU2MUC5F6(`_%8~RmrdbUxbHC$@}pLk=B3*694b0A74D+Xbz$bMj)b~ z;+J+MsT{-iN0znnA|etXHo|iXGW6@Hiy=5^lKoyqMv~$tTb> z+ri%jcGOSZ9@Ntgy1`mdtmyOVwpLG4-l8OP_J;I13q{#8o~)PXO=KF6Ws7 zN~J=D;JndHqw$xPsjGTlD%(33dF^#y0L(RrEkF3sX{Ix3P01>gG4%H@$M10Von4P^ zH~KnC!cY1Fnt@GYfZtlKmHDM#+(A~|@HFRS?u=?W?eLQ3tyG%T~NdQK~v3lhsj6Bk|QnM1Gn73oL=<0Xhe$h z$>`E6!1h@)LZ$s3gyK_rmJ@70HugHg*Ng)eq15KWQV0bEfn0KPLhp(fy;sXjLjYCr zeSW!TlVTVpOc_zLy|T=nru#XVQSfm85yNqq3#Ju0a(yd%^yTxywn$#d$$Zb-iyr-hbQZ0#qe-&~7D%3uIxl!fb6lR6b|-DO zi0d^(f)|mHPxqeC=@E}$MUy!)Ei3{ zycRC5`V6V*FORZ|4W$?6;Jvd1x@6>;?c1=>@Jc>5CD0|k`8n_fF=oX2dxr9$87(3+ zF&1-sJA3Ho8@%uf%H?#IB4$$Jk_Gwxwb!`3j|`B4%U_4x6YOZt>`xv;FlSUq34SIE zYJr{|<^J7f8(r@=6Qc3cc{Hj-Si%$`I-egxFN$sjn=AgIa`8YK#-QEL2zV^l%~uE` zbD^>35hRyxuVYYSBm?Fien74nRx3_5RihcRru_KQQ0fW}DbCS?Xm-?jFq8e5^Vv!c zzm(j0q9^eNB`-c#OL0IB?%FNGCF25s58X@O98s6vaAJu>;(bGjAU4~bC=I-PlP2em zdPhX~HRv*iTc$CFGBO*Y9{WB(mp8feM9aONcXKGQkUn?tz?crpJE;*X#%y)#lfC2l zhwM@xA3l$FUQGCVIy>mhT5K&x%e7FYNxUV}Z(yiM-i!~lvwv#}g|cpInl-~dlp=lm zHc5M|C#K=&WSbxnK2M*iX)$|8H-LRR01RAd$TQhM-;z{tD%hf9tI3s3kGLP0E%H=R z@MS~@2-RGi>YmWdQ)zqNVDr4W@NM}#XSbzD9iM$w6~ICzxa5KPjJx6s754s$6hahl z6l7{dBvFxT{m$d*)p)k}18mBwPo-Bc$bvrWmn>D8y4b zo_8BgrF2?>RC-Ys)_Wq>PIE&!D?9<1O4MHDaT8Jq+x7VhP!vi_PB%IUg(oEm*^%`3 z+07l3MbrK+p;c8_&7o^K&C-yKCl}({Kl1le-uL{bU3xVE9Bn^+Hdx&lom)^zsu*IO zLC|201;!S6PK)g5U-b(3T*d_IYoRSwL90IWH^Qt;n-|P4j#(i@-=D5X|_uFSH^KbXIf6wC;z-npLMB z5OoX+4|>i-h|Y-*5I><=`IN8B0|mrYR5|C1sr1YeLK3KKdBr)SzA#FVo3mm;W@Ep` z&lBT2rPGpe#hiq-@Gt5uXbTHVddtlEuet0|i{yIa`{}^zYeH*&I{BRBL71MSxY~sA zWM8W|gO+T&Y!)a0;_fH(2ppuok|(F#Bm0^dFTlKrQE}PGlA%#kJ;!u^1G`xuk&Cf0 z-6u4{`|gys1jnQoaeMtJbPe&dzzu60kt<qfc@}Q=9ITIxL6?n zfCVMCO1Lp#i)xv-*}KbO%Qa1cR4!+tQHK#KRI}fZkq%`RKeCkZzDy*D`EPto2dLz% zaN0Vj5TUB8HUibC%X?O_jog9!*hEY@?XRk$g!w2z3cNo4)FZByu#o#(>k(?=G!2Y9 zdQzS#DQthyUq3m4YU&T8Hy?3PMqSP=SgaPrf3WTC9h7B@H8j*RUh!ft>AFD&Da+c0 z^|uI9K0M924lH6_XdSTB=6mx6kRHm(8+yiM;;4|;B8kml2rP;)iPuH{3ATF4pbiPBZ z{r#*s*OM5}usr*|zL;0Fy*N3(tL{HBW>I_7S{2<5(V`E|zWui4~Lz{x}1o+mb>KYr{ z2Uis zb-w~-z3V{1*)^0;?Z4893IY06GW_-4pM>%M^I$MNz^sJcI1 z4noY)LLa1ak9w~d#KP&u$H2zhvtB4^XSVB`I+6?@a#+mcUa{J?`rm92u>0LV)473O zXnO0hHauJi(!ntNDM6r1^Eu8ggp0WNt0K%>3dC(nU;CDrk z)(+vn9%9FO6J%v|6Q%8Hci*&FoG{BT+4lZ zudHi5NI$~5XIt26Z}|S)Vx~@q@AU8 z5xDk7MJDTDUSPZKI4L2oMJGk1i-7~NRTt^*+f|VHPSOS0%%QILPH*KNN(AB2QRk{&DB*K zgufL>=Of^L!c&wfkV)Jiq=tMCc)=D|dy=H4L`$t`$l*A2 z3P~hUtol!`ULzE!!JHehc=q0tN}PTpmOGd%7k1~ID8jrKNZC6?8L^@4JBt*X=HgVNKOnxH3%-;m_z3wzfX~Zf1xP}II z4Ehw~g`lGQ&(xM*u@GhxwtFM4i1g4YCGl4`+t3BrEPaQhD=`qHF}t6RRk&-#iEb3p z6zRXDkdyy5F+hezG|+W8o{P>LgMGmN5?Ff!QItU#(;D#!!j2idkK9cY((&}XH}Fmn zuCSWnJa21rYsmd~W?L`E^X7D{`ryukqpUzG7VL+UC5Om>76ivbD%DpAK`OD%5yu3& ze21Zk>_Z*jf24570{VM@AYB16JV8BmhHB+1aph7?p)rkgq%)X2TIbaUI2JfglrJhy zD$^N3TWILOjx0{l@sGWQG^!bByXs5pGdg^!&FafSFrw`5gTbhudX^{YcR>k z7t2W4qH++#sgJUpS=}+`znO(`H#(U>Kc&@&_(8%M(ndXj?BiSw28N8=Gs*^;rChN` zsOYmB`}8ph=T`NoVA2i>|v$b=G^h zwOVqbnYx8t^Mz6Cz|f#m!I;~2?(dWb@E$-_IEROKxXHo;f!@c;tIbI_BD7 zqI{jpDwl`ngG`Bwt$%=;}#65|T=%9s+?E!|N~fnoN_Ws?9Ihte1XlNpnqN zYiTXzncK=jsOAj8W1WY%MUXMv zeo#jKHHA&NMP`yLBO901f)g?1XcX}{A9BX zC|N8funy*UeP1EIt4s=PMnAP)Y3d)KczQ*84gb&FLB8jdok5;UC6c4-p0C~&8n(P~ zfx{IBILhT3{DDqGHm9AfN|!^_JlDtaP4{!Sn~E+gE&c57o7KXL%~JR!PYhn_&22?u zS9FoguYl*_lTA;kDx|is#|R1|;%ow_FAvKUolt-s0S3H`N2(i|g{mz|})5%FEoN z{A}LuIo2(5qt=rkMciCH6Ecsd4!ns1)%o4sttU3vbnnZGvL}Z@cFFWx+6V$(vq>q4 z?Z_&OEa8DEjOmm<`9ppPPqQncmjjWg`Se06gGAiq!D7xfyJMEkkriI=p3WT%f1{=6 zEteeFe;k;8geA;B)~-r8fwBZIcSm8?qGO2p%{aM6W!;;t7DL8}?e;dqgM#WJRtdtU z(wNR}BJds&$~0Omiqy{T#A5?b03xW6kSiX)TfD!6{pXPLhl6k^&G)s>krT631rgVu zR0^+!cg76Q>(&fW5#!L1&Cf9CM9$(%!!$1%t2T-BDm;_(L`6k^IEA89mvx(kXRPSp zJ!~;dm8lw{@DO7yyO<}K;se1Zq2L&k@k3i0H3q2mQI(%9IBcd7H}=LvtgIklN~>TH zDIzmncjk+!mF{mt3yW;WH|H9$(XoRsyh}#4IP0-gNTIzCIU$h8H-V@q&YrN&l=Tm! z3P#3T*HBEw5Eq=M83Skq1B*S$G)pyBCdT5s?;lOZsv+-Bx2Abn?n|5UP)No6_hv)c z!aLrd(~bJ&a%ptLd=l)Q3H}H6`K}8XGlXn=ubwbikSdQFZ8aJSDr$`i+N#Vq4cE}% ze!Ee~Gb0iqm^vVcQBfCv+Bw>6CAjQ@4h{~!eYODhS#CgPNW#vJiRbayJE0(+MI8C$ z{A^5d^Fv9*n^X~i?{iQ?Vx(wy{fq2-dxtw+E_h_zxJ_2QhCbi04kjQVzPGpOXFJtI zHizo=Gre^*M|ZLDq4p3|v-_^XYZ1p`Z;XFBA8m~|MVLA z8$HEdDO3g87@Kpa9N-(#3aM7>Hnr-AcI{1TeH`H~9#T-edpljS{L0#zz`p9%QEjb+q6&=lXa{Tcf(Lk^vM{y3r$yp=rKApxiK{*LZK>yni-7TAi2Y+H@eO;nMOeJ~m%{}* zO&&KWW{R}tN#mQmSDE5*W_f4l`0P|P``G!K#cyYt_vjbTe~dCys7(;oSzI_8;9Dbj z!SFt?e@OmCvZ?1OGNct3lyw#d@jr8HC$Njd6j+9{`?=w(Om9x*{g{e@X;H=glK1P}fd%x2ZnyPDk~5bgL28TnhCUMkAX^1B zREPEnGK29|HKke!7Q!2j>^s2mj*O%q)?g6|iGy2%xo6vFFH$It7@EJ@{dOwXAf(&b z)or!}A|ktc_nybg**kClfI0s28N)DtnKzHqi`(-(YYVdq(u=3M@Fx%bpW?=a=B`EYHCnIXp!3 z%T<8Xida|GA{=z|;2ut{U~FF69~W!ksO1`N15Y52u<5`i%Uz>G-IV(WNr&BqA%`KC z-JhJ2u1jN+lcX>vwc`rJeUOo9Z8kwy-JD!mu-YTK-0D zD_nq~8`e+Ml>pcVCK#CE)1hhYT|TN!E$(#)L+=G?drb3@?26&3Mv``cCTrScRv$() zW7|09!E zEcF_z{A3P62B{C1@oO=^8(!xJPig5W5`ly4=p$V}lw!H0LjS9(E!ua&XDq`KOSn_z zpT4g5I4BxHcVm3m6(n{N7o#>Su=>2#h3#iM8M46%TbzJ_{LZ+Io)T1XG!X}peG}GE zuGMw8`2MSD2Pe&=tM3w`SrgCdyy^B_bN&g-;t^Wd4ygMdJ`?a)0f35zEY=4(-`l?w z>vNVVt0UlAIO8z-iQjBcSdbIVK&Sj+WQkujo^pVBoNANUe%;%YT<#K?NS%)K2TSBR zG{}962wBchI~`4g*bU%G@ZUQ@M6%RLj}Vc_nlsBY%nisdcXDfW#&WOJr$sHK$~9bU zf3kjy{o?0BcJh$KUr?g1aYOLI%+!0+0_T7J7w9AZ>}^73+lM{7HNR=4MGla>N;J1g zjJHgGdGXYq4m)L1f>fikD;_aZuEo49Qf3@ga#^kup(|`xG3CZ_g?$tY66L_cEbrQd z@~ecRag?x#!SztaY{t#;$aAa+m#Y*aEV8H%U6pN|SP_y2lXJ9D23I?@!x&)^$JNHe z@0~3If3|!c%Ta}+QPV?;Y#@F^4**0Dmy$;|8*h_LhjWAf`TwKwGX`QEeLeHuiw@^G z-BINSs_&GGO8HSC3B0Fd3UyJSUv6&Ra=h6vh3Va$0 zWP5Wo+l&f@xL*|%MTMD4i}hxe^6c940=D&P?&GG)^S)6K>I7`Y&dwJ1qoA zw64RC^T}w}DnPSiBgp0UoDKNfNQr*02Q({nfLU-#h$h73{M11(F{@?go1x^oOqP%s z*LW5E?xZ&~I+ecw%7FD^6SBnrk@l8hS#52!up&sPAT1!>-QC^Y-QC>{($d{Lbf$~~9!3q$GceuuHEzdBrx*xmY)Do#AkQQww(5&!owbp1w^6I38({DLq*M{Qv(GMah2HPsg6h z$SQ|Q>Xz2=#FP$_4`pu)3Zw4A#SQ`WhpGYLnj@xZGk7hivH>ief9@~pS7^s=yHOl&D54~=R_t{@)pJk%IfHuGf zU^t5aYjcwjSl4qQ4w%0PmHINGqNxzn-PlNBogaOU4R+U72R!T$2(gj<*u+!;o8Jv}_e6!tAs z84O=*?JWvZ+s5shLM%ozeg4XSBl_!$W9$h7?9?gqw|N@~wFw|`8*ZPSBQT@&FW#n& zVd*+UrO73mi~FWR7rH_tDh{{WLg4~$C__NMNG=;353iiRXZ(`;E3H!M0^vw-EOEJ3rwwsySQ% zHU~KW5);_S4&g2QP=PJsVTd2zb-NPcP;0kA4SK3HIiSVAsmjq3GP8*Nby%%^ zd^LvO;IIu=tW=UMSX@wGYy_8D>>0A=DltO5cO@I_La9h5aJU?om#wNOP?^E*E=0}W zisGfX9z+omgNy67T^ST4tR#ugzd8{4x<3-LcU>H{PJ~LWl;tT`@?@R7OE#MXF;sD( z*M6v(F}5Hqwg^ng!Cqum8n4eZU!>a?$T`KH%pMorx8mjE%8TIS2x< zYvqmI2p<@0a);zO{y<%-ZPXm-+H+2}#)EfXbae2t2aq592H1J50A4uhRfbu$ST9;m z!{u);0Gq#I)H4fD#U@`IWKp@C!s;jEJAsa(Fg#FA1}VC%>9W5#YW2Q za~k=dmoDG}FZItj7mS~{D;496%1t;DC0*LhPCNihU9NkmnPj7EFPW3Qe7&IS2Uz0 zd`(AncsBFl>WFa{DwtX0f?y~T{e%i$#*np+qAUTA+XB4EaMCdBwoBeq=)YiX>JwPY zovC1qTEfA!*}aN$y}K61`Ubjz?&bAM{K_a)F$mXgVb`Aj{L1b%ux_OtryZ~kr`99D z+mgSmk0&O^B}EGfd42fV#a%@NP`m~!tM_CF33ILUI{0Uvct9c@2`q!XorsGc_0@lN z4ykzxO~MHF|7EKGAtI=rv|GbiB-TOCHpIUOj5I-@(^Uyf|L1`n8c;5c3m#YYe>i<0{{>_E>YCJJ9iJUSEu)llz_gG?i z!oF)n#{cKR8XfTc#y#H?r{_@l)89K(pSF0x7$*(Cj&$~p5q0Qb8E=3_h)QySgcfy< zii-<3aEu59-@{!>fU|LS_AhYfa&cMn&#Y$$gK^2JycsSie@^pjJ&il%38XSe-ae|k|G+YtNoh(YHpy93(}}|1fypN_12~@-;Q(uKrR@( zehL3Mx*ice?;&>}5;4!uv$mg>z7Hh%cYi$nIba2}=r*#zd#G-7SSV+~ z4Mdl+V`ZZ_!>r6Sbt>CYdujmM_7^V?M})FAnc09ilRpcPBj!%{zsw8|RK~9Ll(h_|TbsTCJY=B&jaR}Lf zK(Tqd3itQO@hN!?-wE>Ci<`{Zi>{*?>y+==hj+@)YL~{{7*|Upg{EZ$TK>Z4MXLNU%c|;`dP;S<`r{ z%S8zii>PWO;;l>lpE0`uRrfJq{sCAc{0cDtM>o5j2Knz?jly~oB?rC3_{3;Fr807V zy_wk`M%`wjI2!tuxN?8hu>mBIqFn`6c)G%$%&kL)ACN9DE~_XY1}M?$km55o6=n7 zs5>g*k|e;(9T~+qH2NNGYr)iSF=CYNH3MiRaT;0 zrj~cfm~Rn_`i|3?_Xt?i_Y+}C2 z;d{Qehartn_#MG~H%qrr6XZx9=C^eAu#naEp1n*X944kdheTZ5ysAx|r0uzAfAQ&6 z8*(Dr;g)bjB8iT0H2O0INI0zU3{H18I?Lyw7&#afIRFW-zO$IA6_s|`_?ld()!H<< zcFNZaxC2zWb?AAP{G+2Ash<62)mbPbx_?31lo??1A4%hQsI zHonz9)ywV}dFz0_Ki#bH*=HC==#-jAK3{@&zR6J&R!d2Og!)aN4Kmt!LufeJu#6zh z#@Wi-s?E0;tm*nfo9!#p+TZJym1EJY>-JhZ`QPC#sFMPaik@&nUZ_oJE?)j?L%SXY z)z4(Za(NQzY{-r~6Jz}z|86C|;ZH(Ql1_<(%tVM)TjV_=4TxrFAkC2n8I!R9)i{{b z_~*d(M|w7Ikj~f4_7^u?+%KrxI6h2wRpgk0AZtyHq5F2p)OH+^85u<&+Kb`_JFNk% z;igE(`}d;gI|1xq`9eaI+MG7}c)Qa|=sS%7S^J(p<4x;lNMxOp}nqwEV-E^|*h+JNGBvYko zzV9%mR=#dOk#>GoN_A?E3S~;K-eE8b)nm0kNHgS}9rvA8Ib-XbZy$bYsTL~D2g{v>7f#%6nwEZ_Tms8I3N%VBo`Q8Klj z!P@H71xOENsr0UBW4if4y|la?@`S&x2%g&BOo(b~11ti^g8^|1%@Sd}`uTzJX0#Ot`xW3XRJfd%%ahKD_v?}p} zc#(a4gc|`zhWpa8UPJig;il2L!Wu`paz{c2w8_^Q5EPuo{fSt8fWghLoftFC*+X`a zLU%P&#jpocYdt!io;>;W#Oo5O_VYj}xl*;HVkafxyuc7sd}?o>im~goCVKY#~*f5t15k$(b%4!616b(I0VOD@Gs?j z7mJTi@<2O;^_+JYxyu3+ohl6mgmZIgkNg4GEPbnAfh24)!jU5JdfeL&yUM4`u<@ja z8?F|BN0I#dA0+?m&TFbq3mUL>g|XUiY(e6;XK-Jy#j0LJd3oCwUA#w!d|QeTo`v4K z1Xv!Win(b1@`kU1rzKg;r&IGV40bcMAjj%jAN>FhTBCkjtb_zHeAV6E|4P=_dIj*? zAt+LSmkV9c28$fs*4-;!%zIpBb><8oThX0!obLXhF+9`l@`y8wC6v5b!MT|XIC1`1 zfeSE!Go6c2(cpGcbj76JwPmN=_4oOXhhk3)BUFS$y9L;S#K6V#J|IBYo-YwEb$cfUy57PqK5aiRV$YP1SN@lK84faOcAF~pSgbf0}7`* zw=u`$;mW*wsiVB727ol}2a*E_u$cT(3EovkPv~L-E*F)QcE#lqzsm8gP|3rO0x71+ zbmfJX{aL16`+eQg+blp&taGG(sOJ8G-h|&GOvPd`zld}o3~Fm5R4_`c)8;I*Tcz0u z`9S0VK~aEa2I2cnjvG)WX{S9u?F5SPL;#?g)S6D3rDbtjqshs^i%!vrgT;H@%l<1@ z)IJV|6x5QzE}0?T$Yp<#627f~Z-1SOQLo;2f6zP^l}z}>ecM%;F`KZ_a!i#d*B zJdzSvta#{Fl+N;2^3U;OjrXa8H@~HaQMcd8aU+PbQ4SW=&_=VNAcv;dKM=KxK&JKRR`5eRw7=Nvo-{i2SfLgyn<>AC%~u15j@?1fJi71)3_G0VR_2|WoD$V)9sAS_tX zWz?P_cOvpSMHbL;2I#ek*)83;&<;G_Bzo^6wG{LB-vCYKhr1n~uc`F%_1?9L>R(lL zuIf$bqC_ECRcW5$RLv%bvEhndaSB&+LT}1vXaI{pus8Ps=2Z@RKjDF#hVjempZby6 z>h)GT;ucUXEiFs?`rZb2nU$9)t;CtNv5-lApY%dx+>dZ*(-Hk7q z7T=z97lIz-$broC)4Z~UK+o@%BX5+3wIlRH`+v*}+1c8|>HF8G<``-7%e>d;KKA-% zPOF$XWH(iyd_k{eH`GiIvAV>((COaIU7ezQ-!%Dz^l5V2e;YNK{dNNRq6C(djHu8v z8au*6dK%W#ndMX4saGh9vot2MyE7#Zb%~_48SL?k3-1F}OQ8$Ra@BUp``aoMB)kkk z0dZH$Bbk=RP7=?wlPB(yN43U_-E7hL8YDKv)n{+td9_?fOSTlg9;0yFHC1GKq!5OB zF{=3qn;`t2ewULNT1XTE@0Mr%aR4M7sRwxSu()583jJtuH1{|eBu)+t`4>4j!Fid8 z9DYL4)zyVV%II`3SCmkX2G;)}bF5Gn^!-cO`UCGOqwu1&W_Z_K!t0m0f>UaQ)hFr) zv1zUq&2Lk^r5lDuMMru-RUyk zdaBpazY4UyJ-D3sibrb1Y1&w?2=C5T88|C|r0w7ZPwh%p;SeOXRy)&H21UQc0WUH2 zr*^BiyNNutV60IEvd1ISTfn^^Uz9j0k|hZAoSV=5aJ})``N)f24Gi+GX2~n3=MZ_+>e%s==JHwNO!(us?E_7Z`keK7AO)&OV~K! z&FrYo`e|70;6Ea4*wn;(&miN&-iX*~c+YJVJp~2XRV-T7Z>AIoly!r|MQ^l)AwYYY zEiIdVSQ{a(obNT718hZ_7bE<}0M(D%{dx6>7q@d#_N$!%to}B4ZGVbYMAFj0rq>N@k^y2iNRS25NB6aAhO~uRls*lmHILEQ+4>birlVsONOT3aS?2p z#F(lfRdu3#=<(^*Vu)8*WaRXrU>I_DHoo!S8dnyt6$JpqH zn?L05hNt{tNymx{y}PLPQj}L$8roA%Q0;!=+Ryd^e-ZD(Ej*)(Uj20^GtIpgBuIxs zgX)E*(oZd`rmLdlD9=ulr2ezmz46xZ(sJ49LCxARBVYe;Vm&NzTcc+E{qM<;i0 zV=GwErc!MXvVHM%@ZmW9O8*}_OCBNUhEg4kDm@6H@DJIC(gDjrrrdiZq`0x$R^!K4 zizTgr`pmmbbvK+oH~gs!HLYb~>Rc-Rpf~RpWR9Bx3poM_G2%XHkAVSlzX?se&)U7^ zw(94$y|9ztEhO00^BvMbSbb=Yef$?HV%s&hia&lfb$vsP)uE^WU$tgcrV-QXru5#g zcb!In0@&$YK$bDN`*u_iJ(YSrE;u6w`v@L+ti~k-!R%Kiu3ZUKgfthEhg37i{Hxgf zua&Hy6^s&fD6r+g$HwZYY}3P*pq~e%bLVXoUvwp-5-qmy@ZzE=LsO(&#Im4M7%;M?GQI%vANW zJ&qkZb)H+g-fd}#R0LNj5&cy-KeDQc$ImWx2vg0^Tk9CI|vpXyaq}Sz7LHQkl+F-V2%U| z?)$QUN5Ig7Q#C~se-P}wuH+O5bMVhT~NC> z_uns^#!!?2(^`(8Hvp>a49VVF=a(@5@zxcwh0`MQHT51=rWc%kgqGv+_evus%luM} z%Nx5N)heR*vTc^@agyU4qgI^_tC<)ga<`nr$d~>>?rjX4<_jGha3Fyb4qK*=F>3gR z(K<9MqH%Oby~;q^m-g1`L_ltv$pzg-nDp_lt>`8qPCr{fZA7yp&p-2l-rf`|Wpr2z z0|9q3iF^#L@g3=hA084-yn5r9X-y6o2WEM^_ht_lj&_xkQMmjLZ11+YJZ~H($~9+s z#rK|NttNom1?a?y6glor)up)-r4jZKtrWaQ#Jzo=Ct}q#E=m5AGo~?!u8uQmFl6wm z@&2tqMr-zd{qsLQQVb>_OEC+hL4*f zuEX|fEGM$QkWvb(`Pq(^W17qsS22xM$t!yRehT*XPMGX^zp3k5PvbSFT%Foo+3nGT z>m!x>U#;8|jkjg;-*m2ymQ@<<^2##+XIB5kT<{+I-^cEkPlAMe9^z|wLg^f&M;Kod z`Z{`;IFh6sWSjdfMU4gbmw0a@dgu66RrYUp8*=Lvy}DatA9^yNXTvq45_H0$Bm2^b z7Pl|jc(2C*pGHTRH?h77uzKb5eO*pJqHTuXpI1MqOUmrB?&byK=>RqqA!3;3UDQ7- zsYgxdnjuz??Z=?n(IPwiGN35d4AT-c4@n{PBU0*)cZ<(awEBSDN6O<|T9&JXW)pUGkYf;#^8M@!Nh+9GMd!q8zd#Vol5DTJ@d{t!N$jZgXK^-3_{ z4bpWi)0)y?+Z~moHxu6Iawj?q?_)h5+SPSkGgj(aqL7#(M>BI-SuWhS>ZSnZ2jiYC z7rfq1c}wwgG1PC&OUdF-vTqdEQ=t7fviCM4v-E@prYT?+TIK8~T!Uxtdjf$I+9}s< zT<~eKm)73ca|)((RCkUjk6#xcRh?#5N??gr@Y*&Ql1on!#04|X4wJ5 zTZ6|OS5a{qKEoxI?@s7B-xen3!N?%9$730z+Erez-C8Fb4Zb!!oBO&ybPQO`u2wwG zniMBoE4k&c-SLOv92k{;wz{boyT|3L|542aC3C((*bMRH{`HX?`<=Bka~#!R|?kt}qlkTn&qy^6#0Y(95Ei9l!W&U=GO zW4__g>Mg5%cSs1hnV3@SOqYEE&PqF2fHG^Mh(oOK-sr&UHC(ZPSv+TA5wfu5Z_}&6 zy&v-#y|I|hg@xVmjy!3VmHL1;5IqWI5@>Xj`UZJK{R>?kGxxwdKU*MMRi(uQ$O;fp z5Kl+C)?FGbXi6#{>?D3_=a~o>N6rTy;4VND)vx zVAK2APvR#V0BQvSI>#U6RwNh`4KwEoaC{&3L^oLI|bF?;FD*^XIc!~TeI5UIRWiST>^d-p+)9RQLS zp_uQix}jF5ZaJYetQcX+9ggZ<$Owza)_Y3gH?E{QvrVkQZigJhCvZa3tulix}|ND!$j zsGFBYXPNIXyEoMsQEI=mq62H>QEMb%{L&Pmc6R} zGiS3ijQA=zoAX6&$av@ykIrPXG&ee%N3Njw=6Bx6ADQY7FNV2Mz^=O z!3jO57x0a!<#U==t~HwB#bvJQ5?CK^V-`}Ge(jh=rngC~55?Et+y&2)B4x%&`F3G4 z{v13g+?oJ<$G2-nxnl3#x3Yt_0Cr+&0$qulk}DdT<|R=Fc+v~Rfl!}el5l`U$m~(RW(-J0TZ)v3dpbvhY3_P>lBR z(7L$8(UP}9zJsdSTy3(TpzH`fAz|{jOm=Y~(+OW&wmUK9-lBq|i`6NEOVws~CBy+daR))D;_2XAg* zK2eA}XA<^fAR502SRAU;9)H(b2TY0ZTBqbhnQ1}{i z2{REVO9ic!^NqYrmZLcuC22U7E&p7Iha?UKT}TWdj{e$I*wLeQ2=NAG07ps;jcfC3 zGJly`ogC^h6C&_-pT8TplxT?#W)<*N&ou;+&JorQ52=lN*d2ES4h{~K7T;zjaYN^Z z=mE`(pAt+cS&tpR!BG} z^R8|UR&MVLz?O&X(|F9(hy+9KvO@Ic@p4_@or^V#3I{NT^Lsyff0)Dh(^5+cV5LC9 zGPUx71lV%dJDR(PCfeFp;`+45qrxOn6cQb1;O~EKlvk2U_#zjYyP7~@`;vw~dFTZ}5XaY4wa&zk{7hla~@yjWgLHp~UFEp?LmDaq6wtXzc z^I?prWWj^WIFYlS4D>)itn__BgdYWogd$j~`rl3@e(FT;E{MGc9mDVlY0!sbxZUCL zABVCjmG3*%92Qv=I)ab(XZT-CnW*G(>SQ|sS`lLP>Ox3l)JGPuVorf;^uHGwU{K;z zAm{|rR&cQ%F#l<|zZRgUsW=F(qU%7XQ=ai>S^7PNqLiV59#_u%c$xY?&z20H+8vEX zdGt>`f6woM65x$rOQb*Fj{MIv8@i_f@HVN$_}>Bh&%9Yv1m3tYN!)*L^gqv7l3$RA zOTGR&N&nBv`MZc6;3s6j8&7v)SH1rCS(=0ovJmmBjh*CwzVW+=I$*Bxz#Co92a9en zF*2oSk4@u}(s)hLlH)SGBFE_uWH(yfi)&nBp;(-&Flf4AaaOHLLmP!vYt6nbQ$0wWn01(^A^RI>Q)G}Cx>U9byyAB1h~ud!s{ zF46S`sh;siiq9s74j8KxFbY2kAE@}7cGFxrzi+NExQ)y)!?0qF6F_;Ced;RU}glh9~{9BR(!T8}Ds5b=O-1aBGY}B89 zq%sJo^M%ZCp1IYWRQ7ju(G$aunj|}`QoW%Kv5}QOE3J~m;Q~`f5?&B7#RLf6S@E&; z66Xz{(iX{9)xyP}UJhNjarr(U3OJWfYl8b;nH8E+>S;DK5@I4zg|FWSnXcFt4j6S! z$jkw74PPEHU@Fgx#={WY$d8Zun<-IrP1z{Bu*^aJ8KFMVNw~m*hX%+=!Ij%$6IXN9 zGmkj(JQYa6lmW2`pGyoI8r|wwDp;}`XYI?^_@$LjrleRw_6;al}P~Yl`ycjx(Nbxi%#&FRL92s6#fm5?ObB^@c3y=hW;or0* zFFiVt3&M3KrM$q_OFnR0!pLRcpBc7> z`Pc7jnm%Ok)C&**SJb>iD1v19OH+CflMf!1M=OyV-r3YQjt6FQ4kO4=mPxMve4+u? z;K1mxwVzQO#M8zs4I9uzMcU$D$gnWAMYkybnFmEspvS2n^OY2a98@oY4GhBPn?v){ zoY#CHDhqL|8(&N#v5EIu>uKE( zzyQ>rD^4)LIFrw+qfYPQ84E}6!f?k;jm%0M8 ziGMyLe1SSMb=X}Li5VzJS2rv_#s|*jo%h$QB zXuv%y+8(e-gYNej+7V0{vKX3xcPPtJXyjq1a35(Df1h+EgO`uidL@Sc=GkwOcn*Mp zLVNi$wKiObSrm_06C&Dqtbh2y2fL`KsMcc}uGVYctjTE~X1)PSii@jFA>Tq32DV&u z-u)tg8Q*Y&7B>) zGLtW<{{0HtT4s}K-ejgZ*5nks{m1^6iP=;Rq36T;$6~pFlHgk+K|q9`Mk+Z}N&Lwfg!qvB#c5SUiy;pY!n`%OCP0w!OW* zumD~%g(DuF$xLsqbc16wol|o0?ogb~_KqYlPzw|g-~s~$l?w=2WoDiBx1$##WdWB$ zi5p$ZmtL=y@u=~=UO{>N9|PC@Y2b2R5K$g-gVftq@=7ZP_>HycA_mm!3rF$Ow*Utf zqVtkB`K_1mtyd@JJ9uVOg+zf`&1NzQlTu*`mL{tS-V#!13`?>%?z5Rh>pOl3gks~& zr>L@*SgjMicIqWwS=At6*s-5u-P_~6?_-^0WC~?)(I1B}&ZgLZ49?GMdVj0Ie?4~C zUY2+Z*mZ&vYDDJ<-UskaBz(EA12SqeWqcml9a84z-o|@s+>U)UWw_i`#k(m}DKrx* zhMdlV2uqZ0y?H13+3RBP?akgQoWZql=C^#o#Zk~3)NjdYkPv76nac8s<@4`8n+_sg zz6e|x_sr6jkkV+y(*F*r?gZ?2WAVWPji0Lw(-FRC3~kaq-(^jnHqi)QHo5r)`KCk* z;T(Qgj63j7JP6*X6s|~4sxqzPV_Uh9xmI(?-k!O9(jP`*;>k_zKMGnz>#Y_hP%ZCI z;aUTa$J(TWaX3Dq^r3fkUG3~zZ;vW7W$Y}bK3v~Y7qKwHqcoaL`WNZ-idAc>{L;zx z<55+wa(m@?FeBNh;AJ)mM-tZR?vPts%b;qVOlK&lK2M5669wFuCFyNBU#jepMbmcC zXW+>_0i)k&w_enbA32_)I1Kd>xzn@m@O!cn)njr@Y^=dCwz{(%y)Lc7FnxDMj%52| zF}2xZRZXo`-+Zh1?BfDinFGs~Hkr=_CWoj@{$!5Qhj=@ZBue$VytQ0{>lR(Xz>e{& zODWAPymbvq*Nd$gsnJr?8kC7_ebf_5IRPn#Gz2Aia8bV%bT@n@(}i+rfj6IOi;M@l z%7?D-o~`yYFPni4$Ap<}pV~n|H{jMJeF-KmBZDelkOVfqM1gUOWKK}IOht^B&v*C6 z2F_oSyDLbJiIUvuFW+=Dit5{01R3hLS|lrr_IEv>oT zF1HAN_+{~te5+}HNC3`2)(TuTWs+In!oI{_f*<;RFow6`8bb9{#Kj?`9il&bhLJxqj>h`!<#f)mFai zJ$wD_)zP+bz+tVbi^brl$jw<;#b9?ge+DE(i@I?($AYq2y~V7gWC{~=A%Ckr_2{mJ{VKo?bCre4n5^Y|+i)b)k=_@Ml&hXM1S==%X8Za{pbBtB5Kg6Y` zwsx$uyY;T&2B96clGkfz&_pi)Oo3Gia$gPZ^7suT^Vgktu)KKqA?<-l^>Hy6!BznL zKWReMO5ypzeI;PEDt$W@u?^(X*?Av0bAR_ChTM%L#c)3ClS@T8hd$`BF&2bD)Lw+_ z)S7_7F9iup1tiT4mrzH>?*e&KEr;H@53gR6PNsUybR)(WQs!|}YVvcsbDGK3D?tF& z6O7q?c6#&Ce+tLLGxL?%i)j{G(0JdODNkLRPPc&+N|Z3~+sZI5$WW$gPetls9k!Od zPbOkF%VoF6*#d{>>MqV!&!MTm$6%ul?Qmr>27Tf_O=~O`q{$E|CXZ7l@rUxNahoS{ z&B&qYvSh+z6D9k^@;%qf5eAjlzEbOWNp_x%PeZ*=yC57EgEq7+iBowB9^Td;eX0nr zei_z%rF8u~+gj2i5P%k`M|+!OO5qd*%4j}&JqV^;SAAnE`PjeNb+|dUCW>ef-FRNK zW52%~vb*SVE_kyY1W{ew773Sih)SubT(ZqX9-gwYHuNlh&|wBb=Y64q`@qj+;akyc z9nfHf@HnQ;5kB+iE^Z#XVH*0^HO94T;Yb~dPd{<~mk z?@JXh>Q5S3YIVEg<*mYNjaTx3!GM^kR6+}~Aj~c!w)a`*jYR3bd`|!TSoHomPP4T%gYpRNRXv`E+~SnsoVZ`>(W?0~p9dzGN1qG1Uy!2hnf z=#3eOB)m5)G3$*o7C6|>&vLYMR!_P7imTmB&zqg)VsupJM7Q&8ac&A#!eQMAf5mS~ zuEsl%XG0~iXNg6W;isr~0@7#Lh1~fTfGyvfh>zvu!ZUECd9?%=M*^BMCz&2OsQWWj z^SL{~WjMot!W8x+MQI}l`t~yvdHCn=tLD#Q>nu#5Z|n58Z6wu5!neTvYCP^IQR$*W zXNn6P-tVp^P-qiVMv5gjO1mSyQCVzqvJe!T_*RW)ycFyINhY3b(xAMp>r!4yXFdyo z61j*3klNdRk znp^pLtygHjlvt(9Xz)zFtx9v`eH{1R292M&5`Q9DR%`BTHgWEd+%WP8Q zqBFX%?wi7gvUO5xyfE%cgGg5=5?p6ugTJs>4Nadk3MzVc63$gD%@7fS`mVr2!}Ps& zdn58?zW?lelE68w5L(ERj1}E3F-DHAkk5zt+NIG{zDSl*#sAZtf7Bwgbz-MYxYXDo zEcy`%?_j{*FK<6T^N9)Unp$6uz)CYdsZ2QhTwj`mb#d=pWi50N^*1Tq+5+rMZ?;&j z`z=5k$vMSIi6jJGU8Kb-^SYZ?nCbDH8uwRgSx#M-37oX~jfc*o7TnMV3@c-+KU19veoFZ@gkn#5$k)tU?v$Hv0;&&d9k>j}4|uWmrKAm>%<%y9CCg(g zT?~JQgPq4XeZuKU+;uMOeFKn23O#R@b18%=QxumA*JP!Pn$53o)7 zW|Mxvx(!k^@Cqn4%8}qjk^%Ul ztLOOaL>8|;-^5IbGS!b?H3f#)pRrg8@FO0o&UxA1pJ@WErIjI~SZ#gSK5@Q`#r7F* z+{&i`(xbrX?v$BQ`{ottHm}#6D;Kw%zSh0BzdyXMNQ;t@(31(KshKJ? z{d(wxP@d0BUyY}uHdPn%G(!%*(1K`Q4%dOg)Z*|QDax=;@6C~aQLTMHaKHU2?*Y#` zSW8Fu4*hl+>3E$C>F5qUC1nKD-IvcOUd+<@ojm2dg4bsA8@M-?u~wY9O|Wa+X*U-F zreg|;?(VlT!c|`^pCYM-G5p*x{LjXy9*~vp_XXleEG99mF zJwNyn`3V+Vl<;1BkY8WuUEb6A@phAHN5jST1u6d$Q)peVN^GG>nb|rC(FPN*s#>K> zvRvt-Kni>=f@<3tv1b$9J#Uq4buPE#;jh#Tj~&y-2Wd}>DOBtq!u0urc;e-CJHe$- z7m`SNU2-}i6U|;61-PFSBa3ejEWZlq5bOin-M)fG1Ps9`#xF#A_K`xR#R@tQGLSTU z=VkYG2d1C(JCFEN$SNxD-vkg9P@UEX(B}G4m2_^iCWZ=4Hrskofo~vAHbyW4=7NyP zl@J==mxwdVt$#H3)@xk}v^OTjTVb0lmzO3h!otG(W;LaEAH3$Obw<3_#p-vWmdzKX z(G5NQJq>}RR5yD%7sJd!A$I^yHDd@8LUdZ!+4(YU=M(?F&iGQ-wY>xV$|r>w@kCN_ zWOBv)V#Si!)=)gQIEvCR-L596ZUVn~7k4(|qga0CQPgL_NS4nNjs<~zC8%rILRcEE z1)v{M0Q#ZjN_7?0AfAHo{uCdHXo@O7xGpR&(6Ne59hGr?IG*<3BV&ga&;&E$-$JJI zj19!d_0?`ToALA6s@ydg5x=MTAfQclw?@@cH8ubG;-!2FYa95VH6{kwW2tTgW$^NI z+}8ohM4Ncs&|z$L(+U{}EClax#WC6$-j4zOBU;@HPLDRlKjXJ!{ci+s>mLLUFBAn~ z7p-;hM|v669}KU*sn=i#3D<8p?kvY_-E+S%kosBd4e%2vz?@ANR06q4YleWDp|{r# zl!AxiPZD;~8H-a&bio?MUhE=U3lPh@^>LCZ^`!489uH4G*sT7i3i-fR!C<%|M_AdC z*78vpdJv6{ShHwFOF^SWqvmfYQ^HT6KmWa5Bye*X=tl8AmynZs5%Dtp8J>9^4K#%7 zQjt-p!rM)LL=qw@$%`rBTnwo9(FE{<@c`dK2v$iZ6av*Dis$(@H#ZY~B;^_ne0(~sEDP{q=Q<-Qt9R7wQ-q4!{ab+%&sJpiGAS{EIyJU8ue7phX zjvjJNE$+rB6ggAn(jAi;Oij-fb$*~Jl9Uo&Mg06|7t*!$dbqW2N?YOf8k_4 zwN@slOdIC2&-}eu_$WQa6QKmt-Opjvzgb~p;L%rOxH#*eXXD}TLS-R8#nO0#=g*d$ ze}cagw5PWC^=f_gKP~$gQ}X{3V5V zh;-ihb_E8{&B4S5spHx?Qwsomp2FW$6ikRdK*GTTj)dDyv}COO;nK-=X=13W3Pi7I zfFBb2cInaBwQ~!(1|JVitD_anm6iHR|AkAd2m{@*%W|wrC50o~;u0uKC@-ObZdhrw zwIWS^=rk&65<_^;0R)fr9<0O7&Rv|NreK3bA3$ov_g%YVgwJJdOcm>rGziS82SprZD%xI(x7cv=or%AIKP!*|G`LVj> z{r(~|bf|$&+$ZdxUT1r$g4B&4drp1q)pnpDap#}&R3qLOp{w&f4xxyTI7w-R@3$x^ zKYufc-2FNW{+rSX#B!FK=uZztwM|sQo_cqBQR6rX+((Eswf8f?Aym4FTPkEQI5f|* zFs(hY#3}W*7d*))3=vrJd$Hd;kH)<)k{;CxOMJv#Au-y173yA{*N=pp$P)5`Vpg`Q z$S$2C#RoyASx(k(Jvb1$%| ztYzB}(r%EP#_@rs441We*K@~9x{MGE4S_-wr4FuR8ID3VcBIg2_byzXqcL7x+JDv% z%r*9D%{*;H9?-RY!KF`geRf~mhV-O zVyZI_yC(92fNH3E!*JPkG1nSJ+5+qs^~MP=N+Xza99NMNtR@iuf$=-kfR##3Jalx} z5e#=3dOXG7Q9oBUg!#n_T4aE9QQ*~^Pl6;5YkZJsc*O>0%4hnvxjh3#>2L`~@Pp(_ z0-J3&y!mj^u?ov|=rXV?LYrmvzO{tvgZ6)Dr9k&#O=(-)&KRMqh|(Oq_`;tFtgWp*S*?*cz$zC$zG);!&{zb?;ngFd z9MsUfR3`A@$Qr{N%?Pp)wm{MdFIy_Vic0%l;1KP%PSQsb&G+j1@Xj^d4$QDzjvTDM zmnG06OQdd0C0zahZ(l)5#K?$3~iY;Bp$RO-IEzgmrqK`0Fa?omeICAex| zN_&{0D80?IsCJo*VbEC}NVC%Vl1OkO+SwHB!#sfBtGjK#PPfyu3Um+`IS1popAjFGIE_?qvV(UD_dRW@s>La!8Kx+{08zmuZ>1lgOhrq=zoEDnL z=xZ(hj_~?OM71&Y+X8i9zgYIMBe@H<4)fetd8^-%(U;0d&=k=z7mD zNR2V)baT|mRXOktYQAwMhB&sD9veo+df+9TP;kJ$NXmY(l92M1rFu6lbs7kKbqG#B zuEuq+ui0Nu!3MSTKNZBldwy}ysd9zU%zuv;A*d;Zjm?~z5BXhTqKCe#GEop zC8Kp`qu$mgSm>1AqyRFqY;tE#xY)l|2G?yUYhO*q_7(+Ydds$3?|;%W6cAY4s1qOX z@R-s{MciD!ux2Mdpe3H6`2Y%V91AN8Q`M^%*1fwf5M;O>Q8sMF4qaTWga=hy@OxGo z|9^yiWmFwow`>9gO>hmt-Q9z`ySoOr;I6^l-QC?GIKiFZw(;N)9A0zICpq`sG43x0 z^rmQS z0vX(alCv}0!{w$bA^9R191TG8P-d{{1soCdzWIz$hAS4y6iBDB{-E`~S#_SRH&bL< zop=#`r>-B4Y~e>6+`w-u7}%4%APi?L8^(FTDJuGa5Xg|N^d=(f43e8cFS?uBdGy%y zBbNz;)q0_(Yy?XL*|=7WwP|A`T$2)cBun3Y_8W|_*ape7ZX)|b*O&<9K7;?v$?t!1`ZmQI8EwoA&`DtoGop@E>TPh zva&{(henE^=Y#0tzjaeZ2BJ3Ck9St#)89gOG}QF#M@gF^L9^`ru!h#$`qoJ>rh-6( zNzE>T+r>|SJuW9D#=P2sC{5uUS7Lf+pp@InJGZYIMd=JvC_w1ZS+mmOkS5@)l?&L( zQ_%jRC0PrPD~f*)pB>90A-{-@)_=XLZE1tk!T%)@Z%!2p4@ndWst4p%GfYzA&|3=t z)*^X(n(`s$&%>2JzKBS0X6QJD=gNo-xrcNh3*riYE>@F+pWu zL6UA>RoA^Apcv(cLUq_R(Uy@~ufKIJQtMWNg)aW|8)nEp(Lg#Rdk!{w};W$ontyz(-2 zZYT<>Nx}1!IU!W*eob4nvQQlyCXCd!+b5J>nXZ%Vw=mEJuaqKmrqOk=ry_2Y3IyW2 z0T4Ok{U(5+cSPN-gw;ji{ zw0>tcEfAOBxEw@+t&qaDg6U~^moeIN16WCS-Mnb%%F80WM5si54`H$J148QvXZ@p9 z5m~`h2}uyeMW1x5Cv7aUbsrL#aYCtLs^7zW0jw3(7xyDF@6SS0MK(V!HDphu0$1U} z7>=N|S6m{u1Wt$SyFy8d&2K&`Ih&$fP+F&&i-&m`Ez9Sje8S2LFO6-p&C=>H$I9Sx zPaO~St|4S&0AtXX!o0e&`x)Imj_&5G83ed7r-qj}@Dc!= zG>OVN>oAKuFcAuPzEzou`l+^hvsVL@MnpBDdt$JhEmuw>ZU0@!pHj>8Fd}=k-J$SJ zw!EwNr*Q=Pg;b;Enpjt*E>YUsHb&!-scDihvnWg|1l*sp&(F_{^b7ev6if8;Naq~} ze{pC;Dw<$7>kh#hsyN(YqS$(ZxeDl~Gkt+?FrT9wG!^LPd>qr^Jn!XCQRz|W?T(r& z0Qla_?C(h~oA^gQ438cwA<^;Rm|WpU<$g;93RR~UX4u%UI*0VvX2RWTdQb>@J9Tyh zX7_2t3K(R}`9w@0qAD~L>rx)Uo8@}zD`)v1UsO=aPXs=}T$@rnOzh9osZbnIT?j3z zu<0P1D^U=&`C}9^8V@6ve;x4KZ?oy-j?i&8tUV`a`TdSodQm)U5VxqR^KRV8a}=QJ znm)o!7(2IgpU)k!Vv$>E%;qrLUJVg^HnKau`{cfR{BK`-)^%O!xmDPF$eRyASwY zjS-m^;?la-X*>DTiF*r*KPyLS;f0LWm<+KAHj+5ZIBLLIFwKhTE#?ru9vds~4q+Bl zVxVYcd0g>~J(#fa|EMMgGED+schh#u+U&MDxp~c#mC$Llmv7GBG9P(g3dcI|#wpg{ zY8Mt3PGeVficuv#87c6>euMW;WPNOvp|n*O7Jo8cHUG#o+-{$y9j{c*^uEJs&hlXw zR8^CMn8t3+wu1gK8dWbzB%5vt;;&`2kIOI+G{kbN7qLeu80>d?-2#gofleS(8apsD1}`pgfNo( zCtuU8w<4oa?2(njAi0ITiR68h*44MGh?E{PI;B{ZG_A(r$eo4Fndm%o;!|S@qu6Yw zQdyr`1g)vO^BvC~?uKat;VjnHxZ6OT_4KS(IY8P`%4M5I5iZZ)G28k-)Q?3})ctWk zVIOESuai-;dy6BJ81#+I&yayr>0mSnp}gjSNOU>F)a*K7`i{~PQnBc<&CP8_;`&0` z!CKHqMnUiyB?59JDO&Ew0Te;xYnRewFfdnN36#F9NAof^_m_w2B_qP~e%qg&|U zGv~F5@C_yQcGbzPnBz6Ms}p5cSy#QU3|%S)R3eOy;|P|5;m7Um=dFleKI9GU31)Qn zPEuS?5j*4Y(Yq)SETSb;)Alr@SOtvRuYN~E^=Fl%iiD>D-isynl-ivR@_2LXT!D7? z@oX@O%EI53YUuqkl41gDzE#tA0^az;2as7dVSHTXJ1CC6c`UGb=o0`NfD*^Q={taa$nwO7UDiJj79|#@Tf3OISuca+;KOC$kc! z;kf9Och*TZrz~5cL`G?f+A1KKIB4=6$?pl_e0cmEJaDzhU z&>Qp~u|*C=ScY16spEzHT?mHESAd0N_ldTsy1G=`U4A0H>I)L;uV=#QaKb|jMQnp`-ufKWl%#2+AsYI9cFpOHS&O}T$gtPxY7Wt%Au!E{ zp5{koQ?+>a5)~`9M&SynKOYBAnI8|H?J@Wh3%$=m9ClP9w^8EgPG#Lio4>9Vz7j<6 za@V~zWhWvhp9VrP=m-Wm8kR{(9dtf%#p=BcAcX1%)4?#eyK)YB43Pdf8@&y+^c`X) zTA%1zx*W;6@vKp#>5VQzBZ%3O;W}* zG%zp{s<^#%5ieJ*(qRVd0?v`KiRTGiVv~}Re!#W&n)X}XmS(~gkRUo5vr)k>D6`Qy zr=@Xsp1r}j75HLies6$nPWY^j?2abVU_qtR32E&)-uI+zhJr53#w6}ON0(4R>X?5& z!K_FdlU40ixqs2I@{Q{#&ik_qKRx@@IF6{!KscI6xuUE4@B=Bg*hv!_inloDezJ_&i=KIC%!tHv#DmZNqrd+)MgKI}#mzCO^7q4Sybqs1BPgQO! zCu$|C@(7Wp{M{-Z;wpw`!)$tV!owyv@`O^&rCa7W&x!~AX+G9>k>T>i9}~&L`G=R* zf0aMjYO_2aJDpCexFKfqNFG_~x*LDew;}+AJcFA(g9$dti+U&Ndi*Bvyx4TF^>VQ* zSF7W{74Q<(1*}^5m=msDG&km#&n{RA6MYB<7u>CSHNOchJq{J1ucdiG zf8zE9E~Crl$$}>bhvlQ;BF?B*8@Xba68!27m@68SGNYF@SJK8BY|=7PkmCty;$dCG z%HNAsC=@E9q5MnH<9%P#j+@B#*V-k~`#@iC2Z`O_n7jjk&s5{$W=#=ZCF|mw_}DD> z`{+{rtLZJ%M9Q(DgAy@NxkmoEC~|{MP1a22mE4vP=B1^7!dzzzEIq{2wDLW(%5{m* z;l5Ys)ebrx*7{cIi%U3EeNx=iHDr-TT0IPTQ7pQV!HIMR_S^8 zH4z|2mM5%skx8o&A4^|OC-&Rg+qat-`OsFjp=|K-=$x;bo=)p49IUTl)bUod7$Q^R zK+EFw^-rG_itV6EZ)yq zl{TFl=+sy;m~r=o-JZ{==BKsXf3n2maqw~DDOa3F;@ew)iNs3Z+CR1LnDfX!0@>Ogv<*mo0>mDk|^{Q1gtJFmat$;A-1WpfuA zv4cIvq6w z#os}}P;b>Kp>IMR@bYXu$g9hxQ`?4+?~J-}20^XNqYL>+y#R0MXL9R%&L~mm7S6X0X^l;z%{zztW)8Q6M0+}+lk0wYjol!D z$BpT5)?H%-Z(FX=vgZQk9EMy#_S8ei8v8|_DjX+($~>8$s4J14JeB#5hFUQ}kS z;go!?wBW0!%8l^q!ecpo>FG?&7hqfFy*>Nt=C$I&BGXdw8@F3y^vCI8c{?eYiDLFO zyCdKV^O4J`oWG34JUAq~Qv2YbD2r5ASJ&UL9mx9m9HH2%2O?Fz7yR~~Kxp0%Kj5lb zzn7eyT}=(wqgbQCoUy$jF?fQSSHzv?CuvzZQ!!FQ#?svG;kkYNQ-pK?D(XCR&$#oW zn0uhzf#4-{-9vQI3l0^yyxI)jHOH`|@i`@l*>}>*lft9>Cn2>a7~h^^Z#yMbqrFBV zIz#io8igH7hqHZ-x{gFpWBVNUsmW-?)i0-`yqSgy_sac{9tm{ z0G0`WjG9P6HG2I+0n5a{_oT?5fk(80zH+@fVTpUT`xZ6qVK|HewYCFFCY8I&u+8ND z4Q>un4XL%737vhl+;MG?4`15zia46EEwQLD(AA!J)WAY3n}V^55H>xCVly1 znvRkd4wuIXhbQ7goGGOpSIU~=yrOjL(;!TKuGeW zpz+JAP_O%zAX1k3KC2HxE9eylO=GpnEm16zP#AKD$hz_IfqLoY0N*@+XJECN)cRtJ z9d1dQd+u1@g4Ga)T5ioxD64;`f@Vza;f#l%t~(ki#>wv9v{JcN1n+o1d-0K?;rcsz z(kx!;qikz&P7G4eK-_erxI^%&`_diW^|yBGJF`1xJ-{v+r37 zeDpyG3C=VgNkDm7M2jgRpdSyy+wUv_&-^6ywd;YuWd+0p%>GjTf-CWT-sfLblvEe4 z#$>nx`t|ir0Hadi!2jY)1vy<|FlXp~-Y#(wnuy~Wks6Qp>TQy^9OBof`a&t7t4A~g zkZ((6V3f4@7kKW8R$DM>79P9nawOOo;$G(R>R*^PQ)+Irf0=YO7)WOa|11yA>pIR# z^_I4c39NT*fUKXJ zqSSRU^Ly`-SIOIU48$agFMtKGD8$wM&P@e6oi7RUJl)XdHinUx=#CK(2plr(O59pK z-4@SQd8i<+qewySeF>B=d!61iEqAS@J;k4Gc2H`__1?(E4*;tF8NfU=zV{Ij{PN-A zzn)osE!G|EWqBt;i$>u}Pw?8TC5TH7s6MyzEtBqRO^+6g4pq_+FX+sBbxNiAqM~wl zdio7Fl^EGC7D(>}pebO`jH<(Kw|4eiIP-tGJL=L85Qk8TlS!ely(*ZNN?=6;mhHku zdK0ucnTo#a!GJ7r#R`dbk;dQYv&j4xQj+RA^?OEW&_ zXx4$mh`D#x=3uwIgJed;iic}{@!)tej8%GRMwRLQjG;B2Yh5pK#9q~)(>!8y?wp4; z+^TTVSUccaRFd9oTy*fz#Bzb%9wQ2aoE+FJGs>SPa37c|L@Eo^bZgcM;I;#vV^oL_oA31qrSkH1i3(=c%42zWfVs5rAA2;eBeOJdqAtMGYQ48? zdL>}9(j1Ol0u*PGJnXbKXcg|}d;#@d5Jo#x^{zY;&`F`#9EbjFQ0<)IJL4IcrRvHz z+&})>j){3G!f$EIHJc)N9?t~t8un+35Tvtsw5>1kfK(>H4*_C!eeHk*B){}<98L#Y zPWfh)9s@}JP#AKJ#^9xoYImD@Znxf1DIJgdk1zX^FP2U8^Vsw80H|uzD6`#TRb@HZ z)=zj1WuLZ48QH0{w3K;%7fIZ&LKO}$vnZHDqcwWf5Z^;43PH~Y>s3Ja#S&5=ls+ap$FOlsHo|HsBW=&t+nDRoy8GffD(ynE_%y{%dno??X6SOEsIu1{$$i! zd61_NB|=4?I!uk~^`x-<0OlN@5Uq$?nte}L&cYU%nd{yu`MF8^%JbJ1x0LBz0WKuV z-G^t$rk#BoY$SyQtq={6UW2OsY%3mQbooy^qi})iGdUk&96v{IwU;kp_~zyX_9Xdf zWb?~9&GvCCD^d$FL?Iq|t;)u8y9)j6rSybn7+^m9dO0>TjU6j0FWvcQq*eGWIrM%X zrXzn+%@@v19;Sfed-luihLbN3W{O}AnDGJSeJ;M2p#XG~OUMuw6x#6LP^Bg3hrCv$pJAts8U* zZTt5+##pQrAOlfDDIn@zs=@)znrFX0{Qg&#knFru|cV<@+y$Mb>I{Z-zLv7!cu zbrb=1dx?c=zkg43SZJlX*`rMl=GxQ4ry`1I+Tfb2>@@c(y5@F=!cOTE@n zpr`wEbMXSXW-4Op!q9aq>wtoZMgbi9@2WT5hTSDg`w|tPD?G$n3neIB96{+ltiy*t_3-x!{D9`kogb zs10m?P9;hB5C8hvf|$q$kVQbJd;HJ+pRG!})%1mO4*^m)TQwstx4qc6RMC7zA$V?& zUw-L#B7#7FwHrOw9pSr%u4I|ZQyGv?$mq8_9+A#rSXUwn5pdgr%B64!;L0BjWpTtx zS6f{@W3ISF8f(vjcCJiyFOht)! zMROJ^hY3B_vvBXj?bWjeAivuV5T;5vs_S2*rVLb$w=1U}gf;Js{k)y8!*DcPtz4 zCn=&1cX5CQRTnN8^k@)3Uofz`=CHhDB^T8pX{S)h|Iz%cOP-`o=YXdM)JIPn7y0YK}1O(tb`vEY_TlK4r=OIX&1Tf0f*Kl|i907--5d~(&W zJi3I#)?bT}t#J|J7-oi@OU;S_hyXuUS3jI`ewiPO~2 zc!w6FQL{T8`%`o9Zzcl*p%M>=ZE$_@JE(>Dw{`*o<1?Aw&QpMr5cE9E(xtdpxjO1Z zL`M}4h`)v#N+<|R>Irvq5hw@G77MlA1tO(2Nv>3o3-XN>B4CBdvjeP9aMc?E->^YD z*vQqwX>2{|2uMdJ zqkfJsIBfHgYp>XfoDfMPO{1lt0I<<)fidssHBA|#lqtVi{g-fsLus+#B31(dQ5Z4s zz@uyNQ@I(FG2!|t1&7zr@#cHSHQFGED?}~{*t+r8K*sKHW?dg2qjnPDiJ%uk+ho%c8`|l$)WSTuMl?lB!dE;2+ zAFtbXWt(-)Y3aucc!l`V798JNjcUIqsXCdF-k(KY?JzE*50$8VCMk!kf-duw!ySW( z)$e5)Q)6UeG&_azMxjPt456Y77gKdT`-L-%h%JYCu3%D8j3&}fj(?M!`|0C?e3_HB z#^nfJfCH@g-Cs#1^WxSaJ#33WkqBJT^|2R`#4knkTf`vGzAz|M-mkTQ`tI;&OIeHH zJ)`>}UuHLjO&5VKCrv|z4WA`QHIRXmGWKv5T4CM1ae4l;>b68S`Ihjgw2*|gP8&oB z!m*HtBLMWM%G_s9bNUOzW>X+^G7XW0rPoG(hwQ=eEGXe>MTgz)2zO^J7(6f*rH+)Y zMY(xlm(-uF#XEe~sI#IMc^AqsJaf+=q5bmw@_X{<6cIVK(#^{3;Oz3*dwKw7_5dUV zSNCOf!}!{VmvhT%T|pLH4u`q4iOYaO>B~fVuJ6+WVtL3egs*L-b_XGXIv`Ox3LTr% zuY6x37G6;~?0SZKuvSpPBbu*J=^@av*1Usftoou}r6L^K?kL%nwJO4=ho8ZNXJVV0 zH$hB>IuNhKAS29amd=>XAJD#Zyxf#j01)Hzua6e6GrHSe0}95sNlKVi+HE4>Q1G*& z4$CcHi)?Go$K@k!^90n~%F%k3M8J{gy!nqyb+#Ea?qegj#BLKZeghzgwUUdyE{aDpo_3`#}^2B}SFUZ&-@c z{`n;1j%~HYK~uSOIUvpA*!M$8j;$(-Oh-*~x24}S%m@*x#MfLQ3L#h|kiJkQ3k`|T z=$dG#`s3fCiAfUXGA95rn>HSOyoLM7Vo=>Z@_xROz!5@0pPXrYz_Ic_R#pV|R|I>? zbLMl`m1^Kn2zga|wDgrdMlXQ!yndsN!#=~P-WEf+Q&cz_3Rz{~SKk`v?_X;a)DbBA zD~mIv5>zWp-KEZ1Ud#@+VquBnIsUjsyiNOH3OJljYlR+xJAungTKqZrr%P0*ADD85 z9Q!X@oQM*$&n!ri??lJhHT#zKN-O{4!H`^oFh7Z-Y-V^A)-~C1oCK;o*RTK?30aE- z7btz!cy1(u517K$Hw%XeVO0LquNJ~GD|Rh!!3SQKiMYQvkJ0z^nAe7w| zvcn?9mQC+4*P=#KE>CFOOBuc2GQ2k(U{)_GFopndsq9Tb2a76Q&nKGH#}ju_&!JL2 zUKtpKV7*P4P0ItIO2}$QSz54ey(tol<{?zEL-6`1yup}oNU(`i&h3k75{J*D5hLskz7@+)WeO&1aej1fDCenMLMxoI}I2Lu~nr)LrhMx86ml^RKw`! z;$cDVw)XhkkRfCjlEyp()10%`LOg)Mu-oF=rZ`pWWe`rmzxLeN5|>u8RG6E7B3g@? zhxiC-sPvbp#mrdA8X5OZbzcTr9H+B^wIm6hTDcXqc5Ar3L}FGlDhG*{d~a{1e8XWk z#DcSs+?Y5&9>9|0gE>E+EtTd9qs`-3ELyP~LCXv|emHZVON~}(Z&RnY3Owe^ z)j19$%_rZk*};H?CLqxnxDeEdP*a4@YmMyDzZHevAbC$`I9^N3InCBN&jCRTOSMg- zZyd1f5pA1=ak>Gp)s10-TRy~M5o55rLunNgBMe+Z#7z={aJk79sdDk%Ru-S_6mu?1Y z3M(caK&J7kGkgb{U{s#^kWZr&_t~bO*qIp3bqsr-jDdW{tAP_u-6j#O2p&39Ua zwukngRy%k_5~y~p6gjiC4jI`r-$3JIE<~8FvMayeR+>xy5TNu1@sfto*F*YM`xkeHlKV84tOYwhhK{soZ!@V|+}uuU3At;6bEvsTh=59kIPSFnXKTEojj z24M;-l{RCb(e)TAbw7!Ko-+nX^A#N|LothjLs#&MU@zGd9uU5{1CRvb>-$aiZdD#a zZv_7O)!@?O?S}~LVw~?~k#eE|COm|%5`$(Gi-j5jgs;FW*M2LhIz9XJ-bxQ_)58>u z02;Y(?-?_YycAHk6hVJ44Yq?lDkFf#RIM{W;#f>o^xSw=sSM%0^6l{^YWUWKn{C0B z<_+Jxp^mU^=pMlWR5g%q+g-X>5fg=>%R|)4RQQ`kfzzTP7@KvGT(OvLG{H&&fw1Sw z4hYPCjo<|b4rMa+O`CTmq%7T z|F%#Y?pth@ZSU(nh72W|=iJIlgT@}mWxu=D%zpChcBB%_m-yZ)1jrhoF$9~11kY+u z|5j8~8*92h-j#~vFEzU{iL1FOTp6NLPhsY5;N)OuIc%e@`~v1f1BBj>f!hEW7>}Oq zw}7C+7XOy>9dy$Eu(5{`><5dZolBqv^uPcb%wLBe*Vs4n%spGs81y>@JhE%h&PxR_ zdW>M!+STL+V}x)h)d10-XH%Yn@dZcc1h{=2v>tMgE{M7kaYMM;4kndmDc2D2K3&tQ0weeA!BE}nfk3-o_@k_pFj=brf($0M)C-h zw9hq2L&kWTnFnf?9@1O27@6J27fv={Uzx^Wd|;yH;az5{nu&k-=d)ENI(ZMZ?{$VS1SMu)xR(3 zfxUaZ^zJ0)^1~mRzkhw8oCtVD$Mjoj;C27`pM1W+B|~3#kVo%7?)KL&N3ReA4jE6_ zA7AtLr{p%EAMxJ2d3hNHS(ad1| z-pTPl2_vB)3YRh;genNRop#(1^ZD@YADm634AMSmTnv-Cil01n8aaRY^2KDLlje){ z$e9#$4Lw-+8=~*f|MLeaw2@wqsUNfrKwa4+8V82%vlXd)EkrmC8rODfxBnsYQ%x-QKZ7Y$qa^&!_>?iDeWuyPJY%zwNycclgYWo_bm&`=O@cEbeOJL^$x`9{L0E3s2nTlCAEa zO~&r`21P_vPBO>PdL^PTS~KRt@RQ)s*0#(dV_RI*(-`ad$9UM#03OGo;z*x0 zHBJ>*LXqc|cz5JrOhcFnFo(wQW>eVIgOST06BH$7?Us$wr zG`2VJ-&>SGy(JB&b*Z4$ahLj+O&sFiHgP({xUrSc_>zXjVp!l^11o?{Tn$)?qg58R z;UCT5gJk<2xI^S-qLHX@h==1OEuphEA1&U+ZzE~RSl_V^ZKz=K3};`$<2i(LjIYoS z4AuTQw-nHUf2RoRQa{BAa5`_Cq%}FWD{7}mpKaGJBdzydw?=XxBg$y|Bm!6`Gho}; zqc#t-$8KxIKGG?fGXKn#uHZ=*P0z8H%Uz1Pt)%&q_e#bql3x7IMl5)4S3k_H)- zt58DOnGX=(zO{|}^X@-=ff>T}UE;9x)huqaO-=5Wwy?e#w#GKWF8}I!vdmj`kV);9 zaR6FZBr>^l0d3Fe&sVqo^xAHQMGrAzd2grpDP!cd1J!_+bLiTjn9VNRE)kLvcKZ-5 zg8q+{$Twcl2gYz%-)5f4Z&fHX-Qk_knlK*SAh=gwU*BZzyRW7@7X_%FJOY85JR&?i zDde(i?Wm|qeyI(n(pF2I5}jTg5d&w7Kc^g+sHJF@tGzy~c6rNMH@P z8c}=%{LS+iErmpQa)3%eNRhlwSM=IlxDw7iy%gTQZz#1}sS_v_6WwkOWZ%J|v2vlm zbBho(d;AeMcy)9|;cz?omeX|$Q@aaYq8|c&he|1zR@+_9Uqm{-^w9qI=s}P7*DB^- ztJz!Q)XxXr4g#Mv3x*}H)+P~(<+lr&f5*ktTOY4G+>GOt-YYoXJ54K5YULL%eLEN) z$5}R=3oWpJUnGM|MrUI~soDt!&};l55wP{=L>-=5z4s>)MvT6KL&763FyPVLda?qh zGzsuP@oJ!EOKwIev;7rjsa#F1SySt_>+eyD)QfFm;FJj+_zhxadoXHfofl(gMAye0 zP#e%_HsyU}IZBS`od;V1Ul0PUkN+}@`|s2N#=^f>v@y3e=cSD5G0epMe6Nb1iOt~IVE?rBVvTb;}$(^#J^ zR4QqPVtSJbrLu&_Qk$mHM;to_d^%uQW>_Am6Zj9Q6-j4EcZj4D~x!lPz?nkL%5uFD}r`Sq<-7|QbieKP#Hb;EZe0*qy82}+IxpuqS&moTCYO*N^4sN?T_z9z+Scr4lEX$h@ zVA`d^*w5N!=9tT!)BF&d4D33PG+J*E~W6C2eEIho`fZZssoWn3Hk(HTY zHn#3vDt!HsId*9*2myC;R~kD%5uWSG{(dGCoDAAXgG!^PINo1RrAj_6myl@Z`WreL znDlm`)i*w232p9k%eDN-Q1ygTx>wm9h2rk0eeP!dWGbN;aZM*cG>3xjNwF@wxwsFjADuEjm&fax<*aLL!>+(U-n8B3E&A;6`wlER3xkL zw4|)_sp}FyfmSh+)noq9~Q(%FtC@A(e;C!LK+b3b9egXs_&DMz~bqc z@6~l5-t3ba14%gGWLaR-`49rsGBn~wJS&WVaP^SUSg=_U2dwXy%mv#v$uqYH!eccQ z>aRs!nqZb>6gdEgM;hJ6B1jf#+9%TY&{gVdgUeUv zo7Fn|L?Vav-TQ`^EF$|VxWh0_Mpr|bn4~YUe!_zCc)q_mqD`Y9c_d}CTocyOSz9vM zxsQq?o4%dki8=BQip-WBh)g=t=yBQYVJUg?$1krh6t^IIq$flW_R`%dCa_c!6W~puzf($9SjP|3T@fz#ihOL2?~opm?DaonMD3 z3{ia^pqiuSO49d-lIRktzq<@?nFUIY6u8zE5V_4n_5!@YxIJkSx6g`#Mv7UWODjR1N5V)ERTL3rWnB0rY zYq-kmFdIz3eAIMMOZzCWiB}q&NdMdWNIUhcfuF1F*P#7wc$V4KP)_YotaoW+C6UY4 zEyA}B$;;hG(loaMPqI`73*Sa{?S&NjLs&AlKSGyqpWfF14wLfu&;B`=R`6DZcLTj#lq@tkr7Sj0Je8pf>l-pZ$#ZL{$%D2)+6 z#L)GUwCQ-tY?W1?GFRGE<-CuZh}Sle6g?9n@}|DeSaaWdcm53>yRehRVlGD_q3olX z@EB)99T4MX_}DrAxwOVY1JQ#xL^;veAwTA(>_VNpXlO_zE4F}4%zd`-2!(wj_V z`j6|nB0(4PXOueJ&%&g1ZgtVP&+h7%-k)uPo6qf{rCvTDtHWD;s<;0=JZRXNP0%Y+ z8f3;2KI5Gx3Si9gHxyJa=lhU8PoaxFTi|F+{jNwGOC3*U$b0|$ zQX|P)AZ< z!Irox4O7$L5TH+XvY5&F#}{X~3XgwZXmu*;2@D(7^2Ew2O7~g++afL$mBz#jx^^_i z4i#po#GDyP2y$CY>NAACd9b+TSg3Ls~ zAx`E2J|jW1=<0RkNb1_@V{@)^JN=OaTy=?(peSaws5Z`3H{`QD)(2Wii2+ zGq3I~Wpid(V=cA$N}WtvfPEPj>qpO8shfdVgA%JYE2sVgl!Y5$x0*V~2uqa;8KTh) zl8w``Ty`MoDaNt8JzfS1I`Awt8WUBhbqd}4Q$7?ueg@#!;~dMS4kN&1)X3u>M`Ll| zq&Gn9J69uelhG-9E}JF4*`6}AO5<-BL2QdEB^)Cnz@XYN=!|HRLO&rTRZsl&=&~NA zaL{K69sW#lP#;0R-tkj#G;9}7FcA{>HGViy6*H%mg>smI9i@Sl0w%A*WjIc31CMzT z{QeprbQ0ijFdyfYY62Y{_gx>|xxb$`k4j&5h{h1I6cFOAr}v9ANB_}?Z$yX>8^s(R#I2JP7_*ULl|s9<{jLpAsxp z>;QXph->V4Im415w?7Qt^fx{Eg;jg9heA62-5HXMlN3V7mlp@(BdKX>z5UZYi}_6Z z+rV$%iu*&5L_`OCeYjZ467t+{2#t7|_Na3ks~qGWW-H$$6?ju;e~U;h?TmLr6uCOT z4zOcB&=f>|IAk%0tD9Ahr_pq>x;ebh@qah~ETKh^6lxT0diJ3+F$cSj7Jw4a;9y`i zW~4JkPhy5VxCA4*N7EUFGFiqdgNc3sUa^1Dt9CJQBHjxvE_Pi0O}G)ki}SN9X~6rrMEz>E4?2%%`@75E{%~(Y_)}xDvymC`#{=Q^ zOcx@L>n(o>v^)*gc9qDZ2!4Fu0S)-W`Q%eUV0AmM;oTu6(CLOCHv9&}zz(~k6dd1( zf)Iwq@+{ce#i0CZj-)Yh`cXcBI}+H|@&=$vf~}iwCr0rfUus zNT14Lso?V%PNn*iR_sbVP0nngrAd-PI`+3c92z3zr>}<~JFA*0w>fhbqiURFdI99u z0SSeS~4FekpC05{f2!kHX0_MyOJ8Nq^vwXLW(hrXC9jjeU%yxaxeSW9ekwAyq zMQd|4!ANh*ad;X3`o>KxF1cwWk)0ZBcmgEv&f`y!)mY)q~8F>i(&Ex%_{q6>!Nb<7Gj;2(Uq?w41yD5{bkkB-F zO&J;@#?VQ$I@uO}e1H#ufAj-AeRcLwpqf-_45eeN8;p1V<(COLwV#fZ%B|(Zul8`_ zs}*y)WrFR)lF#sEYv-{+GX;KZP0ijk8nRE=#jkq`3-n*DLv z{U-{N&jc*atsC#U$m_$K0Ki1@mJt#FJQ|0;c8B!|PNThL;1$T}ac0oCrQJne>NhCY zo<-BO4*zq37X?7W zn)&~^(1rlVA&e&iawJ8D_D4cG!$RWWk^S7FiCzg&=+8*57_XIe5c8)thKdjNw=PTm zi~RbG5d8(=P5leP3nowHzh!cZE8?=y*1EMnpZvs!PYUl9CV!`EoQ!9z068_sW(+ID(nri4Ih)oR&o&`Ve2|$SLAJk60@a4O>aiVOE zKCmnvqJZ^-o;ehavAg)S8W7@`Eru00F+r7)(_QrEk&N$909Y#yTXj&WhPLLa#b7aZ zJ#G@<>_zel(fBF!CsVgZ$r+zL2T?Uyyz}e;fFJp>zBFlT3b7L?#8&oV(v+Tl|Z4w%LWC zcK8*He@tXx`Ie_6Zo&DpGye6Y)0jX*&is70Go$~X*ziAn&qwzf-2@Uh{d4d93p(ff z_=@&@Y|HlG{BzFz>qYhhfsx-44f+SH_^;?w%AEd4&Ae zH<-QRxn{roE)M?LUVr_Tjq$pp3&bw}FE4^0@w$UWXv^{ZZ*6b|^nad?m^~M*@AtYd zLN|E*3IVt7$T+fgb`#{R&shC~yah!DcyL5|a9~(Wh%GI~#0X9AK_{8MjIJ#)Hs}b$ zw9kyeo(Iw=yrE1hit^`MUT&19Wq|z^cmIdM9_XLJd?I$2&AeSjpZlH?erUE-tyo$5 zmN9@OB5gQ#8EZAq@<80K+ThTUhR@e*a+g5+l5Gk8)^I@;{v2N5V)CtIf4HDBr!}N0 zDWTd!cyQ8-sSuCTT*DNWVu6=~7F)NtWeBlE zIQj`d=^OEVIG{`m_~XwoDC*~;`t$!EX=fExN4GRuLLh7)xI+l;?(Xiv-9vB)9y}1- zU4y&Z#@#iz1b26LxXt;`fA4q3IB)lf2L?@d@7k+ZSJj;5$BgriE=ONYf%^AcATJ;D z!sOTDA~YKCg}SY{(%rM!b^6fVQ@U?H#%&xPSabskmjqM1Lk%i3y6+kN^{LGl19VbS zFh+5I<^b%>fcnl|RN(j#5c{*pzY@piso3JoBmEpS zmNJ-D9V~z>hAB=+g$!ZmaYh>PIYaN&j~Hv2=7aVW1`- znpZJ{k{B0!QRnQapcwHy$?u|{IyyQsug}I#l6P47=%Klh`athSYywv!qrIyCzEe^y zHo){Hr)Ps>71$O2EE8)JMi5KiP|z}&bi>M~mwLszv$uPT!9PmK_(~6yjM(P)_a&k_ z8ZVj!-hKa}UQHM^yYhVVvkz!i0yo%%kU+$Cpd}KZK4BUlCej2_2-Un5ji4aMSy$Sy zNPe{w{*-7W*36q_BJ0~Q%eVt|^FdDuo-P0GB1MKu@<)-Rg37dRA(72C{QTh-a!I|& ziJ3f)QP%Pq_;+Qx6Vsmj=IhJ0rx?JB&S0b?(2M+Ye-d~&UoU_A>q~i>Z91 z^}W9j)B`t({jijQsdbtOnH)~jus8efr`|#6AQ~gRTh`=$<(W|aUD59Ob$0eWOCG>; z-kJk};;HYg&i^?5aN+``oJbVb+1crMy25vHeNE==?R^2v`q=WgOJWUy7srqbK|!;7bZiwtE8#J$bCoxPf_eP zONDxT$o)Y7&=+6|-{9h+Hr;OgRUpK-?-6=G2vGwBa()x5V?h#CGD4OIL0tS?L2-rW z^K&)r&9tH~fsRC@5{Xz#N2OwodL4~CrBZ+5I!{U``L4dCJ^&MU@cUtko4jxptbsDckPWtYd`To$;UonG!6YrZVCJSa>m{E zN~1kBBG78*r_5|G=lSED!X3yTx*en+jF{|Nzye{u(_f~xSY zP>f!Lw>s10>fDh|SpiVhIiuX7lN&Iiba#PBF(3guR~|!uq-yHv;whcQRC#NY^&uR& z;h9jtBb=7FEmm^{qQbIVU=Km=M15J2SxHP?I__M}Pl)zMx}Qc_W_=9G`dMea~Ka(gCDD>NZJKk(KUBV51VFt3CtQI}U^Hb`pviTej1vcAXq+1^6 z%5`NjydH{r7}d*lSnanYfeIS#b{d_wg^dEGII} z6?vbn|1O*3@?`3tmS5fK)1dK{$X7V!P)(Tze}B0_D+XRim|+`fEO6o>P|erVyTq*K zieZme>$UX?91^=J9d>Ag^|Ytp+`xtlS8m$;#B9j0GM;R`9LvI#l7U zbrer&us+iE`c3qOni%!Ww=auuvz{hQ0OdIqZx?x2I)^ z1S&;-=G$^pdUDY0;`F%t{??<%yX$(nqX-P}iP?D4ZIerCEG4KEj;PT&Emqm={xHbC z6Gt94(CGx!ZiQd+z?r&B;B)a>g)}ekh{I3q2hj zzHvMXdMJ)GzBi}KavU}-N!Ix1>lCa;afUaepRwbT#YL~m)TjeTY|X~brBvtk(oq-0 zDp)ghttP;q@wqD%gq@l0*iHVV{IR*aGV4B(pXz)U+x8sNmd-f3C!0nTHUX5IiNRsz z&id<6$&9$V-wN2n(v__=;|LQXQ2PK+IEbY$HI7EzhTHMT!`IWy<>0>bw}35X_{;Ys ztC!&l3dOM%TeD{A_`|{H69SfR9|0Cr-01rGc2&96O{ze}UbCwZdVNmcJC9nmICqF3 zvgVikm>-kQokki~n;N4Cw4v;AHq87~PWW_0PR*u1r*{PFl-WWl#yvb5VwtFf#6(i0 zK<+$C!LU)(P)(u@=rZEdf(3h7H!TK31A^u%M^Yl5 zUXN1&;Xo}fY0oUD#yNm7o9MdDzAC6l7CW52Mj6lic=;3^JNVNPrJ-!DW=ZqCra1<# zQ{Y3GbbyP%h@xQvTr$vtqFSz_i66K^1MCyURd#PCSqw!7ygk;4eMyM9@|`Ds9qmtu zTl6y(^&@#79K_2gnwbS1S=<*psZNQk;zVdYav!mPo?%$`sg6#wf48@jHY z;+c5S5UcSQ*b0E+pHfxk260la%vnyV+l6m2Ti|DYW%ED6J$y_MRum0Y1G(p#m&?#Z(XUo2agv zz@cL+e-A1b{}!OileeMGMk%2vU@~QeLx3+)fElv(nWAf}aj6|u=yNh3rM4jAkbVgv zQ8wP_u!^jlQiT<#0+BXg(_>1fs3#b9fGt(`qi$7>WhNI&a)8S-+RtF z9Wo%lGr%GB_~!Mn&a(hy&G3vClta}%uqaMl_TSuJnwobvv4Ks7 zz0p0cf%$PZjOw(iO&{Z_brar7+`3KIU`I+IPZs#?`6jgK^r804LhY2nH(js>vTBjV z=T?ioM*^i_)VyiqD>D&m*-~EDizKf!et+b&qpe_LKPC)#YN3CW_rWuC=H_18 z+mr!6y^EMlid-^YR4Tt1 zhDLd^JF_l-gjc@JN_)IL9Xxifa3)ny*p#d%lTOIa>K0HrG!~0w2P2#;RfVgSX;7aQ z0rtSyL=gLzau4YHFdSYh(QL2yETT>egCt;Bkn~h3FiLtHOclEy)Szz29bk%iGUaoM zm2Gk!!0$Kw_;@VT{WX(SrvJcIe`C>jA?|d4yz|*_S7yCStVk{G!RY9@ zm!sD?)ptcU{Yv2aQH*EBiddR@rFT|z%#^J1H-~9{Z#j3{Z10YsLxdihl)yEoy>-8xcPT~%F-BC#ZZ2>F;2!h0AD~+U!`c)zjqvEa4$ZDR!_TcA&G>wJv|>MYjTKJ`c!K;? zfMx)Ve0P%tKCf8k`lbjhxzJ>M*yBB_M|r#_Eco3&q!%{xbL{+tKvj_>P`OSAdWghh zIx~$0gZD|`$&41^)d0LtzmEm|N5sfC$Xh`6erCkwAX2P-%Kfw@`R}^;V`906vFHNu z9o>hR5Q4cmCDTg^7(bP6tcJooMY#Vd?#W9pR6ToK>kK|`zrLu{eT%43Imiv0s>BbSC+L+hA)a;ajd+qVt zIEXsc{|uF3w5YUVKG%4KPT24*2>xPXV!E2~t71JaI2D_oHx>7!#7nAt%gA;)45X}y zRQ3)#ZQDR;AI#<;Ih~A$L|yc%0Ioz?_43vq=?YJ)KT_^$*MA{Je=rRm#FKSQhLb#6 zx|b=ki~W}0?6}-U*VQ~%q$uP)q0}#m_G9Bg%7p_NIC6Iv~gm+3vv0V_`{P;9EsXb`F6MGnJX}> zQ=jR{lWZq=?S>U{5(iko`KF>y)UZ=#5pabZ|4y#0NZa>b+l>Wc1kvxF&Ak@KR}$D}Z8 zpi0XnL<%sT(#1Dv`PP(GltpfQG!qo$Gap(eL>60{Y%JqcOv_=pWg={m`7#u#1=ZBR zTt`!7QU|$Gv1aSS-Q9>EAL7;Zsvr|zdSBaGr7b}53FlvK7*YdU?0-yo3bin5V`HF5 ziKQe)Az9~rP8dfn_gWUjj&2{#-bgb=ruCQ-#rXzvWV`jt9;{rA>bjGDlrMHBQ9oHy zI>fyvRT3BTxI25NNfKrT!(d@XaTuz(0{ITwf7YSBxUt7eA{aNqNjxgUqH8x}i2TgX z3m6^6qA#JnC?TpOSytT_%T)Kd!lgB?t>8QVzgwY5I5;@Wi-X*WzKonnh%RBI>{wff z%E=ng>NROS$*1CWGM-E!?a%&6wU`g^o-4)`H>+)xWew}~53u|Dm^1yLF_D7+o+>ak z)w;aR(1?eeGBJA>y=rxtj{x}Ya026O(c;h1bUw1F)*o&mI_bSK zaAk&iMXmi`6@>j1&GASv?*C?s7E_yX8)!oKODl3K_CbbfQ4C2#o{qt0&I zX#JodgMF!rl~R^HYAC4IoTeiLl}GB6 zo9CfdAIC_4D?uz5x%)7o{M%KYYEzIqk(~~=D3%@+pjxAbPpw$YDz?;0!{+pZLAdUe zUzSV;N86Jqh8;4O3UW9j(PBDAO$N~AD(PaL{qEv3;U>x@3zNpXSxKyV?4Mn?SVL#yY9}loo3Q+bBrEM z;~}ZHCJGw`o@BYm;-wVZ96@?xlwmAHfPf)V63JOuEm^>uKb~5ZI_p6G*g=z^4>0;q zxU70oC?Ez?ME_*wBK>hGws2Oy{vHBp7MJ7@4Q#0u?1?V&*tRG>ahp?kp3A=FRBHzg!+f9G;!RNd1!pNzxYcV?GTWeM!(k2Vax1)-3cvWE#OM>`n zEjtUJ|NPOY-K%0vhCYVqB)4JDaMAqL4Yi@z5d(ct^esj&?XbY<> zEQ#@auT9Mq;3ivQu(sHJqfBj8>T2b%p%4&HtIh&wST@GLxEZKB@a=yWN5Fw+`4 z;Q!#~;lVs1@399BRs2{BJeh;+N9={Wi`kCFc$EETp`n_M3$Pe;kGpXRCg5K+$YdQ5 zdT&eMZJ4CVTl79IqdWHvj!l`?M}(;S!G)?#jS*oJbf6%Q)D zYGd^c0#0`|iJxqRU(;cSeOzY>BrjmlX6I({$Z_RhNkC?4RSd(yYG9bT1OXm~%)3I) zd5>nY3gvQp*YGAtBAq$!M%r#Dh6}EZCw`#zyx&zki9xu6n!Z%W@#;CkA%n!ij3Re{92h!Mmd94R+}K`a>eR zfGadfa#jZTz8QY}5g}+?f!tNx_58K3^!{6Z!H?5cfg}8L>&g)61llr0g4hCtLp2hQ z_kw4Lk9G^T2Ymj6o;~D7oDZn}=NsdZ#Q$*RP_wRDp_EdtgISX& zyhEoWPp5^e0Fi`mp!744>+=C}uD&4d2g?o0`Kh{HNxU=LgVl;=s}Ej@c+d4V0yX>p?TBQNGgARN#&Cs|fu7JGi0iIjL(K$a z4Vk{*-9gtpy8m7CDV|>#W7)x#+xR;fNavKGlwc}w$WteF?I9^ z5nHAIY79= z^H*-bm-z}>IauRP@!rCHmG{Z&2O3&>dM**{2(Q{FkilMJ$l5ZiTv`q*AzcO43zba? zDGr4r$-C&>(@pjU!j~NrHQ(q-hB}aY)$h}&O~%`tPA`g={8T#tgn8tIs->h@jk4UU z)VK?$95aN|U4O%iTD>~z?gM*Iheo|2k807kPqz@ULf00pU(9k%x(fT*I%}oMZKHC3 z+>%t#843O*NaJ%)@OnCzfP;mN7H9-A*At2QUPVt&F<PEg z15(9>44>}Kr?dUnh05Z%nmtHAHNBb{5emk9eWs9{y-W~{ zK`kdHgPqqnAMu`9qR^aAW^ut(LdIz>CK{Q-a7;HRewql71P2V=tw5(&s9Zq7SvX+ zR(92tkij0lDU@Xsupk|-eU+!<6mF)liV>R;C{);fR8@8nXuJ->WP4Jz>4pL?&el(R z=F~SnIXvJAzb_`fKCWyK zEx4?QX~Ki(ao@s}xKbv^?ZY7+vf`blR?JS<5UkJA8wm4Ch+<@(`j0{ z{1h?2)|NI_u8XMkz5@S~&F2@-0?beO?un<9o0SsiRM{ca{6>tsDxy3hMRDedz!G~$ zPaK1nyS!l&S0c=BUBg~RDC7yV zK`>8|Yk^Qg;HeD1`QV}sQ4|85-LW(bMKQ4+o^^GA{tc?`X{z0_0BW<-*Fwiu9k+YmiF~peioD}C(baRu+$m~4Gn7Zo&M4+9-lr%P zk{FO<+-X;Cuh99`^`&JVteC`Tl>d3c&9JK|=%$VP$JHljxOQVpBZm2!>4;YAj=5@} zF}W=sNcq;uoziTlck#Jdn8fgBgMf3j7A>w6=Wr|wf zy8Egk4}=^*$TvRp+Gggj=w4oG_;JNUsv)a1X0wbPT%M%EW@d-nf+(~}NVbre=Z2Ot ze0`h&qRR>@hugn%Az%}31l|}v%|s2|6cZnsy_(m$#EUv!7K`XLFcMN9r0~nk9EfZ2 z$qAB`cKNBHSmw&hV52~{h9*JOi@ogAJ+Wj+e3S5W`b2Kr!Ef>@s18nFzO@HfL;E0B z#h^lcG$uy|@nN5)g$77RqhXMVr|Mo1+Aqj(Z>@3G<$brTqcuNPX~U78#R z4d{c$*ZACTax*gtvs}-zvc*E-2uiJnT=%MZTlXlBAB=LWN*w1xRNQ6JniqTDJ6^(A zf~Y91Q2g?3&Q#$`RPo8e;16D8livBYv>9hQs?{$9$K%5p`fYj@uzAwWYMmeO?$-yW z5r!QM_ZnG0!lk*I15iNMCCT?-viWw~deDcdFDJrZN4LGp)l1ezPRlslho+G%3?XUK z#I!=F1jfKx-6++j3rQr_aSW&2^UkZv3cu-NDS4YqXz-=pwgztmC1e+rFsAwB0cuSp6Ru*_qH33N-L*6@t z_DePWncF$Xu>8dam$JOSg1YX5>E@3SU>`|Of{!)4!QYBJ^FFR0X4SG|&>8w=To<=< zB&k(30fCkFvdDWdUKOgj?5$Rj-PZbX`xN2%CqF(#3^;n&Fcu@h{Qe?Q$^Wr*Vg8 zia#rS+3eyNM~j|FI{Q(5zt2mr&OTJBl%tAAyA;KKx2PvA@?j)ynvZCephM9A;HwBS z2KpsI?}*SRM$Lp40q>`inCMu`{Y8w0=bkj2ZSlIz+M7=5pNp602Cy19waQh{MBSMEPkzc|5)8$2u?2urCt65WKo!soRWp5poaDvKH1gh6Jgvb+;>c^O=|I7sVg~ z{Hu~L;2->$4I_-aH#Chk*Trapa#7#eKK8a|`62a;sZDq#5uX9w`8z#?RIr6PQ&GSB;~1_qh;~jb@}5m1vm2P70mS#SXAqZJx_fiB~Dh4D0;j{_|@KJW=;g~ zPsuzdrztVtF~d>jMssU{?ycw|r0g0$6i>nnO3}!|O>sY_=wS2t{Y&o>?k9Pd(WM0K z1mZ>uKsVR~8F0GZJ_S+V$CW9xh1?QhT6Y3_}DgL())*wy?s67beFgh#y9Et;7 zB)NSkk1r303_}?L?dELDb--gM0*56a)5MRE!ua{2F13{_1X0OI(D=#uPfkeUv&YW5$yQo5M2bUQ199 zBDSL<{SDYjRlqEMAbUsx!XP$cbGMco|LDJg>2-hJy@#2&t7v1frk}8uSOAoyEgpn! zTkNt(eu}BgL`2@Be)JkfgYN66CI^vU3cnDctdY4018@=p*(udW9hsB56J9f>N_g2% z@Gy5pT=K_6VY?Mej*`ZC_=$AZgf7?~)HeN0~Nu}v*mui7~A*wC! z{MOp+^tCSJ?|Y=8>y}Z+S9_>V`?u@%+5JKG80CaPd~KbO>%=?Zbv${Gm8Xm^_p*C_F*P5o~^z}p_V zFZYLdvQdE*5+1v3{#3_Jsb)=~us_@o{c>Uvuu>^m#8dAeZn@?7{1$GXW8C^Gyf`3- z{kLPuV?e823n7nVtZ6f zuzc<8FOv_4v(Sp@0g+sgt#_kC)-WYS&eKGI&yP9K_EIbO6Lt5q5Tua&P#Ph;Q>>DB z1raL%sCC}GXv_9i>qp$vu^JrnZ9O79d~D6Hg#Z`?Tv5-5s|n2gru3Lwba_#pOWQy7 zpa}$&?JvnJ+JObKzxdE-f!Y-@dfb*t3DN+A2nA@BQNObVXz7YS_ zzSXr=R=Gpdn%+~#8K<+Ifpqj#sJxmvtv%JvA+#Mu74H!cl$Y#{&s`=URxozmwK2_7MLC|>IkZe&*f=jqn6s~9pAla}Mqk^Alr<=iHMNN)rX~|=zS2`o zGqGhTM!fgoXjSE4~_;O&?R>pE{2n_bBwiyi>$XI$snbY)mM1UBT zq`FeAT)$o1I)x*1d>px!lc|f-=#DUjXK{_^>fSGy^(?LPpsKE%b28v22kaKU0RBEm zy>6SaY?Mgo*B^;rg-wJ3ll!g9?A%Wd?)sx!>|all$=W}u`JH-T8>)fkAeS~`*OFjD zX5q&|3;>T_n3TWTDT>jT)v8bIQC*CzMilLU_Cz9|)MnO3Jq)tgYSVr8V_*!wsWF_lYOB^Aa%z2l;0~nZWEBqZUm*dWOes#Jqn26DTUqgw-@JS)p z?nmn-jZ(?GjA?3By%-dHK*jvkj9L^2t*^T$)6vcZdeJu)hYeTcLz(kdMTpABe-n?V{!1`w}`y zc(Z978Q{5wN3Uwo08pO>7o9C%Y7`o-uYqg)YPl4b%r3F*s_YfxRa?+Ft~{1nM*bNZ z$2N!fqS!LH`^y~gDryG7^*Q=bF`Dpv`6q82SC1%XTeLyGyRkP&7k#sXT`5Y4r6iH_ z@sj(rONbkPdL;Ri++CxA%Ae$s99v~QJpg?~jYBRPVXW`c>hHiO%4$?T)$%e`{i zkw{aPTA4o6f_{?~R}P^kPz+;D|Kz9WDX!^yiGzlYCe^(czrOFW;OA!PG4d; zy@RJ&Y2fo+i#?L_+cWt0;;$!vZSnFfi8+KC|}@$izUs043^ zcN)K#4TU(iBCIRHc_#bN40$B`lXjC40-M>isIpPp0g$~1pXMedq^d zVrFMsTRqL%1}IFa{zlgt$Jrx`wXiOU=57IA_b81dSmCcOCsw6-KLsEsVaejLmz5iP z__mWZ;?>WZf58YyZI?Ngv~kB0&UjZnSyr@>3lgu z+@)Ir(a>69b0!>yMqS#O)ii>_K69y%kxDn_<&kxPLVwTkv{REO-fD1*(*4>&QRC4% zCU$;1Y6N>BLY*A+tTZs4G_H3RWIP|^qjYHDR$6QQs?!Lff1l7ZVYNTd zYT38Ouxj)H@=N+o$IY=h%z^HZcCCN|@A)n;Y|SxD=j~qHk1SnG*WXe4ic(3TA#|oL zFyOe)-nj*L^0AjX3#i%ct1^V3(zeZL(PzsVR%l$j`DC|B(0 zNGXLzLNHOizZz+1B+vHsWp$%DkcL6(_N!>m;c#=w!Q&_|v0kh9pGJ}Nk7l!EuhnVx zl{7aN_-vlgkKD#FV4{|5#$>Tjn7|9Q|QkRx? zL|ql&NdN@4g|eCk(w|U1fi!AuE~&5gX6B0Xl`Y9*HI$sD&UdlCjs1xJmAgr1EfrT- z-oW3P9dii;AFX)QP(e`Tf+&YG#%hdjq}~JuJ^y;&pV+SVU4^u^ZQLSmren4`xOwr z{e0*Ax>8J)K-bQs0af~93H|5k+Vp-g01*8=mj4Sc{gzWl6M7g?=cDNc^;H9GkZ#eH zf7~%Q7nu_L^`^qfYx!WSdx9kJ$SZ=<)2#bIn}uUe+zJ2Yg%bC9&~#{huv&Cf`i@YD zAMZ8%kGZ5QOu>q}urUGYx6|u5o&uYRV)=l9qnGWAaT*yt*`=R?MDx0rYsyUU)Rh5k$1u%;R*d{3&Uj+#q{QI#l1eVuB`iVV5kYyK-MAcM6~19fC)Np zm5|zqx2ow+p%R4Dqq~2*L&Wn&buM zK%of!cDq;dHUaR*nSn%e?R^8KodQuI)JYKpU_Gl-94_4D^Y83}x@);Z2=Lb}P|6z~ zx`JbTmM(+z4S|JC%36VKrz6L^P=5IdL9N9)Ap01lHO55Nk52{;%@S@7dV~|oZ7Ew) zr{WS{e#E?`q)ik2%c%GfZD!=YI^-#;%c7I+er1u7r`1KugD2<|hr`xoD2Ait&TBwu z#p|Xq-oM?u8;(>RkIFTTPy5 z@bRoO(CGttF^yWW#nj(eOOL_jNE#iqDTli2Wm~u3EQ^T@`uXL$&8TNTw@_jUdqc6X zCc0{r0S>3=`+8TkPNX-z2(|z)fn}j#;s+-7`gZ&4%i~uziJA8*HX`~^Ko7ph-;MWk zm{m7+mcvy#fhd51)MI*Mlbz_8ctEV?+aF3|Vqs_h+-BgOCLp<*KGa?R4HX{#A!CMP zxPwn9+h%otwC+Bn=Gd6N0s^gwW{r9JI=~+rF{Rapxf=D_Jt)OJ6ZE>g)6N3f1oJ_Jq`n2<`#7RqJ66-BOT(2Ib_zLl(5 zKySOi$*Bf~=9|EzmIS?xKB43(Ha*?rCt!mn5_C%e4T(ZbeSnXGKO=HSEz-PaDCX{c zz9DArToIP#{rYk>tIgoS7I%@W)d#EWV1{G7nLY^W2@?ICbjBACh(ZL4kOjepqMxt6 zj}g{}o(vZ1$`m_nIHO5)M7wxzl-VPQ3wlFYdEOqb)@1cs&XrHRO-j8vUPS-=Ssnl> zh%WislZ)6lI-wGQS<50nqZ*eMM<314`6 zw4z+oh8&h?$BIikd^#i&RXB;kShE0|NT(kYn|`Y!yEB;v46(w8t&6(i)_1f|cB!LY zpQt>Vl3qu%?pIG-$0<@l%pa6n2yeh-yS(~F;txahE1IW({(F&85V zsXFJ2M^&fvyu~3oDX|@=~cNCkE%xjdrJifVDH zk1?3SE+015Wdn8Odb_yHNzeh}3=*{PzFl-*ki|Y03p*^Jgd7V3$-r5abL7%-1R&6JIZ!bL=;AFmcbONfk0yl_R(L#Nt?*u}sEBZdELr0?e&T zZwdM*(jF%^+K7jqp4x_zhE7Vr&T>i*9sq+jss8hEjyMW)<$2+<$|MaohmO(?KT#Nh zpuyCa0EM5L@T}EWKeQm|4nP@6VIY}=AKwuO-l+=-R!U=x5X;IcV`-{XLay^+T_mkF zAf3B4*Qr zPL|6MeV0pmNBu&Fjm;X)sN2;~4;%v>v?hYNlbWRKCzuLaZHMgQ<)#}5Z=OIWp2X^b zztob%Byf=mh`yAkyaMp;Wt5+dME1XoAkP%HE+3^EK0$>zGTcA4IG#r0$v%V5ngy=) zyQiH$m_IMu4qpQhCA_pwzX?i*)mVI`WYZ&~I5}~@;5iBs3pujH9rwnVoS&gW-Vi}z zFFzg9$NcZ-#Me+ysON!+(6a1?n9%QBFNP1K{4XDJx&E*#S?jdoP_gn&9PmN^p*o>5 zyF|E+U2pT%3Am5DGcE(`(xPFQJ@yc4=^28SaqV;}g z-Wjy(+XqNG>^52Kx3!=E4r*;GNK+zdnu_4M$Y_msK*b+|oWy_}CY;y2{;ha5zz2T$23G$UPCeK1jkG@; z9-|oh4?WDk{`994@Jp@!fZKoZ<^Mj~zkfuP15Sjbat476-v4qwvv0x#e7u$a#?3d0 z1KfO5+mpw|e>oow2>?a^|F}pgHg^C*|8ElD3_cmQ-H!Kic%ZK%Q9et{JsIvFF1`;- zCbujPaD>8`jBTW|%SVm*{sYPPaSV8K`MP!H7;Wrp{a{`8L?#(Dq~=5T?946nFV>s_ z$yYEwO1>1J%2Ush+%8so;9Ta9F;4%NiWq+9t2%u^B%L z5-@Yu!1mb^h0wA#tKaM;NKnY$+^-t<5b(4ZciyDf&sYwH+rCD@m3;9e->qG5`@fa| zz+~_p3iwzfG82URmm2Wofc(gIKW9MH8~1JEOhJ%UWoVNmjOE`fhyG61N)#^q?pMDZ zpgWPD?aviAupt=Q-HqQn*ZEJOGU4`{^w$3G;t~s(9YDF2d%87TKZ3Ho5rN*h0W$|Y zooJNr&`{aN8A^Ap*iwW{pI1vis}M7?Sa$2KZ=7NO^Ykiz0tN*5%myVC*?V~%FUmg; ze%n;r=sOw-qZz z1#euw$C=bf;#6vF$TyIkkcAk;LLZ(>c5VfUY{@X7?a)&2@Bj0UAQns!17ZnYe?ew0 zWBgB$S&=L3z_wiaiIwj`S7K=34g@5VodVUBbKJ*}*#5cDke#tDK^hOxe?+sO(wjG- zD9WjN8A$3n@?TY1k+rwihy6VG8tcJHvK9j(j5)YIqvWdFc$X}OuBwpui2^C)9~a?s z1$b`7v04u7&K33t{9(}XZo{5LzaVc_7#l)OGD8kfxT!-qU3?!CjQ6b$1~Zn*DGbl0 zj)nifLnytOK6KBtbX#tcY=R|Yf_!lam5{zuB4f2k@{;PJ2qyG>iDv%b72YTYwPpm( ze7L~>A0|EslC?L*1%5Z(U_=P&{XwR#=t4bNZQ+TIJ?Thx zM`uuj^mm@1@vjY~OPS3Pfw_@FrvI>-57cwW7zoGQ9RPjrz#xTC0dQ#WICB7?<4GMD z)F@Ly+?WoNI(xrH{!ejB<$K`h&OhU)RpSQ=)4N=%GS75n&FwIZ)~Poo_YbqwU&|v* zE6+^AP};&iF{xJ2j2{2<($_fO?pwe7ElITa``igt;+&>`3555&I+Y8B)cci#lR~a= z3BzgsdAERFMIf+f#C5NfnnE=PqjT-U1+|3o>qWpk1qBCZiNWuT4{gg(aoz#UpI120 z@T{2L;z~tX2*qYOk+J~xjQ4o9#|>Wxa?|_YG?KLH44-kEykFCoY;G+iF0QVWZVmH9 z2bF*UGJ)bIe}lq2gthCfh(CEB?HM+C@x`6^1uDNlzEf#()TCC;r@cOz%7DY9wsNM0 zyTT2eyo;rX+@IT525d<09WQ#An!M=ZLSR1)sTYdsHr-@?2v4C@o!LH0p7MX)(K8QN zEIc1(b)9_O^W&_Oj!)cc%_8`c(Ez}y* z0Gwmw)69| z)T*FMcEsO6Ht<{p};SPt)1y8?ZX40N{gt6<>IpQNMBzZK+RdFBG14B4x2 z5~}b@w1u3{?CwPIbn2Z}r#-LX1;P5>M8oY5-OtFu z5Vk$$9cTJK?Y(tW)Zh0nEQpAtqI4Owlyrx5cegOq5Yo~mAW}*|Hq-rUeZf$=c+bLbgG4jC6ZB_J>jM(kme8uK{wbebK z2A=Fgcl%knJ9pfd$Exn;<|_!yIA;3F0C1j0IQMC@)@QalpS&Q94`!vNOe~xcoikK< zY#UTAL}u_LcNaF@B0oE6oQFbUH4+y#s-#KnV_ zZK*Afaz;ybg~eRvW1@5+pV#M;l}a?i_aiz*h|8kHfs-Qh1IkeSx;&6PA^vj>v_;Jd z-$%!0Bi^rHzmDqy^VsGTKQ$|i7Zws2OKHE*2w&l{qK2g6Q3+;2Q@LfBDcp|dcMF7W zD&6j_)vA4|%5d|2sZkEMq@+~;Dh@LvT1vO#BzC~-xF*l_x$Z>Vp>-;f=|Z&2tx)MLxl(luiuw~4@e_E+to=fr^B!4)sK2mn%{NznVT)dvbbNxFc`o3|$4qG^9Ab zKsj@iDAPwlJy`Y;+MG3T3VVXlVl^r%$8{%!of(4^%`xM2jPd1Uf)Hr%eoA9GYtVvE;f$_6vKF5abR$w zp`9ltw~q}d>i6262JtO6Uq2~&Sv{M2eR(xZr0}HbnH+KR!J7Q6_rYC{7cY7}?|)S! zyS06oR$D&X5DQ#FX8{Xw>r@r&i6o(cCMEiDje{~i^ca_&~9&qMf4JPNVQ2ntp>wsC?Zf}Vq@vXG zyDi)NkllTQgeX^Y^50bJgMX>k%v{WYTT}V$fh~d94-cWE1YmQaV73po+-pj?)FEF~ z8x5W`(FQJb7;kml38H!s1w~rk&k^!!7n@bgpq<3PY8E4qBT86h3l;M121>IR-VwJN zcNha19tM99(YV8Gx^^+%%=rx*Gl zP>1TX05{WPe!m&p3HnnsvC7-Y_ZAXgcW`RH4U!&KHF-}Yq0OM30F(p$%&lk*AF`9X zJ6eHDCiPw~<7SpB>creoY^YM&t%M%>mm`ytp@9y>54)b-LqUe8 zSc8e_**V$NGnj7!+bvG&SWh{=O&(nAZ(J8FX0-cynEFQU7WK;vmFqGUf!{GP9%9g= zGBVzONJYQD@f~x&n$X4lhQW<{dEra1AHFU`yOGC8KPq9fgog2kvh5^;w^M=kLEm$_ z|jz|A!+1-x=YZoCs&J;sz50IOYi)UjAU5oVd;CuvXSQ@@jh3)Rz|aC}K4R`B%L$NsGFM zigDi`_&AjD_aBk2oY4SFcN8L*LvShSt&55%6$@>deLk)Bw>kApAINuxL<&VMPJOd8 zdB>4E<2d;o+!)r$S2F0T&*AF9T=kCV#TYKM)}|Z6CTS@??R?)$jZC^jr|KCEq6xVs zA!^8CP1kOB+QnqN^|@Yzw*+2ZEGtWw>pttdy>a3U^@Vm@Yn4~dQz0|ndTsiB^hgGW zY(e`r`}_lf(t5~^h4p__VYl;nwX>YOGh^6coOxkmNIGZClU2{8e;g_OIUpdwqB?UG zecB4-EdAO(Q~803AeB(L7+zv)H=e zC#f`qjQthb=$qLxYGEbQin zgs!KZ?%!csp!?|fk0iH6v#iiCh{L-ZMcu0&o48CVSjvC?>e#itS$boEr~wq>5^zMN zb>TUr@P;Q~VoX_>)>>l)w8pSC%kuV!YKRLd zM$t2y#3@ue*c(M8}U&V-MoxMU_4Mp%RVyp?=^aq+fd)8YP zQp&)qG3#^p&GOf=+wo@Vf_+HX2w`J_ANhQ(XuV)%;u7!;82eK9yY0*{#ND|xWVHbv z$UNgM#fh?fa>uphPt+HF&W&0hlzzS8H57edDD6yZ3t}?s(%;O%6p9EaXurJ!trc-f zGxMV>!l_`}%h?Wt=Dd7Lj`lOp*EO@n@)PDC^T-%8z>a+MT;kO@NB1EO|D(`^ zfI{o<3a(5xEyj@xXV9t=1kx}*%>BegA^1WRC@IY#3Nvj?fP4h52dv!g17GADPLpFXf$1Pq=Su0?&+pRviHBW>k*`wY4@#9Lq zw1@NecF>dvCHF}M8K(|y3*TpCTHqS5=R?IP+B|ueuG`kc&Tc~efd&J7|JbcdE^E?YyPHME&L_WX^D^yjtCv^(1-F*HQRzXGARC#(ZkkBu^v)F%} z2~YM+<#J${Wzu&Y@)}GRGTa~)`jD2x@oI+CyrI@+TFPa_lUcJ^D?VJn(56kmS0UvG ztH<}PH4@>0#0rxe5#qVSnrCIV9I`=s#Z>c%f*#MojFg{qUMtj8{;u3%iJtW168j@Z z$H>8#yg(}X?ffirtcSB@$~xbUaQr}%C2NqWc1PhrxYe5tj5n^^={Ko76!dDXnEAo$ zLll0!`HEzUWWIX!-GiLRN8f7(0<0$2afw^^V0m)BI$P;3?JbsdIb37*wR_md4mQj6 z#sj4!o3G70-dK-`ym@?Lu%5*VTPzRii%G};1xn(OGW;2`E;`W;9q)Zg_qq_){uM<8 zlGv=|rM#8Qw*=bfXc3eIi(lTYa`@JM9q?|JUSY@7c3GXnW_Q*wBTR%#E*OTRV|zlo zjd>b2+)if7eWW=MQEsNNn15t9N*{4vGs8=kT%R5nf(13+Ge(Q>B!eE$2-_sB9h!Nu zxVz5gakpIxGT2y`=QS{FZ|DOR9f8naN5vGu<>6wMccYTyMiNaLtH_p`M%??oQUjjd zyKllIbvk8VRwGWypFlg`8IF^^z zDsU4a|9<8whmepVp*Op6ehXJ0Q_wpw4u4=pILmpecQu=rU@n-V>HJ$m4<$E=BK*wM z^xJ3`=_L17nLB8=*EByohjQ3qn?k53)osaDFTsz>0YtjVvF=_gbn+@GD_?PPf3#qe zi+yh48$O99f*eShzw#EmxL(tGbg;(K;whSlJz}53PpH~M%`b;M=AwSGRcKYod6b?U zH9e$kXd#h^pUj06T6Cfs3K~!B?WJ$b)~0IQI8Gfr6oH#nv>s=-{8+ndp>1RcHncQv zy?Ea~kkpguRQ3Vc%#$%8`dCPl+9VjgmpI@NCr`+UQYC%CkK0cFztMFvOdYyGdookKN z54{qt2$IesL-FuptBxki1C}wIz20x)ya1}01of}1wc16GoGJ2aJwbHfkK!u0GFxm7qTBeUYcSX|Soz74G^;z!!AOg1Z z-A+P{Lwf0Y}qYtsn% z<@CIGEZVVDmWEd`&^ySk+r1mXVKkhy(z&3@g<6NjYaxY$i^+!Q%3=>DYX^G;72f{W z?%o#dz_`tJyexv&6HzqLk}}>D0rIJ3$;lKJh8|Ly4h~sdbs+%ry@MxVcGp4SME< zunOJraJ>e!KOJiW4Yb8Tie`-6sr$mzN$@pjMQt>2Igq4w#VIzo>9tTODjGIrUYi4Z z-YX}u(Ng>1XLfiz(!Zwt_77m*cR9C8gi<_?=A)_k;$y7Gb4v`KXfW!v8>ru=??de= z6A2{e%V2EUw`#0pA8j$Z5i85uH!LyvYv&0Vr3b7B>WobSQ5i-5;-#SGeo(qjwNfjmgbzZmuH&WRr?(3 zx}c`uz@LO2OXHluNK_yK5Vx}NY`-tB>Y6m+MU*V>$JLpy?}r7<_Q6SCjVpsz zx5ef+4WQiAE|D`P>N!)EU&pK07;p7P-r-w-K3*}fG~)jLRpu=P&UM>|eb};s$t(qB z3QC?93FhYJmhPOB;$m6!H#kem-kYkZ_{WQ3$5m@B2vmDlYA_8;C`uktHW2;l-z4!G zN{(R+Ea;ck{`A-5*ilfs)%KrykpDK1mrByXf`Tg5Oby)icJ(nm2+*3mwcu^uKRW>M zo4+CO*i9CIgs(nU>AxIE1lGLcPbcH|M>FtvJtmj(YQv&gakp->B~%mjBY(ct?+-WN z@dS;m(A9?hMHztQ$^>GK>-lYk{_$h*0aGL&XJTktP5q8(O= z)O)|X`q@RE0x;Zhttym%3tlM?L^Uk3D}VPVmwXMyjKS-jAnsp+|L+d;Bx<)|vs+)4 zSr0WkyIOWm4vnDTR5`brG6NB>>q;ECkf#Q4yM3Pb(Y9K<@0r^9M?uOf{n3bb)cJ3X zNK?hr$S3e->RsU6VqU0CM!lEP^u?kFojEgVKDj8ty{O0;u4tk`(Z`u z>66}9475GhM|pw>xT;-}tS0&$NpIgi=(ip3ph#Z0_-zR&S@X|eXp|B$zdqK~Cj+!hS`OYK$GfK?{!djl;ZqXYP%UAr=Q9aJ~uTsvM^oe3lAzVgUUxk*IX z2|X;LQ_J;+Vidvd%aIz5DXh4J$NIBp#BPyK`f9kbPO|{#pW||c=;n3lVlA^@rH@~c=HnI; z=1}J_M-FDr|6o0V){xJ>rGGykNb@j12G-J0XTVmN=TV+Uw6GS_WVWS+I9qo^SV9(e z->EO?K4UGTE8A?4K^;I_XqmE{1cb}Udv?Vt*b>mk_&a`hd26)FOj@7Jx4fUTL+_*; z6Y*oirlwTFXtCRHTBE7u%fNaidUECz+kl<1J(+8T6@7ZY;U@hMz~vllrZMe2I( zjD5*kY4PIp(pTm@Q|jo>t5_w1zO=}Rn)q{JtuSY!6oDOah*NRxA3e@Eo7k(|@q$J{ z^5Ag+*?adS5p6!r27YII3tANXE^or_(h+vqHQxL^tHAu;Q|quqK^|@)LBJBr=QHbx za#eCt>)rQoJxDeQ*%z(0GjAA2K zYDl^nnFTo_${dD;It$lNU3zUTKb5?<-gA3GE1u%XBpGGTXAYvkOFF?jG*6P~)^r1h z1E57ZDK(qRg1T7K0D1!Z99GoZ2|8=xyVQ9k~QFR znltm1Qg1FJwdeww`mGHVv+oI=+emr&ygtRUJU93;rEYz$P|tj<7>8m25s}FEuQbGYxNatCnh89Hd}NibS~yKTX2XCo9jZfuw%u-FNSkYN{|^T zTTFM=x~rB?U7&1k-nrqN?Rn`tNxma%i);1{sXi0wdriZk%@p-!$iZZe>{XWhf&%%c zPXoP=mkWS2Ci%#jn3x#5`-VXg&@e@PHtvhge7p=!>Q%_kA!S}V_W&sbsc)l{W-BwS?6hQQ|*W|YSqSEBP$-*=35({K8#@C6-e%bF! zOa4{lQt2UB-@m>OlC=B?!zUo15f81TytgVZA@Q;dza4t4n;=s25r&ux z(HgZjICu)rjL%@06|7Zpx%E0QuEBR)p@j7d72D9^B(*GGifzjCG531;7aHHLKfZ)I z?Q;#9*$y`HcPc!TU8eF0afn-&v%xGw$R40#7eF#+j!8(M^*h}PO~$YW_ML^bV$G8N z7LOea(w#~(o-1SA#r(C#-|^drV0QZ{-W_jJ;uRgp(vnrC@aA#f_?Hh`2s12wYzI0D z$_=%p6Q6^R&k(0#ZrmC*_D{z7gSiB{VZZjv&v8 z*=(8@hBH}#VjwNP@ohdQ{jtiz)@?i2uX?tp@|SDJf`|)9mB7u{rW$L8GYy)xY>4EU zn?Alo*9&GSM|AKf_VmqPwDH3S{5*H0b$2#DSQ4k=*gYnSTuuR}^SQG$x(C$gm$ICx zR%qv>70flSSD+xfBgrHa$39(dVaaT!Puqq++`6hyD!ZtX_-rc*MRt>Qdq-oST=U)& z3c6QO;;?M+-EOxclc`p(dR-^UNzZS=MEyXmMuSwS`&F~?<8FW& z0b6lVd350_wM~(Rh@5AekV-$i(4@}Lk9^u&2DeoHHV!sL7niv12!$8Ww^I)dfYu~=AI1%?offPcq&VmYSETl<3hq z`*!T6a*EfgXN28GgG_O4;e&VaALbe$3Q`}Uo9F9EM8ezz*7x;{oiolqeFa-A@<5wj zHW@-RaYl4iz%H-2_Utn1#avFa!F{YI_rN!z8e8*afIW7hx>sssw9=S^LA$I4E$$ZE ziH%#S-Nb@kh3^Gug7j!BQ$D>J(uz}I&lvxmQGR9X9!K+X#rP-{=@RbczN&X(7~YN^ z!T(JWaL^UhT`9WzV(FT>Q#Y?p^;fz})8Sg>W>{-D08p-S9g*FV`@K!R-|C~8;$m;n z4S5Vt(RL%w8-bFML5RB(b8c1W9*Pb&kJ{TZ&uov-BeZA)+9zm@r%%El{$}=EuXj@f zRcu^~k&bMSIpnnjcObSY%`-@yAqpA>6WAUfYwNDs4n|c~)iw|v%zKm9{ffJP26%XA z-uP@A6A*cH98&5gLNgPSEWiTG>*(mb6}CSv;?zBIYOy^r&sq8+RsW1;{~1fs<1#7N zH!JIAQ@G3Bo0)bo@vO}8W1&io6pxJ`KV|X$suosgD0}WcjqP0ejY~0aXUC(WbE)v_ z$8xi3$7BAZPQ6)GxVB3~4GgK>=3EAG30<@;jRIdf=>)?*%sq8fu4_)dHau`FbVyu+ zmb+$8HC0s5X6*|@&L!Aj4tiW;eDuv0R%vbue8Z;_a8qn-me@&a9dwDkYu6s4$V!N5 z)NKNBNNO7ITZ&K0>HL~{b+*O~M+;RSHO?pK%S|9Z z8C_X?a(VuCD9D^>VMh4`CP(pNJxFoO{sdTZg5q--itS+;5Y*h1fG;Y@$UFy|Rb2$U zFXOVk60iP%69N%i8nAcvF=-WR$Yy6}=K{AYj6%TLw=gk}!B{)H9+>7JP+v7@z#IsU zoDP4Oj;y()^Ses)w5wf-c0{udZ`fiHhhL~#plO$`b z^p)ran76f`C}V8XU;PEBQ3Ij2GA~GA|+Pa;3~rUt3P^4U_|qlK-=_x3I6|Npm(dwk#ro?Tjot^N_}y=gG_zBypKqd zEvZ)rNm#*i>}V}_F|aY-WU-I?iJ{;d(5m!@#J}y`ey>*L{l=ZZiQxBCi-rLiAf|kH zVoU;q7hXaC$X#n%UZ#AD=lW=v)LCNY8WOKyuW{om->~0k3W@zQ2Xbw|DBWrAbb0LD z;Otioq>dP)(4Lu?_{Y_-^MS+%lGc<+pg(jjtm{GpMO87awDfBxlgIszJ@~oQm2{Ig zOH0>m>(65&%840Wi$nEE06r<Un3*x2;ifH?~dDYimFdcs*gYh4*J4^G7tN2 z$Tq}RJ>X{gK=i&0lP1gWi%cE+cRD3dF97X1mz}FVsE-Zr{SeWeRL|#sV_CGK#}7ojs!p*NPxgS{MmZRr9?elhO)` zzuw5-7*OWpLsu*9Hsf;{_UYr&i~=>p%8>R*Kcm_|pr))e<7>9P>rKGJG~I@0TU(*W9<-OT6yMP3~;$@dEW0ekC+_1-i8G56j8 z*0uBq(b+R*z6#V;-%lAawLsUPntp9_2LO80Wx2jRe{C(^ndCIiRQ#Z8g3|tXI{&^& zCZO>?2}3FD>@{-*c68K2$OsAD*g$|ZcMnaj#=o4-6P5yF;H4MU>ygwM`0z%N6}p*f zDgMuD3TTf4zK%Dux9O$aCkCdKO~1j_t>@`qBPZl@KxF7^zuC;!g%+ zT-09AdGc$puc6KWqwTqvu&Bu}?&+Fh2!pIXD}E`jgOQvdSjDSSjHWi~B4}2vtFBQK zVLHD3+%5gecU**EH{ zBS58GB$p{Eos_Dii>l{dzl`NqLBM(r-~F`b)H7K407y1W06*VZ&hd2)J+y4l&yiVYpoej}X#b_YP8BSwiMpRz`bEu{7mJ3bgsm?BG9#*0s<$DWuK zvsAnjd-TWhWzAh$-@^@;>Qr;EVw2u@Q~0-cGs=f=fv}>+qUAA_&tbsY1VntFW-b25 zk7~6tPuH+;FtzsX$|IkOCaH%xjLneqBD(J0fU}eI6GFc#l_)9^i@J(7i>#L~U-CyU zCrU-KzB!?M0kg}rr>4tH$eZyQ1Uq)R>DdN9x0}9#$u&#$C}nh#7(%a zcp8)ltl5O-Yy(%#_vt&dJy;ztPcZh=WxeHfAai}-o#enc`%=h*(fR6)DE0KrO$CoJ z()OdA~Qi$@l2I`Nh$T^PBlNWPa24-oMBO=iHe$Km9=(vfA~o%s zxJL=@jX0RS%)G{bF426;sj&IbwrdB)Tdg~=v(?**GB9>K01 z_HdEqDUckP7+3gwYos&(?q^hE(GEc`UQi?b$Q9SOIT&XF)%PU#Im#UFA7B+W+i(9d zy2`${E?e!oY7xD|c`cp$?E3Qf8D_nio97CLm1rj1c`0%)`mVrT{OJjmq{xUtj%u?D zYmTTY@mRUw#yICcw(Jx@=tsJVs=ve6jH`z&-Fn~g;NFJHSdYls92-r~nzt%tD6oso z0qJ?UXWvyxPCh!*sxM5O()9>4-ozt+zM*$Izc_@A)I3AiiT%-FNld0k(tSd8+Pvf4 zlel_w|E)v&c|V$xU1@~D8M-4rkg=T7uCYydH=6x^VhxY57c}j~%fglE1`!YH5*BKf z@$_ses@H?8jJKA*Sz^>Q-*F(DFX;+T3y4OKz!T)`M&QEztE3`RMtAy4%x9*Ov!kN2 zhh41~2h4{`mt$gLY~B3Yc#S4>NyOn!1D{qw-wH0AH=1e(K(x)tF5h2z@9aH`%^M3+ zjnA16{oMWveXP8T%fw|3eys*zM8w3T+0N8ks6wprw^k3=!d{avPAns8PH2>B>egA} zh76lz5l-`iRHVL;>U@6L81(Yy0}A)4nG)r6W}Sg9=oE8HaYXo^{rt5eFt$?1J2=FU z6RX$;y_mOeO@V|z`3kITas25z3%~n5c32f^!$#tPi$H>N=VX;Vp2+ih2`Q=mN_}Zr z<`S}Ea9@9ajAh1gs6u5Er_IRM<<4lL#*FV<)01wy%ZSfRSlI+NUr&$y&L7{oLy*45 zdS($eC3vVe7OYkCY_`IH^~sZ}g$8g3ug|_T?cFATi;(ABP-j_j;Ty?mJz>zMTdjj` zI0;`HCV2(^T8dIji1YPAVBV*(MVhsyOr%y|F};3v1)JXCtbKC6EAe7pu-w=QJt8O+ zH!;!ZEE?_R%~U}9HXV}*1kXuoeXHiYtjFqF^(o59W;})YHa2PHi(Mm$`Sds^lWR_^ zzgZqVpRpam-aopB+PyP^)ca+sJNy9u*Up=05x|-n8p{0!aPK({a1zuN&7cz=O-nah zaf9!Hs}m=1Tn^6fQcm+4uKoZ>FAENHWkHHuL^?=XBEK4gr{bLkC0w%?XU7BEYwFRd zn+H<|m4fFVYZjWp9Szo#MzLpO_DMK4+D~+)aL()21+A)cNeg*O^`QptJ%$H;vBRfh z-f*f!BbXky!#UJe*?ZNnaleTy9iX@=rSY;58GkXT6{vEv{7j?JpCBZF2nTl*B1T-v z>O2Go&JL#RySZ%AV`nmGuUE9bS8eSn;K|Sn1LyCylI-Ma17|5$>cBVuP8i;+05 zt;Sjc)*!Udk*(Jye*Kivg>bF#eq5Xr>!;8k~2DSf^o>|c&MJvZQeku4ANn85NIl%8i#Gwl(b$P2i0 zA*Y?(l%W;Nz`W~KxcQ`?&j?h1B&91vNf=Tno@S+xY|iKJPsyy8v0bkTC^u_Ij-|R8 zjMaxST?o&p29szPklDvVPWezG&7P(fe=hE0O?68KlcSjF=rpWNBnqjQQhrkSx;a@V zhr~+huO?U>Y&?EcCnYJXDEnk4N>r`~yx+dEcBnuxxk%49`OPYb($C|RjNSH7rl-i> zP%YEroS@Neclt76Q%<5uq0PUrRX`ppDBQXQlUo?{G~Q@K+I}t5wOwEF8tF=uS>;}z zs?Mh5VV=W9?S2~Q$p0%q_*wwCt=w(I04Iw=naAaasI0u=o|P^Lyc}ety&o^I(Pm7_ zZM)_uxQOd;9V`98UesiW{(vI+kS?fvGNot$9EQ`{k?LlZugOs!%)n2!l5rgoJHd?qoDxL8gvLnoVX(JDCCp1x4P9=NAF)Wp|pY!qYi?_ zxY*d7v1bN6OHz+h1=L(lyfIObM@x>(zXcTeDIgXgpk0*G&~~O@s|~H1BXor?r5K5v z$>f?fr=&P>I@zVI{IsTjz(UdW1Z?RFhIXvl6Egt?3V6VKH_jX9UPh6*3?>xItHMfV z@7L2N`OMVj7%6}(rPS%(j=0Tf2bTF)^$=*MjICi1)3t3iEn(;Bxfp&Jai0OVEgs}p z*AQA*==XS(qvR;1jQMr!MTrj$XJZiWStKVXZx6*?q-@1B<%8@c>GqPJESg#J%uEgS zIZ&aP`93B8P0WxBxm={1edYcmBh=~4nn67T1MM}0Nyc9jNJeig`01Rj@^OgGpxG#k z93{1w-YC&)(!-h=PCBb{=2n(&-mOs&C9JkvC9D}BLNTi!qL8p$gT>62zFWv87Xel#@Yx7cBCvjMHSL%2{1&A2bUn%3BK&U4jUn2t#mH%Ht=4`)x`GQ=hwd*gb z3oPWyme_9LF`Jn|ElWn9ST&tzB`6d5n9+9fdBM&mao|QYq~Qu<>(YPp;_W&W`NYqX zeOud!@s}R^`?p^bCJv?QHuz{lqYGp;f=$9+V=%ZtZ{ktDfs|;=MQ5}+8^V9g^-(wG zipwMFS>MB2ZKi4Y;DbfLR-UNfwP@$OF*e-FR6pye+-5f#rtKn_P6%bQ&hLXzQ?JFh z2{rd-2sNkwBT1-IgR|<%g43E#cH?lIyJa8XR`G5wA4?hvCvk{38I5=HC5%S-t8Q+6 zcUJB{)UGC~+Wb@%`Uuh|6%V)q zP0Ok?X@?FZ2hpL>^Hp@5gj)_ud%Okr1)?%!Vsm7d@eQ9ykanjTMpxg5JN;o{`1}1F z1z}DdSk@D2UKJZ{999=-6o?$Sc9nq#r%`gky+LLL9(~tP=lldDKc92t3_2TLRcM8# z)Wp|=vHCeSLFamj&u5=czSqc$a#lu9wtrz>) znezkMm8jhhMi-0E$6xY{RC|7o-d-Cs6S7c-{^Yw(P#VHj;5;t(aGtp&zinucvUr*X z0RFw(n+bg_jU3SZG>^=F&~#1W`^v{Auz5*N8F#c^{-dFwXhB+Ly;{O_h}&Y6i1}E4 zWIm2anZB6?>6!NyVqUa%{gUzPxuQlRQhKP=WIV$$Ig(<{GvSGT#sk@%tN`@Ry{k&F zw|1GTH{Pe*?Gw?8GyJ`|to$(h`)u^c{~CGJ{C6zQBQ9CE<*C*C#3Q$880cR4(s&<< z`9i5S(f?5nCqC0U9i?&l(Sd+mr-)x-{gJZg zF}G=^2!Gmh?(75PR0jf;7Y5?$X_G;0E@fiUKU_z;{9=^}EuuqR%EaL!*pF zM3|Tinsm%2Y1{V7fud4_E{-tdkz!lUB5*vRRcT;*6IrH!^vOSqsGA0ppM-?wGTeq6`o)r5EPAd%w2kA4GJHO)^_PIlRwGIe zL=N3ab`I6cHD7oibgMVh4W|o-mua3A`#$;B=mGGpS zbU>z}C9u&^tB;`aT==0^X;pX;0I3vfxmBScx?)b)t@(c0&94sufGp4y4v!dQiUlbQ z^CI^mirgTH?iYpA zEP%9A7UNLmYb|8sSs-L1o6t}yC|T9#mEz}L121~#k_~v<+v|fh-GC_Sl3q$PIj zoBP!)!gKj6&u+^Md~ytDhyf|yF<@rbSb;O?W0!qR`1SQ`sBHjJz8k-mxp&_5NLDGW zAHaE0)N-7XNZ?CIeKjFe$%k1;f&&WKw?HtBugW5m^0`cf`e2^+PYaR&d3(tW3~f2x zmX1l2>*EBEY64I!L78zm14f*A0CJp4EQ(y2z|gDKK!?QIs3Nd0H*wA~d;L!n8G!g1 zv~`<()d|nORG-9A)8?f%b(YPeXO|^YyAo<*qSDBU*1Qe{(7o8Qd9zxHe?Zkzkq|bb z=dzyBwFJL?>_Pxb7R$5cb;yJi9@&GJ0~AWIG82G>o&Pu!{mp5c-E}t2LkUs%z0cQF zo3%0(hS(11&0MRZAPEsgcL-Kuz0??fO(#ILyabN7ykzPFyV6f$=PN&_EBoDnXUBfG zsuxa|)$HM4VMQLxj?+$tW?mw%&naRH{a`@W2t~759SpZ&J`RnvD$#dMU-^b_dq$S` zCvy>J4`BVzJlp@*8JvDNK=2^)Vz@`yLgss)3!fdxX_TXe`q3kS<{ShiCaNSumaZKR zZcrd_6ye{p~XO0np=aB9EBB?+oEsVA6@(TTO2kDKoEUm*4_KPD_khU^W&>K?4G+;(PwMF&+q&* z^FJIe|1cr~TUJRa;WD=wcmvBE;4CimaWyyCBG_+XVEk~nr5E};AM!Jm_mvi)XfA1$ zK%PARDvD@yEY6RR-X&FJCr<@|2Y&F01AD)+5GPB21KiX$AphXuCUE7Wj)o-l0ogh zb(dDACyL@sJ0Rij{2s=OODYMuh;Pea8sFH|^R+KkmvqeN)S5r$`X`Lv;djaR8Uh%x zMm~F*J9Gci`i?75ng2~&{IW?uZvW8jNJ>hg2MXpV#?mRLr0#D_>t80!fm=xN@$nzN zd-o2Xn0RUAzT1Dy+F>X#R#HAKfY@OyMO8MR8D-_nUX8LFWx7N(pMdSPelm1OD zT-^C#-I0`*##CcDoN##f0#RuiG^s9fwmX)sEB$vC5-@L=fT#+}%8BoTZVmtyzM!$v zl9GL&-igz&uqXj)m*;zSjDP3Ow@k)b%wNL%qb{O==qv^eDgZCV@)Z|bnt*#baQ(OV zpM=jp3Ern@z~8k2Rp!}!j$Jz0fD7mw*Xt(bFm6GAr$YYGIu(@68xcTehAD^8Ft*Bh zacDt6Ak)$+0r86!(5wmV=>#2q+WARVC|1q-eD8OODX1Dbiu^{xY@-AXxV*0JE zEqp@41z*d$|9IC^z5l`wpkZc)3cdg+S0JDOoNuHk@;|;Jc$qq<^4V3@tu_yvqyXwl zFjlnglTNEnYkc`zD!Gu$bpINnM$w{5El=)}I|g6}@jy{L0C-pFdy^G^RX|`O>@O{a zJ*4_CQZ>eXmG3~NNdENk9LnFXGJAQNq&r^k4_FTTe*iu!kR<Mp3lmf6` zo^sghzwANW3t)T0zrggk_SYbG@Bow4=9s7T*VC+zfD4mwsNH-0Z|!fp+^HfTLmvL_ z?DGFqoOe1hS&$kN1`4J>&Oaf6ql0s&zX^S zB_v^)#+tgl-QAf8uh}y)h=S)iC7TopCbc9lvGGNzdQFimnWg5@y6vSyVIc?Xl1-9s z@|Kv1e~^b~m81zZ6f9*9Q2<_01qOE{JVY)=q}2ENslm3}_o1UjUoPGeq9~Z7m$3Q# zV%*SKw=8fC1>2A10VE@Ua#;>R0^c9 zRYKIrKLIE)axpGwpg=2DbzXtcI^XxCq=tC+kB_?&lVcdz*g+G29v}S%A0LCtxIv&G zz}{~pgso7s=9fSM3%E!1A%;rUYHA2<@HRREAj%E_8QucG4|4c{fPj=7iGT*b62cGJ z0>pn)0nh@Zf431{J~2w^$S5hnuR2z45Qww8E!3lDgP{ekYQ|32(8EwoRm2MF#AWds zY6;=;adLSQK>+)Rz?)7G4+~l!Cr4*@5g#%7zZ@d)_ER^Ip7t+`hl3csp_(SG4Ac!m zE5HTf0?~_O($dm`-CkRZXv@m~OB{YDMsMrk;UWSAdV70wdGm5X-E4r|!otEp5D$=t zhZD}h>F(?7Vd2B+?9T9yl7H)wg}7U}*|~VwL7i!z^jcU#Jw3$e>7NGr&+i{QAwG8h z9m(1KU(1wZwQXxjNe9AC=XIluD3M-3Qd6=8YO^L*vx0OKENUIt)z%F0 z^176``*nGE)WOMUg)AG6KqrZgk0>7zoTX)_GD?W}x5EW_*jGn^78xBN-HlE_yX_P% z&ya=zkPgPD-Bt^LpWze+*-4DK7zt{epzcOr=@AXpbZXM8}~^;sr~+u zmisr(`!XA;@yh2B>-{6?gxIniA6YBW zkWZADj(kPtQ+cBzziwU7YIUH0EO}$h!vBa)q`#6@L?;XtPCc>KP#QxX8cpXLP464P zm!kY8%h(?2_PhjVy?Z1*vW|R278!fVyQD}JD_vM|ZG%6)WyDqGPy}V8kCmmLoLk}G zx6*5sfFh-jsRWY>D>xV!Av0A5VF?L%?LMc{pD~qO-Ij$xYm|cOX_M_u?*ofTnEoYo z+qBiWBwDDEpm9-AB=vd;w*z1z@+rKotr>@YWj^BTWgh0?tJ!Uu1SKoXX;|pR(z|!q zq`cPHFdFUF}f;-nlE;&2Age ztaB4WMTuFe5CXfZ`ox#nuw}5bzKb*7m5C5wGZ7URm4GN>>HAjQ2a$L70h_8UVEl&Z zgCP#y#)fe0ac3Clbq}G?Gg4&1-s5x7;N0U)1`9m{?=$^liT-^%i4mka|LbByZW<&K zXyn;PfOntydL@5*o|O2C)R(C;O#eOlme6-U0sP;_6CFTxP{Hd0FJf`Gqn%kwT$+Wl zZZ0bcu#vz6`q5#w8}(eIdfnb#1dRE9*`%AN5A|}>6*^JtLpf!+Q6wiE0x&4>D-&qH zkK*#QxcTmzm{qYet@*1(3(5SkbEO5Fa-`T<8)JX5+!WQXFBhwB&&TswqY?Vow|{r8&bHP^&wXxS9`N5nuuKq0EaP{Wm0alz0Mz=@ z1?)>kZG9^%Q2Dj!wnx9F8Jf2z@*}Xk$>ca|tdd)S#m&TnM%}hDxCG&{p!BB;|}mNvE%L6jimmKw)<2l%*0tINa zxb7qz5#+e>b>3IFD8!RlzUowX0>q9Mr)M+frcK!ID8xu70dymVLDI0f53g{K=c@3Q z9W|d3QVvsU(BuJ2B-$1IQS&`L!=mrjKz$Be*ks(~54Y!d*A@eoTu5E*r5cuD(SJZL z!-_j+c0gw&ZXIdKjJ(k3?TP&J%Xd_#!l`VK!Jmr-NmyXN^uq!L+})wu-j}4}ZzwMg zCD3uH=CM+S5>^LFKItj11YI6rtm4^e7DzZ8yUgG3JD0zjF+Ff^eTuK2#6j;)Is@+x z&+7g(hpjg3_&FVbHQ-^U$08(@*`QmlDMeCs>3^RRFK%~{O#Jb5Pr3 zmf6$YG2LY!6*RuT2s#2Qb}vcuB#`m?X5D>@0WTjF<6`m@QJ1mx1Mj_4&JP#-4C$!$ z^O{}AChpGX$+&ARHkf!6hO#XwZ%}c_Ms5tZ^%OHICH9t@mWC{U6f$&bR>+v9yBY0w z-gO?ZCy=#+M{j3s>JKayRcfZTWvdo;|~Y<0L2eTk!LNFG_RWM z8PZ?2_%H%Dyw8d%4Epy+8$sM^Mn)wUf9%XA)_EQ;L^(%g zslxqKGt`g+P8X{EfG?{A4v99+Mcn7x$As`T|$^ZkH$%dUt(&u=mL%n12a1oR{626jud5ldyMtQXM8b+Q~g*?u4tl=;AdU+qzj}fmx~jwFC#Q zxD{c3Hi5*QU%n_~N#)K(;T^f>$vgIQYMwu@re$Lzbm1#kr3qNn5>|3+*ZX-%4~)mI z$F+DPZ(vk!{@D$BdX~m!5aKqwH9y>ioly4veRp5U;Y2~3gR!mHc%l*8? zSLUs;zCI*eN+ATF8RlL4eDkQ%@$A?c0e2_XNbZy1#-yct%eIv_Rp4nWA$fUumXptX z4s?SQf}UFzl;2beMTIrEX`1cm*IQoqI7UM>a(m{&`dMR{gx$1CRe0sZN~Tjx)U)%B zawYT#SXXC0__A|PG~PskIU1`&v7G`Qj}DC-3%^A+avKzsnWA7&_y3*;Al?1ag=+ zFE{Q%O+UD%GTl@iwldk>-E|~Ucxdi>z4_(l)ys5ZJ)jZO&zJ2M?rWnLrs5=k6J~>{ ziIGtVmc@2$PLIu+o9*nn%%vd&Nvy4jgv5~7kRoZcBkge7=S70qt|KP8XxV4q8YPbE z51)xVmP5n(kv)iJXK!l9O55YgbL-S%{w$vJnK;QYHGKaplFpTThZN!NyK7hbnG)u9 z-QU5Ehh;XqHHsk>;ovonsf6;Ds6QPV{$QPU_dv|PzX)PWPf8kW_8DQf8@ZnPK`WEz zLXjz%{``l*|EUyFMqTVCJ2Bz?(k!4(4i>#`gM%Y)jh)*vRXBy~o*tAMN z!8)Og2F+=nUR~pg2K_RhKj3G4znUU#npJhS``pQ#I#i{bGn}D?YXtJkZ6oYG{@qaa z5cz|*EbO?l#D$*)8>B(CRdTGJBY<;qJ}$TtTw4pg*qw?}ld(G!*|XPCWuF|ryPkP0 z==}-p`ScJ_@Waou@D-zI3mH5ali|FxKS_;iJsKKheb25iiSeQ$E59bQA&%(<*x;x- z3eVToPgE4btvSkZY`z+6bFxH{y>rsjaq_aZ6XeyaYdb107z4~ZO?uz`sGi#j_Q@tQ zrbzorR=Cchn`K`|K|FQ5*vV>*f?~YI08kk_$dUR2GM6+k^3*#tZo{?dxp5L$Dmbao z>eF&^?WcC4)$qGK04&N!%(ZJuIqmKk#u|_iUFRD*6$CkxKBJ<9(M~?HnPm?6h`4JD zk?eOnvS`eO-4EC*y5Qp#ZxAaQ1(o;JsVFOl@A2ESm`7(?26aD#61j0o;-iJQiNwYb zKBXhF zjnexpminV)^7*13h+POe{^*RVmC6;X_I0Rj?X1$TGcL->q3D|1a2IeIhHSBx`wVSX zut>(fIqr+y%y8inLOzn0>nm~+y&;Nf&s;uSIN7a~9@z3>Ar>hJK*-hMPpqjs3 zGL!wxEKVrmLzu&XHTZnO^(5<0BccO*Kk3^>iaMPMT=WcyebeH@51sWu>8zYN@bxF5 z7%=Pf!97~WATE=Ab8#?q?%(+b^}g0Le5NY>1V!rp8;k1q8GV!1)n|a5j3}p^*@l6} z<9VV!F?1Z9kmHQo?vV|Jndb@zX;<@TC@3NM`82EiKwV9vzzZdX2juYBI9rBKeV)Q- zF|8K|Q~4|Y4L^#we+7s+AsW=%1;S^}Hm z6s6YcV)EhSs-D5$fY8)+2t#||ZCY@(Nq1q`-RkPYl4Ft!-fDi#nM~`&G}E&(?#YnH zkG`CgqHhxSKibR*To*_&lM3eQ4e>yt^`gzm2o*@4gi|UGtXVPSt~V~{%)# z3l-x}{V4j5&jMXSNH#*3TQr6Jr-is_e3{fwQ{|Z3*TKEgwCT@Yo8SD2(un3kez|aq z#O1gV+DMC3n}4~(INB}O?QK6ta9-a1um(#AH?g>0_+ z!#;42^~BDhDz!5K>+O63G8kXS0-ytb^;4aY6QsPzS>GMF1CI8h=%@~%c>A_(1c>-O z5T_&d;T^E3JO|oPM{Jkjn#ALG&NO?h<)2a(v}=|8HCB$uDHqI?kCWpE$>{D z3SfzG;i4jup<>e;y)skg*Yn`IM$v6<&?Ezlo+~IQAUYqzeW`YF>&a#|S*cyZru(Vt zLyVf0$XDpbWu0;wd&6N&<&-oz)}FA8GJIRh8vNx%BmOS9*=ae_Ua#uh$$AvxV&?T_ ziqCeXJosnnCh~q?dMK5By;C7%Y_q0$Sg((yp{TfMzG>{0Kby>OpI6t0InqHC&TXJL zY2wgL?gII?Lxfv)&8cg`JdrZb&!(LMuWF>LFoRE3{d1OlBbpgC8e*={AP*0sE+D^J zLdBGnxLUWd!OGC1{QDPWl4{I0#6MTXeLMw{Y88w~Nsg?jAsQ7zvmW0EM;~(%^E+er z$vWQrUjJ!cWl)Rzvl$x2rdMfOtzuGY3TqbW8BC81s)|=vM6>Z@kHg9soGo3i0pb?Y zTbhN)Y<+wa(Cn@CQ+t^em+V2VoK9A-s#^(u;fJ8qN^&$b7eI8)nnLS87!%F zWr70Pq~C1c>Mo%Di**f#N`^eVx8jIB3sK&j3 z!&*8raEz&;p*Eh_r{;18XilxLxXYPZnI_O)xp$jLXP!k;HWU2T1|Opb*?x1jm7s@XX~PtV zOl$3@VlQSK$CLxp944HdPllFFd}Wl;yalgjCu<-94?mh99k@qD6S!@D6!>WE&xs3> z6xs^^M8m;2S|~bc$N8X^(T|VTukf@qBl{os7=2*w7fEiWfg8N-+ufA;B_|h3h+y9{ zp)Sh{?IW3t*1FfG@;FP)hw)1mRF~wg;rhBIub3L}$ z@k4AU*(h@f2}GginbOCPF8VKd>#df8skYx|72>;32HGl=RYn-H>dB##3M0x(oDJq; z=|9iT2^r#DTWhYt$t{3m4~9)X@oz^?c3uD{lwjLo3wq|}E6(^M@yE$!sj088XB{wC z%bVmGv0R{YsWdHY6UChO%%UOGW%`=pf#SzA7}8J_b|T+PK7dFo|2Eo(cpBd5^TK7H z6OLpqvVb@Ky<0C__dkB8x(`87F zwArkEbKYx&^Llj5&U>qdiUQX>AhYgRN_sP2`i@ zN^PvA$lS-rubqZ~t8JDTd|r0ADWyKWP|>D}9Z`El2_ZLInhPora%UDl4Yiy^c#KsP z+esYhB1Mza4|GnW=CJXuBh)LdrPaNySWNH&y`XfBRBU>+`Bruu2)gE`sH`5|DYi%q zGkqmbzSv5D%?lpvJDfBE`L+tqu?k!gkW{M-_Sb?fvbR+OZ+&&#;{15Xc6*ci1SUf5$Tp8C3M2h8mLB3-j3#5=P5kxpty)7t{K|Mf zib?D5;GVvr?pA*GwRy8BIc~J8;}BvMl3=4K^*VC(<90}>tr3|PW)?VRB;h6;m%&kxy!@K)S^}#saPJfp#68E zHy+Lt3MB`hJX-uuDUDlCfbIw4AkSOXuT#ILmL2V-Z*5P1etyd^VL#*0y&AZbg@h9> z;IxG7dENNN6HVv_S|Cj>?=j+Xe9sEx^`7;Brww8|v&9K-vBBWa-YX$4oWnHwTt@Gc zy8`wnz;U@AxW9fut^uvb!g`U1UH8~(IgLa&LuwZYcoQ$dfs4l=V{j1aE#8-ho;KeN z5siF42&&=BdZ%ET*nw%(Pd_xA0Lo9B#U%JOKY|z*`<1}YttV0b_@2AO03b4bh zpw110xOz;%hP=q>l~y25N80$tay@$jmYKD6NkqX{c6E(+q>Hf{OXgHNElJ5Krsb)J z-SPu_EI^*=w2b6S+I8_y_EYhq&YKE0X0@gP(eHF&^7d1g3|ht=c;t0D>&LOD)M9t1 zE^W_$_gH-=6~_tJVSU2(3nY+LEjQy-+!y4b>FN6PmiqdiEmT!)%7hrGz;2k1his>H zClCWx(Y(C8@pCU<3OaTT0}o>z=J?3|ejAX(S83bL@7VN55k2!-VYDja9#R{F!=ayj(b< z>pkDf;C*DA2!FrP5WsihO&mZmjqe6l!im4ETDT5=Pmh$Pmu9yf_q&h<&y}sycV7g9 zbzYq1za?(S^*&tq0WN#E)M2UO(k`hK>u*4j@qObW0h<6O)pF%BvOy8X#>G{~-w7fPPvUuSK|#3<3$s$Ipcl$_KWqj0EfWg4pNjZ% zI};jt{J|oe0Yhkc7w`@hW#Rk%cLLC@DC!kPm-5s>d)w9C5XrpD71CFeTEkXNK<=gU z(V~T4!xB?V7`*@&`9qrYyiF8c9w4U)s0Ki(5EoIoviN=2C?@Ifmv zA_+IQwRdGGp|=ppkGA`fr~OSDVk2w?pz!Nno$@huqWH1N3hVx(U9R#=Ck)>tt%h`7 zn5B+*i^|qfu4a>A=Kk=r`G?CWyk0sckz@lBlJn>xZmJ5K{D%V!Is$7yzY`i*ZJFAz z(j&~Q#D6V675DyBbck?&$d1|1&#x}o4>36->{3RQkN`1Uk{UmeOjz!p+;nt457L-l zH(bVZrEYRM0t*uHIQUZAuni=*`N7cnrBRMO3C&l+c2e=Vzo_!2upg`8uZ8v!#EISk z_5uIGhpM^b5ma1ix-+WBZJzBLIHpAAzG`{Po6IykP(?&G?0wOX zlBJ?!P+yZ)B^d2FY(-}tYS51|CjQQkl|tMeX88R4-zn#fBVEdN?yaC?>J9v}lu|;< z01l-Qk2Z*Hea!WHAi6;jUwiwn*#vtatF8~|ZikvldWvFI7dJCwoF?Wa0fgd;VovJC zFSYn|D_-G*vp$0?lQ=Gma516U&$=Nx>^G-2G!DA5tp{F2i%dm{hbR8mGR|S_%*5rZvBCUq4^okosapf49I!BpkR?j^ZYQ-X(es zh6F1KL&GV{G*5_&uS-Sz*9bZVksbr9ooHHIGe>m1Htv1g$92P6C%@oyV{iTG}}|X5BVbj zC#nqkQ}JZQz6Nd)&W9mc~eizyzsv_qVoCRMI)tb{0DWe)4G*>BD0lZs-?$ zmc;Yt3+tD2*J|f`3D$JA5y|X_mq;xUiP8UP?sh@nfo$f&VA$N;+$Y}@ zXyB0mt5)RsD@l*|#&x-uD}@I#8Xd~|RJ?t%Qs~J_8ENU3$lgF`UxiBYKh;`f{1C*B zpU7n@w^zp#WvZ2WRj6ECT;Xj0*dR$qt66|D2Co+i`CW3%FDyuhq2hG+_7>smma_fz zHZ3ydW;=%XKmG|Rl9B|vFUu8+%=~qZMS?E;CL}qw`w`HZEc<=G Tg8l2$zZsO|)Maa=%|rhW=*(T? diff --git a/assets/array_expression.png b/assets/array_expression.png deleted file mode 100644 index 6f086d0589784f86a8a235e5746a59163b4fda30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12424 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 diff --git a/assets/array_type.png b/assets/array_type.png deleted file mode 100644 index 2d31e008a3cc7f92652d5ea0a72658c9bb1062e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8104 zcmZX31yEeg67J$2Y#}(yVj;mbxNC5i;4JPE7AHt>4H6uJySqEV-66QU2Yuwf_uYHz zy{YQyp6>p-XQt1onNuf3QC<=Ql?W980ANT>D?p0&0~($r8tkem{>a4a(~Ifu(x1 zSA|-pD^~fl7|htz1Y1=Q+%zj*dE4t3TE&PD6yKIZ-D@iMJl#s+^%+h5qtM89y9y(e zA4MC#lidUWN})nRlnhH8_6g~gX@$O$J+k;BMKL8-;o=y<#C1NOUfd7~#XUjZQqKwY zzZCDG1vm--2H=CM;T^qUdKds}#COVC6acZ@Rd?+y)sS6bYmh&TNQ-ue(=;>@$E?ty zdXR=Y2JT!OP*cE{PLBk*CoM3;J9h$MK2i4A;(XPF^&LeH_WuJ;2N*$)C{a=K-Z@bB zycyR+WeG>RgLw5OU2;8_P9g#0zu_#B!cQw0 zCZ9c%SdAl~&J$T?_!SzaF-x=|P${JA3Q!D{!cO~HCn@*G@l6T2fyfcfT42ABHL61n zl^~;f_Shi4q$9<*VuUnC#w{9AYxr|;79UvJxLTZ(T4@ulbS%MPp6JOUU3Obz|1cfQ z6j-|MLyhCe@kr3B8JCL4f?$*acCaMraSqnqc9UiyN>S<=f$%E(pU#5#i& z@S&XA zW@;nQ#}9mX%!5btedjS@C|Ev zdwD4xRmVJiSikq`4DVt-IE|?wPEvzpkIny@XVue-B>d#4%TFol9 za*I;_zTfp!^MW}tZmaFVH$dds%_ufr)%@8p$i#u#a}JvxlMB-o5O+#+ zy?Mx?a{Wg5hgticOeg@^k%WN2{P}0tHPTw5M8i{a+aAeUb(Aek$G*5{V2M;|cl=ve zPno@rG*k59uN?Nif1m(zEMyU3cmj+KVOA-m?*{SW_Gv>M?96DxNV%CL^hj16?iGaA zaLpYG27=~*ku`!lj8wR{ooe>PW$E%~Bv-!mndHJ)I3l71!7N5!=fR`FNE<=$l-N@A zvB5c%Nm6gX!oUG~6By;l60uoIofx7mvn?z~bZ-9|O0Jj(skaxXe|(MJ;c*C!DDpZ} z9RyWP5U>-b1@C04Oc*&+GyzM+iYNHZ`Q6d^gY?9C$9K({5SeYlL$r(-e~|ZeZd9Vv z6Mr{!s$eaFE$%z0pn+yE8Ix*q-H_34pr-~lci@pk{IpfL~=r5!C-3{y1kuO}dXC_i;@tn9Dc;e1u)gLkxa zuJ6igYimnuo@)Co!)kXeG%Qc21WLX1ANbWW4#c(GUfb|(?88n52F^FQG{1-{YhR}U&>lg`)77uoe4MM$&Nttv}n zluXR$m8_S!jXrT%(c}M?-mKT6_jMJgb;aH6D*fR5)$tYO6~aB*b^Sj1oX#n)rLogU4~&nGZ@Y6M`;uG*@~1|N=XxX*~Jp%;aYvzeQtdp!imFAlhNhW^X<{COS%ABwlbj4m-9w zKK(dOB0`eKqssf)fr{szdxzWBxn(ba$Bj26wJ4SGWA>=PsL^i3=rJWS<)fsOglbg7 ziHM6~Gq7>GY1tLh)Yp{Iz}e77V8O;}ycHUgFX8>=^2?Cx(#e-4-QQj{9w8pzA3k8x zVzx=f_v0xfo8|0&9+MbL)Em_kDVNjZY9U-TZfU=@y?)->JfyrVyxhO2Js-JRS@T#K z>tO1%3;Au~78@j)4TP8<7_fSErfHwIz$)v zYCksrdU)3W&2MKSMWSQ@+Ciuyt^opuyj4yM9`j6H%UvdhNZqRrupg_r8P+wSs!%Pc zPJp+VOwWC=M~r$5cT8;zztXA_TekL3lnIuJ4?oMDMjAYAG3w1~PWKkF6?znnV~u9} z`GQ?S<9j(Hg!{wEsx61pJ}!Nf{w&HDyxUhE+MZ&N!OXEfSJ_jEVqDxOAn&Y@8V`LR z62s1I;X1jrRj~#6Rj)##45TY9;tZnnYphfT*!YcyH#@Y(w2 zsMIN%Tgyp%S9?tNW4)8!bc^mK-R0%Zi{6HMRn^vrUk!pB+6exr&fQsa!Kvk^{oJa_ z!{12W?QYm@QY{5GmAe}*VSy(KM6)q#IT1KXA7`%T z(nbjJf;C>f~)(y*!uCKhXB2oAVMnU0m74w37<< z3bk%l6Iw4H8;6_I7wP9e(pYx zY9$pQ4LS|_E%*Z3?>r8A3>qWO}!$wH&_vCysg_LG+Got|UOUY&9m79<2 zeule`Ep+{CBe7lNh37Y0S^j12(RN2Mb$NvTspsZ(UM*MF?dp{vs z1JT7G+NUXjSOIl!$H(a_?w!lDuYO-)=oI=?yig4)vKAHqEsH1s22ubbU%gUa@tEIx z;ptrsJlGeM;<2#z=P;RXz6_2*<bBLENw%$YPN^LV?1!P?Xpf+IPAc3#m~rVK?FTQ@#lKXqOWrYGgW<-P{D_Yxcg zUTGFDBNU=3Z7L@Rc>gLR1K?qZ00^%V%qt1N5dTM(fO!Xi`$rE8 z00db8;Q#F-|H}Wi=vVrS`4@+a{RTjK9pStZG!yne-ocr0|B(e=Z2(~vQR%;vP%(Cd zKy01N?VJxI4{}}=DE3lXP5=Nt^OvoRsO4H0)zf>akkospw&!7Da&>iObY)|-b2MXO;pXOMVrFGxWo3BvU~qD? zbvA@D*g8@EE6D$iBL;CYcC@f}wy?7W{f%pAWar|{4+j5D^q=;xc|xET|IK9U^zUW8 zE|BT3g^7icndv{VU!i<|wLFRzP>8jbn1#*jp1tM};AG|d$Nm2^{5RqM05$&$WMSj{ zU*!K-{$He;6U0%}&gM0vv%r6=^>6V18vhOCWBR-B|JjIt?eag`*KHO+_|atcm!@yOh^HamL=#-kq4Eb7}m;h!$qFngE}J8dawKK&gV#R3npfth41niAolv^uio z;zJ?-8N}Ts5QmPuuzPJo=p&(!^TfeVwVMJ|ammow6>Eoa@rmlvDHuupdDY6sAmW#WmC*^f;^9M7f|ORITL#V=wyx;$KU9o7(P(yKj{A1N+zEZF4-A z2&HAccIzFocw~*1M(hVGa07yc;VIHpw$_j)vR+c1eRHKm#9_e5*pLPjA^2Yd1414i z%^S@?e0(qsjYL*H+-!V`dgY#Y;o>}2MAx?uh(SUsVY>9#iVimS-x2GPo?2S?fOvRx z0tVZI@dJZ{%6ltxh+@&)PCFf@)pU;}AMF8^m6fPowT&3pBb|Yk&)i@?jSsO@IaATG0@#LR2aL*fZ5=3XC$`$>dJY~`GQ%pH@%qN zT@l;5s{ybFeg9$o+K!`1Ga%215^pM26PN|gE>=}j>$K(!E2^qu1pyyy2g^c*+c8TFP}K;TjD{mY!%)O_G< zq^&xqffAJjp?GR=TwI*NW?#g{W-xAmTBMTp0=>FS5D~wgn;WAHlRl94%cd>AhzR;9 z_a(1r2ch`86*+12>pMR?RqUK}2;&UBQBTqtwFa*QxNHr z2ja$4-KC?qt)$L)f<7S3H!cJ}3dR|F4-lOww6nc0o~EkY@|l)zeUate0m z682G*&7&lhclU;ZW%2sLy|u;T``14b*hvcut1G_!As<`_Jpf<9##P8iI<+HUCV=RN z_S!3~#igXBv02&JTHiD&PEe(OumftcNETQf5RG%JhlHrU?B8;*G3f62?C$Ez81F(D zW3Tz|bU8g+#H)0h=s%f0*xo!Slh@Yrq+K1|KW%K_282Q8AjZ0a{i;jg61{49#X?ov z{_o||4(DCJrV{z??XP#sRI&@q za{2-%QSTl;=nJ$}A7POE*^k~bJGo>6Te!1om#C-m83ydH>Q*w*^TD?3GoEU&$EG&2 z7wm||3e0%16RTkd%*!V7)?un9#wOF0@+I_M4eiEqCCV7ro!)gF|JcZ;rAq1Pp+hB} zL+-MFyThbO|Km`bnpXmuf`>=qqVn*NUpd1mG7!lp;a=;88VDqdU07!2Kn89P2KG|_~VpcY3}`PZ?~{e`tEudlBD21p!Ge%%i}iq z-X>#vy>-S4!dZqbR*os;woOWaZfwH&(EdAUW?@L2R6KCAT{rrAEG;d3aPaV_?c9mo z`F(7?$Uz6LFTUew=UrfqXzJR;Oi;&@{(0c@_Knf@&9{- z9c!b#zQIJ#P{D0#ET)(%)=10_Atg|X^i)mO58y94Nt@4i1iFnf{aKYHUBbHINo+~6 z+6j?e@3;{P2^5nPLNaL*kbe{y42ZKw-&)j+bs&GsQkIdr5e-6zavvJz#9YOnt;UwWNBq(U}zEIcgob6+g>~_A3vw38_MvD zxY1hs3f+43K1-WdcY1El@W%__*~-!~wCb>ynTu=J9S=_sY+pcLE_fA#=V;w7t_fRu#FK%?6+_GmyC>!S$v*7rTG~sV8njo z;N#C?gDe2gP<-t502CIjtl`{+>ZJuy*!ik`YFEh!0%%8geGI_L%z<<;9h zNpya*q`!YG@+>>-G=V_Q%_PT|xVg0wlM|K$sI&_vDDJ4mqu=M^2zQf9eENiznx?C0 z-v&I&I!ltvxCcgh#&jPRS`ZQl8ph6s_hOrD?%ZOr8RsRuLFuWR#N0Blp3nYl*N?PR zakMQS>$Mf|LA|UiHZgIiP^ymby&qo%fP!f>?Gnkvvnq<$dFf^ax^p{af2_^z2M08_ zvkR)P$GjNB_fJ3?0V58~-nvp8ESSsTc{3mmobYF?g@k->^qlI$2=;j@ZxJxHhR0{r z1~2HV41jSS$;fi(PA(Rav37o*Y=O2Wm>jFlK08yno&?aQiw&+iKOUA+QPH%FLWUB` zJ1#UdE}C`{2|!k{oW2Yy$?qSvQz=OW5|G?GR9P`i3}(^NGQs0mP;@PCCBQF!A2gd| z(zDBoz{Vu$s7J6jpf`7JeQz(Po<9^PTjGuI!psL|Hn#3UKOEUG_gLC;8XB4bUMCnh zPb8T|TsV`7PvySb6tV7c!O9{sxm%9ZBqStmtpx>GQIRMc*Vr(^caKA(Vku}R=NeWz zNHQM|3{5Tl#@ zZf2>e!4`6`r)+LARIHfZgNN;Ip0GD3yqQx81fVv!C;JO$3S`xd*bG-#6&is)ae4XC zcTK7k>{GUO73IXq$wZCxY!3u}q7rDww^br-jOCVFZDfVftJ~LfzQDwptb=^hhO27d zFn>stXXR0R?|h}#hx(Z4I|cf?%TFs+lH8I~nSzUpi_`b5%{H{@Y53VRxcb2`A{TO} zwvx`nmwu??`ESkmgZv++8pHdY8SGtZ0@|b4Ysd2eKU-!3VlUh^wSE}+Hp?aA#;MGIzbB{H`^*%#BP$NPk9Qdvbz|Mow!6JJv5o!TUjFJPUHrjHVHw8!-+lGKUSgi)g?*hk8DW zO;1lVuNqZH19UVs*Qj*LT3TAf@c|n;U=cVa^)K;5{Cs?s&VPPmVKL)8>8{u}Ug4mk zwM#ChuY7dkA*aahUt2TNFIpJi-LQnfC2KEcoz(@VsO-wiRqJQKO6l-M`(&|UQutyi zp45$}@K|_$9QF3lo`jE)5o7#?=RRaMmdaQ#{AY@fs`XEuJ%buHT+hr1soJ0n9Y@AnTD58jL&a($J&;6F{Tel|V?XV|rvW zyuJ>Ou&i|2I_QCze+V1q)rt_HK0_`xX*7n zXk5$&1&+q<2*{7+u&ou%HZ)f6U0KsZ!((g3!w&^lp%`?{Uoy*1>Jk_ilGy*a{uoWD z==bK;E7p})R9XpG!YH*j9tsobzYuxyzympp5~pM&Mov$w_R$pt%{BFL0w0AiaXgdu zrGZ%w*EuA-?(ixZ`&8ZE-VlGK)ZccskS7sVeMDp+bZewlENqF)%rrn(zq6t)bNq%f zU6cJ2vMmvhLq?`|c5&XBDUAB{XX0V`LS86Y94`{OqiZP5bI1F=ZTQfJLFfyE7JrooaDTPznpS^t;h|$@SQAL58Gjfz*uz^cZpZc%8 z`lQk*GcBNn#j%i2U5bNgbMh)j+6e>{zhK zFoCQ#wFJ^2B$Ud%Uo+ixl>Y0TvcEl1WuDY%}oau)!3c z$^il9x0i`_*>!F4DyKkcdJN>)nPT+~#T{>NWG+uJP#0z2`IP32566|mJJPx*E(ooL zms2+{0f&2uzzTZN)NqGzjDNwkciqn2wU9?$Y3{sr!{i4**80>IGS#)Ut7uTZZKS$q z?6;Ife@K!ZW%?o2cbswRIE0wboHAJjamegokWBj z97eb0NrniJ>P%O+_=kRPMKF`aXq7E~94`hat;D@a7(6Y>rpmV8?-1bUpI2G%!SbfV zE;Us02P5GP{%+BFmO#pE)jB~FGWWx78VgFsQw3@pD9jMT`lLt5>4H34aH>5o29~p0aF(5qa`Et(`=MaIdhWEDJ+$ z)m)52=gZ;`|M1)?IMbtTd&8j+Gasw@g}wSq)_~I!ULn=*KjGSvoAA>!#&yKDw9(+u zTXkLaXyOmxu0Ku0{LDdsgOAYz^3#pkSFr644L+q?XTS_ReF->!o+M+26{VJL-6R*bD51@91%(>1l~hhFbx O0BLb~u`&?@zyAaKG!0+? diff --git a/assets/arrayliteral_2x.png b/assets/arrayliteral_2x.png deleted file mode 100644 index 34b9e24dbbeaa0d84498042b404140bc63971f4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13725 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 Q??W?b2?g;gQT>4b0|WHKvH$=8 diff --git a/assets/assignment_operator.png b/assets/assignment_operator.png deleted file mode 100644 index 2ab4b3da5e04de882af3efb80d2ac8d51d56eb6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11977 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 diff --git a/assets/available.png b/assets/available.png deleted file mode 100644 index d44ecd4a357b0c9900f3129d70816367c9f1a4eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33567 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 diff --git a/assets/await_operator.png b/assets/await_operator.png deleted file mode 100644 index 541cb1f2a32af36c7dc88ef9983d372b98b5e9f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8722 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

8A{-ek%CoD#h{cs(nQar{}|(z0lLynV*; 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 CDV9C} diff --git a/assets/binary_expression.png b/assets/binary_expression.png deleted file mode 100644 index a82869146f9273a8b02c7cafab1a1d4c66f2d4ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17799 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 R4!C)Y!PC{xWt~$(6995}$({fJ diff --git a/assets/break_statement.png b/assets/break_statement.png deleted file mode 100644 index 3925b7bc83457367449f736cd2b900c7e91aa72d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13989 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 b?q2A9gJRz1L3tb`-3O48kQc8IHSqsm$NBAG diff --git a/assets/class_declaration.png b/assets/class_declaration.png deleted file mode 100644 index 07ad4782f31bb0fdf5b9f479ca3519db6c714e68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29830 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