From 6abfad391e02bbe8f5b890965d4c61af19db556d Mon Sep 17 00:00:00 2001 From: Jurn Wubben Date: Fri, 7 Nov 2025 23:37:08 +0100 Subject: [PATCH] More details on the hmac --- manual/manual.pdf | 3020 ++++++++++++++++++++++++++++----------------- manual/manual.typ | 89 +- 2 files changed, 1949 insertions(+), 1160 deletions(-) diff --git a/manual/manual.pdf b/manual/manual.pdf index fcc62c2..3ddb8ab 100644 --- a/manual/manual.pdf +++ b/manual/manual.pdf @@ -5,7 +5,7 @@ << /Type /Pages /Count 4 - /Kids [205 0 R 221 0 R 223 0 R 240 0 R] + /Kids [281 0 R 297 0 R 300 0 R 317 0 R] >> endobj @@ -26,7 +26,7 @@ endobj /Last 13 0 R /Count -4 /Title (1. Messages) - /Dest 196 0 R + /Dest 264 0 R >> endobj @@ -38,7 +38,7 @@ endobj /Last 6 0 R /Count -2 /Title (1.1. Heartbeat) - /Dest 186 0 R + /Dest 254 0 R >> endobj @@ -47,7 +47,7 @@ endobj /Parent 4 0 R /Next 6 0 R /Title (1.1.1. Server) - /Dest 184 0 R + /Dest 252 0 R >> endobj @@ -56,7 +56,7 @@ endobj /Parent 4 0 R /Prev 5 0 R /Title (1.1.2. Device) - /Dest 185 0 R + /Dest 253 0 R >> endobj @@ -69,7 +69,7 @@ endobj /Last 9 0 R /Count -2 /Title (1.2. Registration) - /Dest 189 0 R + /Dest 257 0 R >> endobj @@ -78,7 +78,7 @@ endobj /Parent 7 0 R /Next 9 0 R /Title (1.2.1. Server) - /Dest 187 0 R + /Dest 255 0 R >> endobj @@ -87,7 +87,7 @@ endobj /Parent 7 0 R /Prev 8 0 R /Title (1.2.2. Device) - /Dest 188 0 R + /Dest 256 0 R >> endobj @@ -100,7 +100,7 @@ endobj /Last 12 0 R /Count -2 /Title (1.3. Authentication) - /Dest 192 0 R + /Dest 260 0 R >> endobj @@ -109,7 +109,7 @@ endobj /Parent 10 0 R /Next 12 0 R /Title (1.3.1. Server) - /Dest 190 0 R + /Dest 258 0 R >> endobj @@ -118,7 +118,7 @@ endobj /Parent 10 0 R /Prev 11 0 R /Title (1.3.2. Device) - /Dest 191 0 R + /Dest 259 0 R >> endobj @@ -130,7 +130,7 @@ endobj /Last 15 0 R /Count -2 /Title (1.4. Session) - /Dest 195 0 R + /Dest 263 0 R >> endobj @@ -139,7 +139,7 @@ endobj /Parent 13 0 R /Next 15 0 R /Title (1.4.1. Server) - /Dest 193 0 R + /Dest 261 0 R >> endobj @@ -148,7 +148,7 @@ endobj /Parent 13 0 R /Prev 14 0 R /Title (1.4.2. Device) - /Dest 194 0 R + /Dest 262 0 R >> endobj @@ -157,7 +157,7 @@ endobj /Parent 2 0 R /Prev 3 0 R /Title (2. General flow) - /Dest 197 0 R + /Dest 265 0 R >> endobj @@ -173,22 +173,22 @@ endobj >> /K [22 0 R] /ParentTree << - /Nums [0 18 0 R 1 160 0 R 2 156 0 R 3 152 0 R 4 148 0 R 5 143 0 R 6 139 0 R 7 135 0 R 8 130 0 R 9 126 0 R 10 122 0 R 11 117 0 R 12 113 0 R 13 109 0 R 14 103 0 R 15 19 0 R 16 20 0 R 17 52 0 R 18 50 0 R 19 48 0 R 20 46 0 R 21 44 0 R 22 42 0 R 23 40 0 R 24 38 0 R 25 36 0 R 26 34 0 R 27 32 0 R 28 30 0 R 29 28 0 R 30 26 0 R 31 24 0 R 32 21 0 R] + /Nums [0 18 0 R 1 228 0 R 2 224 0 R 3 220 0 R 4 216 0 R 5 211 0 R 6 207 0 R 7 203 0 R 8 198 0 R 9 194 0 R 10 190 0 R 11 185 0 R 12 181 0 R 13 177 0 R 14 171 0 R 15 19 0 R 16 79 0 R 17 20 0 R 18 52 0 R 19 50 0 R 20 48 0 R 21 46 0 R 22 44 0 R 23 42 0 R 24 40 0 R 25 38 0 R 26 36 0 R 27 34 0 R 28 32 0 R 29 30 0 R 30 28 0 R 31 26 0 R 32 24 0 R 33 21 0 R] >> - /ParentTreeNextKey 33 + /ParentTreeNextKey 34 >> endobj 18 0 obj -[167 0 R 165 0 R 164 0 R 164 0 R 163 0 R] +[235 0 R 233 0 R 232 0 R 232 0 R 231 0 R] endobj 19 0 obj -[162 0 R 161 0 R 160 0 R 160 0 R 157 0 R 156 0 R 156 0 R 153 0 R 152 0 R 152 0 R 149 0 R 148 0 R 148 0 R 144 0 R 143 0 R 143 0 R 140 0 R 139 0 R 139 0 R 136 0 R 135 0 R 135 0 R 131 0 R 130 0 R 130 0 R 127 0 R 126 0 R 126 0 R 123 0 R 122 0 R 122 0 R 118 0 R 117 0 R 117 0 R 114 0 R 113 0 R 113 0 R 110 0 R 109 0 R 109 0 R 104 0 R 103 0 R 103 0 R] +[230 0 R 229 0 R 228 0 R 228 0 R 225 0 R 224 0 R 224 0 R 221 0 R 220 0 R 220 0 R 217 0 R 216 0 R 216 0 R 212 0 R 211 0 R 211 0 R 208 0 R 207 0 R 207 0 R 204 0 R 203 0 R 203 0 R 199 0 R 198 0 R 198 0 R 195 0 R 194 0 R 194 0 R 191 0 R 190 0 R 190 0 R 186 0 R 185 0 R 185 0 R 182 0 R 181 0 R 181 0 R 178 0 R 177 0 R 177 0 R 172 0 R 171 0 R 171 0 R] endobj 20 0 obj -[99 0 R 99 0 R 98 0 R 98 0 R 97 0 R 97 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 94 0 R 92 0 R 92 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 89 0 R 89 0 R 88 0 R 88 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 87 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 85 0 R 83 0 R 83 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 82 0 R 80 0 R 80 0 R 79 0 R 79 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 78 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 76 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 74 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 72 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 70 0 R 68 0 R 68 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 67 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 65 0 R 63 0 R 63 0 R 62 0 R 62 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 61 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 57 0 R 57 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R 56 0 R] +[167 0 R 167 0 R 166 0 R 166 0 R 165 0 R 165 0 R 164 0 R 163 0 R 163 0 R 163 0 R 163 0 R 163 0 R 163 0 R 163 0 R 163 0 R 163 0 R 163 0 R 159 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 158 0 R 153 0 R 153 0 R 152 0 R 151 0 R 151 0 R 151 0 R 151 0 R 151 0 R 151 0 R 151 0 R 151 0 R 151 0 R 151 0 R 146 0 R 146 0 R 145 0 R 145 0 R 144 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 143 0 R 139 0 R 138 0 R 138 0 R 138 0 R 138 0 R 138 0 R 138 0 R 138 0 R 138 0 R 138 0 R 138 0 R 133 0 R 133 0 R 132 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 131 0 R 126 0 R 126 0 R 125 0 R 125 0 R 124 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 123 0 R 119 0 R 118 0 R 118 0 R 118 0 R 118 0 R 118 0 R 118 0 R 118 0 R 118 0 R 118 0 R 118 0 R 114 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 113 0 R 109 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 108 0 R 104 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 103 0 R 98 0 R 98 0 R 97 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 96 0 R 92 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 91 0 R 87 0 R 86 0 R 84 0 R 83 0 R 81 0 R 80 0 R 74 0 R 74 0 R 73 0 R 73 0 R 72 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 71 0 R 67 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 66 0 R 61 0 R 61 0 R 60 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R 59 0 R] endobj 21 0 obj @@ -200,7 +200,7 @@ endobj /Type /StructElem /S /Document /P 17 0 R - /K [166 0 R 165 0 R 164 0 R 163 0 R 162 0 R 100 0 R 99 0 R 98 0 R 97 0 R 95 0 R 93 0 R 92 0 R 90 0 R 89 0 R 88 0 R 86 0 R 84 0 R 83 0 R 81 0 R 80 0 R 79 0 R 77 0 R 75 0 R 73 0 R 71 0 R 69 0 R 68 0 R 66 0 R 64 0 R 63 0 R 62 0 R 60 0 R 58 0 R 57 0 R 55 0 R 54 0 R 23 0 R] + /K [234 0 R 233 0 R 232 0 R 231 0 R 230 0 R 168 0 R 167 0 R 166 0 R 165 0 R 154 0 R 153 0 R 147 0 R 146 0 R 145 0 R 134 0 R 133 0 R 127 0 R 126 0 R 125 0 R 99 0 R 98 0 R 75 0 R 74 0 R 73 0 R 62 0 R 61 0 R 55 0 R 54 0 R 23 0 R] >> endobj @@ -210,7 +210,7 @@ endobj /S /P /P 22 0 R /K [2 3 52 0 R 50 0 R 48 0 R 46 0 R 44 0 R 9 42 0 R 40 0 R 38 0 R 36 0 R 34 0 R 32 0 R 16 30 0 R 28 0 R 26 0 R 24 0 R] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -221,8 +221,8 @@ endobj /P 23 0 R /K [25 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 239 0 R + /Pg 317 0 R + /Obj 316 0 R >>] >> endobj @@ -237,7 +237,7 @@ endobj /TextDecorationType /Underline >>] /K [20] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -248,8 +248,8 @@ endobj /P 23 0 R /K [27 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 238 0 R + /Pg 317 0 R + /Obj 315 0 R >>] >> endobj @@ -264,7 +264,7 @@ endobj /TextDecorationType /Underline >>] /K [19] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -275,8 +275,8 @@ endobj /P 23 0 R /K [29 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 237 0 R + /Pg 317 0 R + /Obj 314 0 R >>] >> endobj @@ -291,7 +291,7 @@ endobj /TextDecorationType /Underline >>] /K [18] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -302,8 +302,8 @@ endobj /P 23 0 R /K [31 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 236 0 R + /Pg 317 0 R + /Obj 313 0 R >>] >> endobj @@ -318,7 +318,7 @@ endobj /TextDecorationType /Underline >>] /K [17] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -329,8 +329,8 @@ endobj /P 23 0 R /K [33 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 235 0 R + /Pg 317 0 R + /Obj 312 0 R >>] >> endobj @@ -345,7 +345,7 @@ endobj /TextDecorationType /Underline >>] /K [15] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -356,8 +356,8 @@ endobj /P 23 0 R /K [35 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 234 0 R + /Pg 317 0 R + /Obj 311 0 R >>] >> endobj @@ -372,7 +372,7 @@ endobj /TextDecorationType /Underline >>] /K [14] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -383,8 +383,8 @@ endobj /P 23 0 R /K [37 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 233 0 R + /Pg 317 0 R + /Obj 310 0 R >>] >> endobj @@ -399,7 +399,7 @@ endobj /TextDecorationType /Underline >>] /K [13] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -410,8 +410,8 @@ endobj /P 23 0 R /K [39 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 232 0 R + /Pg 317 0 R + /Obj 309 0 R >>] >> endobj @@ -426,7 +426,7 @@ endobj /TextDecorationType /Underline >>] /K [12] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -437,8 +437,8 @@ endobj /P 23 0 R /K [41 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 231 0 R + /Pg 317 0 R + /Obj 308 0 R >>] >> endobj @@ -453,7 +453,7 @@ endobj /TextDecorationType /Underline >>] /K [11] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -464,8 +464,8 @@ endobj /P 23 0 R /K [43 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 230 0 R + /Pg 317 0 R + /Obj 307 0 R >>] >> endobj @@ -480,7 +480,7 @@ endobj /TextDecorationType /Underline >>] /K [10] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -491,8 +491,8 @@ endobj /P 23 0 R /K [45 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 229 0 R + /Pg 317 0 R + /Obj 306 0 R >>] >> endobj @@ -507,7 +507,7 @@ endobj /TextDecorationType /Underline >>] /K [8] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -518,8 +518,8 @@ endobj /P 23 0 R /K [47 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 228 0 R + /Pg 317 0 R + /Obj 305 0 R >>] >> endobj @@ -534,7 +534,7 @@ endobj /TextDecorationType /Underline >>] /K [7] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -545,8 +545,8 @@ endobj /P 23 0 R /K [49 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 227 0 R + /Pg 317 0 R + /Obj 304 0 R >>] >> endobj @@ -561,7 +561,7 @@ endobj /TextDecorationType /Underline >>] /K [6] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -572,8 +572,8 @@ endobj /P 23 0 R /K [51 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 226 0 R + /Pg 317 0 R + /Obj 303 0 R >>] >> endobj @@ -588,7 +588,7 @@ endobj /TextDecorationType /Underline >>] /K [5] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -599,8 +599,8 @@ endobj /P 23 0 R /K [53 0 R << /Type /OBJR - /Pg 240 0 R - /Obj 225 0 R + /Pg 317 0 R + /Obj 302 0 R >>] >> endobj @@ -615,7 +615,7 @@ endobj /TextDecorationType /Underline >>] /K [4] - /Pg 240 0 R + /Pg 317 0 R >> endobj @@ -626,18 +626,18 @@ endobj /P 22 0 R /T (General flow) /K [0 1] - /Pg 240 0 R + /Pg 317 0 R >> endobj 55 0 obj << /Type /StructElem - /S /Code + /S /L /P 22 0 R /A [<< - /O /Layout - /Placement /Block + /O /List + /ListNumbering /Circle >>] /K [56 0 R] >> @@ -646,21 +646,18 @@ endobj 56 0 obj << /Type /StructElem - /S /P + /S /LI /P 55 0 R - /K [283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310] - /Pg 223 0 R + /K [60 0 R 57 0 R] >> endobj 57 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Device) - /K [281 282] - /Pg 223 0 R + /S /LBody + /P 56 0 R + /K [58 0 R] >> endobj @@ -668,7 +665,7 @@ endobj << /Type /StructElem /S /Code - /P 22 0 R + /P 57 0 R /A [<< /O /Layout /Placement /Block @@ -682,65 +679,59 @@ endobj /Type /StructElem /S /P /P 58 0 R - /K [271 272 273 274 275 276 277 278 279 280] - /Pg 223 0 R + /K [329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356] + /Pg 300 0 R >> endobj 60 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [61 0 R] + /S /Lbl + /P 56 0 R + /K [328] + /Pg 300 0 R >> endobj 61 0 obj << /Type /StructElem - /S /P - /P 60 0 R - /K [244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270] - /Pg 223 0 R + /S /H3 + /P 22 0 R + /T (Device) + /K [326 327] + /Pg 300 0 R >> endobj 62 0 obj << /Type /StructElem - /S /H3 + /S /L /P 22 0 R - /T (Server) - /K [242 243] - /Pg 223 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [68 0 R 63 0 R] >> endobj 63 0 obj << /Type /StructElem - /S /H2 - /P 22 0 R - /T (Session) - /K [240 241] - /Pg 223 0 R + /S /LI + /P 62 0 R + /K [67 0 R 64 0 R] >> endobj 64 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] + /S /LBody + /P 63 0 R /K [65 0 R] >> endobj @@ -748,56 +739,50 @@ endobj 65 0 obj << /Type /StructElem - /S /P + /S /Code /P 64 0 R - /K [213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239] - /Pg 223 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [66 0 R] >> endobj 66 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [67 0 R] + /S /P + /P 65 0 R + /K [316 317 318 319 320 321 322 323 324 325] + /Pg 300 0 R >> endobj 67 0 obj << /Type /StructElem - /S /P - /P 66 0 R - /K [203 204 205 206 207 208 209 210 211 212] - /Pg 223 0 R + /S /Lbl + /P 63 0 R + /K [315] + /Pg 300 0 R >> endobj 68 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Device) - /K [201 202] - /Pg 223 0 R + /S /LI + /P 62 0 R + /K [72 0 R 69 0 R] >> endobj 69 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] + /S /LBody + /P 68 0 R /K [70 0 R] >> endobj @@ -805,226 +790,212 @@ endobj 70 0 obj << /Type /StructElem - /S /P + /S /Code /P 69 0 R - /K [180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200] - /Pg 223 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [71 0 R] >> endobj 71 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [72 0 R] + /S /P + /P 70 0 R + /K [288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314] + /Pg 300 0 R >> endobj 72 0 obj << /Type /StructElem - /S /P - /P 71 0 R - /K [159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179] - /Pg 223 0 R + /S /Lbl + /P 68 0 R + /K [287] + /Pg 300 0 R >> endobj 73 0 obj << /Type /StructElem - /S /Code + /S /H3 /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [74 0 R] + /T (Server) + /K [285 286] + /Pg 300 0 R >> endobj 74 0 obj << /Type /StructElem - /S /P - /P 73 0 R - /K [141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158] - /Pg 223 0 R + /S /H2 + /P 22 0 R + /T (Session) + /K [283 284] + /Pg 300 0 R >> endobj 75 0 obj << /Type /StructElem - /S /Code + /S /L /P 22 0 R /A [<< - /O /Layout - /Placement /Block + /O /List + /ListNumbering /Circle >>] - /K [76 0 R] + /K [93 0 R 88 0 R 76 0 R] >> endobj 76 0 obj << /Type /StructElem - /S /P + /S /L /P 75 0 R - /K [131 132 133 134 135 136 137 138 139 140] - /Pg 223 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [85 0 R 82 0 R 77 0 R] >> endobj 77 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [78 0 R] + /S /LI + /P 76 0 R + /K [81 0 R 78 0 R] >> endobj 78 0 obj << /Type /StructElem - /S /P + /S /LBody /P 77 0 R - /K [104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130] - /Pg 223 0 R + /K [79 0 R] >> endobj 79 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Server) - /K [102 103] - /Pg 223 0 R + /S /Link + /P 78 0 R + /K [80 0 R << + /Type /OBJR + /Pg 300 0 R + /Obj 299 0 R + >>] >> endobj 80 0 obj << /Type /StructElem - /S /H2 - /P 22 0 R - /T (Authentication) - /K [100 101] - /Pg 223 0 R + /S /Span + /P 79 0 R + /A [<< + /O /Layout + /TextDecorationType /Underline + >>] + /K [282] + /Pg 300 0 R >> endobj 81 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [82 0 R] + /S /Lbl + /P 77 0 R + /K [281] + /Pg 300 0 R >> endobj 82 0 obj << /Type /StructElem - /S /P - /P 81 0 R - /K [90 91 92 93 94 95 96 97 98 99] - /Pg 223 0 R + /S /LI + /P 76 0 R + /K [84 0 R 83 0 R] >> endobj 83 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Device) - /K [88 89] - /Pg 223 0 R + /S /LBody + /P 82 0 R + /K [280] + /Pg 300 0 R >> endobj 84 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [85 0 R] + /S /Lbl + /P 82 0 R + /K [279] + /Pg 300 0 R >> endobj 85 0 obj << /Type /StructElem - /S /P - /P 84 0 R - /K [78 79 80 81 82 83 84 85 86 87] - /Pg 223 0 R + /S /LI + /P 76 0 R + /K [87 0 R 86 0 R] >> endobj 86 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [87 0 R] + /S /LBody + /P 85 0 R + /K [278] + /Pg 300 0 R >> endobj 87 0 obj << /Type /StructElem - /S /P - /P 86 0 R - /K [50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77] - /Pg 223 0 R + /S /Lbl + /P 85 0 R + /K [277] + /Pg 300 0 R >> endobj 88 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Server) - /K [48 49] - /Pg 223 0 R + /S /LI + /P 75 0 R + /K [92 0 R 89 0 R] >> endobj 89 0 obj << /Type /StructElem - /S /H2 - /P 22 0 R - /T (Registration) - /K [46 47] - /Pg 223 0 R + /S /LBody + /P 88 0 R + /K [90 0 R] >> endobj @@ -1032,7 +1003,7 @@ endobj << /Type /StructElem /S /Code - /P 22 0 R + /P 89 0 R /A [<< /O /Layout /Placement /Block @@ -1046,42 +1017,36 @@ endobj /Type /StructElem /S /P /P 90 0 R - /K [36 37 38 39 40 41 42 43 44 45] - /Pg 223 0 R + /K [250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276] + /Pg 300 0 R >> endobj 92 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Device) - /K [34 35] - /Pg 223 0 R + /S /Lbl + /P 88 0 R + /K [249] + /Pg 300 0 R >> endobj 93 0 obj << /Type /StructElem - /S /Code - /P 22 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [94 0 R] + /S /LI + /P 75 0 R + /K [97 0 R 94 0 R] >> endobj 94 0 obj << /Type /StructElem - /S /P + /S /LBody /P 93 0 R - /K [16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33] - /Pg 223 0 R + /K [95 0 R] >> endobj @@ -1089,7 +1054,7 @@ endobj << /Type /StructElem /S /Code - /P 22 0 R + /P 94 0 R /A [<< /O /Layout /Placement /Block @@ -1103,57 +1068,58 @@ endobj /Type /StructElem /S /P /P 95 0 R - /K [6 7 8 9 10 11 12 13 14 15] - /Pg 223 0 R + /K [219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248] + /Pg 300 0 R >> endobj 97 0 obj << /Type /StructElem - /S /H3 - /P 22 0 R - /T (Server) - /K [4 5] - /Pg 223 0 R + /S /Lbl + /P 93 0 R + /K [218] + /Pg 300 0 R >> endobj 98 0 obj << /Type /StructElem - /S /H2 + /S /H3 /P 22 0 R - /T (Heartbeat) - /K [2 3] - /Pg 223 0 R + /T (Device) + /K [216 217] + /Pg 300 0 R >> endobj 99 0 obj << /Type /StructElem - /S /H1 + /S /L /P 22 0 R - /T (Messages) - /K [0 1] - /Pg 223 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [120 0 R 115 0 R 110 0 R 105 0 R 100 0 R] >> endobj 100 0 obj << /Type /StructElem - /S /TOC - /P 22 0 R - /K [158 0 R 105 0 R 101 0 R] + /S /LI + /P 99 0 R + /K [104 0 R 101 0 R] >> endobj 101 0 obj << /Type /StructElem - /S /TOCI + /S /LBody /P 100 0 R /K [102 0 R] >> @@ -1162,7 +1128,7 @@ endobj 102 0 obj << /Type /StructElem - /S /Reference + /S /Code /P 101 0 R /A [<< /O /Layout @@ -1175,14 +1141,10 @@ endobj 103 0 obj << /Type /StructElem - /S /Link + /S /P /P 102 0 R - /K [104 0 R 41 42 << - /Type /OBJR - /Pg 221 0 R - /Obj 220 0 R - >>] - /Pg 221 0 R + /K [195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215] + /Pg 300 0 R >> endobj @@ -1190,35 +1152,39 @@ endobj << /Type /StructElem /S /Lbl - /P 103 0 R - /K [40] - /Pg 221 0 R + /P 100 0 R + /K [194] + /Pg 300 0 R >> endobj 105 0 obj << /Type /StructElem - /S /TOC - /P 100 0 R - /K [154 0 R 145 0 R 141 0 R 132 0 R 128 0 R 119 0 R 115 0 R 106 0 R] + /S /LI + /P 99 0 R + /K [109 0 R 106 0 R] >> endobj 106 0 obj << /Type /StructElem - /S /TOC + /S /LBody /P 105 0 R - /K [111 0 R 107 0 R] + /K [107 0 R] >> endobj 107 0 obj << /Type /StructElem - /S /TOCI + /S /Code /P 106 0 R + /A [<< + /O /Layout + /Placement /Block + >>] /K [108 0 R] >> endobj @@ -1226,45 +1192,37 @@ endobj 108 0 obj << /Type /StructElem - /S /Reference + /S /P /P 107 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [109 0 R] + /K [173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193] + /Pg 300 0 R >> endobj 109 0 obj << /Type /StructElem - /S /Link - /P 108 0 R - /K [110 0 R 38 39 << - /Type /OBJR - /Pg 221 0 R - /Obj 219 0 R - >>] - /Pg 221 0 R + /S /Lbl + /P 105 0 R + /K [172] + /Pg 300 0 R >> endobj 110 0 obj << /Type /StructElem - /S /Lbl - /P 109 0 R - /K [37] - /Pg 221 0 R + /S /LI + /P 99 0 R + /K [114 0 R 111 0 R] >> endobj 111 0 obj << /Type /StructElem - /S /TOCI - /P 106 0 R + /S /LBody + /P 110 0 R /K [112 0 R] >> endobj @@ -1272,7 +1230,7 @@ endobj 112 0 obj << /Type /StructElem - /S /Reference + /S /Code /P 111 0 R /A [<< /O /Layout @@ -1285,14 +1243,10 @@ endobj 113 0 obj << /Type /StructElem - /S /Link + /S /P /P 112 0 R - /K [114 0 R 35 36 << - /Type /OBJR - /Pg 221 0 R - /Obj 218 0 R - >>] - /Pg 221 0 R + /K [154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171] + /Pg 300 0 R >> endobj @@ -1300,30 +1254,26 @@ endobj << /Type /StructElem /S /Lbl - /P 113 0 R - /K [34] - /Pg 221 0 R + /P 110 0 R + /K [153] + /Pg 300 0 R >> endobj 115 0 obj << /Type /StructElem - /S /TOCI - /P 105 0 R - /K [116 0 R] + /S /LI + /P 99 0 R + /K [119 0 R 116 0 R] >> endobj 116 0 obj << /Type /StructElem - /S /Reference + /S /LBody /P 115 0 R - /A [<< - /O /Layout - /Placement /Block - >>] /K [117 0 R] >> endobj @@ -1331,54 +1281,50 @@ endobj 117 0 obj << /Type /StructElem - /S /Link + /S /Code /P 116 0 R - /K [118 0 R 32 33 << - /Type /OBJR - /Pg 221 0 R - /Obj 217 0 R + /A [<< + /O /Layout + /Placement /Block >>] - /Pg 221 0 R + /K [118 0 R] >> endobj 118 0 obj << /Type /StructElem - /S /Lbl + /S /P /P 117 0 R - /K [31] - /Pg 221 0 R + /K [143 144 145 146 147 148 149 150 151 152] + /Pg 300 0 R >> endobj 119 0 obj << /Type /StructElem - /S /TOC - /P 105 0 R - /K [124 0 R 120 0 R] + /S /Lbl + /P 115 0 R + /K [142] + /Pg 300 0 R >> endobj 120 0 obj << /Type /StructElem - /S /TOCI - /P 119 0 R - /K [121 0 R] + /S /LI + /P 99 0 R + /K [124 0 R 121 0 R] >> endobj 121 0 obj << /Type /StructElem - /S /Reference + /S /LBody /P 120 0 R - /A [<< - /O /Layout - /Placement /Block - >>] /K [122 0 R] >> endobj @@ -1386,91 +1332,85 @@ endobj 122 0 obj << /Type /StructElem - /S /Link + /S /Code /P 121 0 R - /K [123 0 R 29 30 << - /Type /OBJR - /Pg 221 0 R - /Obj 216 0 R + /A [<< + /O /Layout + /Placement /Block >>] - /Pg 221 0 R + /K [123 0 R] >> endobj 123 0 obj << /Type /StructElem - /S /Lbl + /S /P /P 122 0 R - /K [28] - /Pg 221 0 R + /K [112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141] + /Pg 300 0 R >> endobj 124 0 obj << /Type /StructElem - /S /TOCI - /P 119 0 R - /K [125 0 R] + /S /Lbl + /P 120 0 R + /K [111] + /Pg 300 0 R >> endobj 125 0 obj << /Type /StructElem - /S /Reference - /P 124 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [126 0 R] + /S /H3 + /P 22 0 R + /T (Server) + /K [109 110] + /Pg 300 0 R >> endobj 126 0 obj << /Type /StructElem - /S /Link - /P 125 0 R - /K [127 0 R 26 27 << - /Type /OBJR - /Pg 221 0 R - /Obj 215 0 R - >>] - /Pg 221 0 R + /S /H2 + /P 22 0 R + /T (Authentication) + /K [107 108] + /Pg 300 0 R >> endobj 127 0 obj << /Type /StructElem - /S /Lbl - /P 126 0 R - /K [25] - /Pg 221 0 R + /S /L + /P 22 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [128 0 R] >> endobj 128 0 obj << /Type /StructElem - /S /TOCI - /P 105 0 R - /K [129 0 R] + /S /LI + /P 127 0 R + /K [132 0 R 129 0 R] >> endobj 129 0 obj << /Type /StructElem - /S /Reference + /S /LBody /P 128 0 R - /A [<< - /O /Layout - /Placement /Block - >>] /K [130 0 R] >> endobj @@ -1478,87 +1418,87 @@ endobj 130 0 obj << /Type /StructElem - /S /Link + /S /Code /P 129 0 R - /K [131 0 R 23 24 << - /Type /OBJR - /Pg 221 0 R - /Obj 214 0 R + /A [<< + /O /Layout + /Placement /Block >>] - /Pg 221 0 R + /K [131 0 R] >> endobj 131 0 obj << /Type /StructElem - /S /Lbl + /S /P /P 130 0 R - /K [22] - /Pg 221 0 R + /K [97 98 99 100 101 102 103 104 105 106] + /Pg 300 0 R >> endobj 132 0 obj << /Type /StructElem - /S /TOC - /P 105 0 R - /K [137 0 R 133 0 R] + /S /Lbl + /P 128 0 R + /K [96] + /Pg 300 0 R >> endobj 133 0 obj << /Type /StructElem - /S /TOCI - /P 132 0 R - /K [134 0 R] + /S /H3 + /P 22 0 R + /T (Device) + /K [94 95] + /Pg 300 0 R >> endobj 134 0 obj << /Type /StructElem - /S /Reference - /P 133 0 R + /S /L + /P 22 0 R /A [<< - /O /Layout - /Placement /Block + /O /List + /ListNumbering /Circle >>] - /K [135 0 R] + /K [140 0 R 135 0 R] >> endobj 135 0 obj << /Type /StructElem - /S /Link + /S /LI /P 134 0 R - /K [136 0 R 20 21 << - /Type /OBJR - /Pg 221 0 R - /Obj 213 0 R - >>] - /Pg 221 0 R + /K [139 0 R 136 0 R] >> endobj 136 0 obj << /Type /StructElem - /S /Lbl + /S /LBody /P 135 0 R - /K [19] - /Pg 221 0 R + /K [137 0 R] >> endobj 137 0 obj << /Type /StructElem - /S /TOCI - /P 132 0 R + /S /Code + /P 136 0 R + /A [<< + /O /Layout + /Placement /Block + >>] /K [138 0 R] >> endobj @@ -1566,45 +1506,37 @@ endobj 138 0 obj << /Type /StructElem - /S /Reference + /S /P /P 137 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [139 0 R] + /K [84 85 86 87 88 89 90 91 92 93] + /Pg 300 0 R >> endobj 139 0 obj << /Type /StructElem - /S /Link - /P 138 0 R - /K [140 0 R 17 18 << - /Type /OBJR - /Pg 221 0 R - /Obj 212 0 R - >>] - /Pg 221 0 R + /S /Lbl + /P 135 0 R + /K [83] + /Pg 300 0 R >> endobj 140 0 obj << /Type /StructElem - /S /Lbl - /P 139 0 R - /K [16] - /Pg 221 0 R + /S /LI + /P 134 0 R + /K [144 0 R 141 0 R] >> endobj 141 0 obj << /Type /StructElem - /S /TOCI - /P 105 0 R + /S /LBody + /P 140 0 R /K [142 0 R] >> endobj @@ -1612,7 +1544,7 @@ endobj 142 0 obj << /Type /StructElem - /S /Reference + /S /Code /P 141 0 R /A [<< /O /Layout @@ -1625,14 +1557,10 @@ endobj 143 0 obj << /Type /StructElem - /S /Link + /S /P /P 142 0 R - /K [144 0 R 14 15 << - /Type /OBJR - /Pg 221 0 R - /Obj 211 0 R - >>] - /Pg 221 0 R + /K [54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82] + /Pg 300 0 R >> endobj @@ -1640,38 +1568,42 @@ endobj << /Type /StructElem /S /Lbl - /P 143 0 R - /K [13] - /Pg 221 0 R + /P 140 0 R + /K [53] + /Pg 300 0 R >> endobj 145 0 obj << /Type /StructElem - /S /TOC - /P 105 0 R - /K [150 0 R 146 0 R] + /S /H3 + /P 22 0 R + /T (Server) + /K [51 52] + /Pg 300 0 R >> endobj 146 0 obj << /Type /StructElem - /S /TOCI - /P 145 0 R - /K [147 0 R] + /S /H2 + /P 22 0 R + /T (Registration) + /K [49 50] + /Pg 300 0 R >> endobj 147 0 obj << /Type /StructElem - /S /Reference - /P 146 0 R + /S /L + /P 22 0 R /A [<< - /O /Layout - /Placement /Block + /O /List + /ListNumbering /Circle >>] /K [148 0 R] >> @@ -1680,32 +1612,30 @@ endobj 148 0 obj << /Type /StructElem - /S /Link + /S /LI /P 147 0 R - /K [149 0 R 11 12 << - /Type /OBJR - /Pg 221 0 R - /Obj 210 0 R - >>] - /Pg 221 0 R + /K [152 0 R 149 0 R] >> endobj 149 0 obj << /Type /StructElem - /S /Lbl + /S /LBody /P 148 0 R - /K [10] - /Pg 221 0 R + /K [150 0 R] >> endobj 150 0 obj << /Type /StructElem - /S /TOCI - /P 145 0 R + /S /Code + /P 149 0 R + /A [<< + /O /Layout + /Placement /Block + >>] /K [151 0 R] >> endobj @@ -1713,140 +1643,126 @@ endobj 151 0 obj << /Type /StructElem - /S /Reference + /S /P /P 150 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [152 0 R] + /K [39 40 41 42 43 44 45 46 47 48] + /Pg 300 0 R >> endobj 152 0 obj << /Type /StructElem - /S /Link - /P 151 0 R - /K [153 0 R 8 9 << - /Type /OBJR - /Pg 221 0 R - /Obj 209 0 R - >>] - /Pg 221 0 R + /S /Lbl + /P 148 0 R + /K [38] + /Pg 300 0 R >> endobj 153 0 obj << /Type /StructElem - /S /Lbl - /P 152 0 R - /K [7] - /Pg 221 0 R + /S /H3 + /P 22 0 R + /T (Device) + /K [36 37] + /Pg 300 0 R >> endobj 154 0 obj << /Type /StructElem - /S /TOCI - /P 105 0 R - /K [155 0 R] + /S /L + /P 22 0 R + /A [<< + /O /List + /ListNumbering /Circle + >>] + /K [160 0 R 155 0 R] >> endobj 155 0 obj << /Type /StructElem - /S /Reference + /S /LI /P 154 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [156 0 R] + /K [159 0 R 156 0 R] >> endobj 156 0 obj << /Type /StructElem - /S /Link + /S /LBody /P 155 0 R - /K [157 0 R 5 6 << - /Type /OBJR - /Pg 221 0 R - /Obj 208 0 R - >>] - /Pg 221 0 R + /K [157 0 R] >> endobj 157 0 obj << /Type /StructElem - /S /Lbl + /S /Code /P 156 0 R - /K [4] - /Pg 221 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [158 0 R] >> endobj 158 0 obj << /Type /StructElem - /S /TOCI - /P 100 0 R - /K [159 0 R] + /S /P + /P 157 0 R + /K [18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35] + /Pg 300 0 R >> endobj 159 0 obj << /Type /StructElem - /S /Reference - /P 158 0 R - /A [<< - /O /Layout - /Placement /Block - >>] - /K [160 0 R] + /S /Lbl + /P 155 0 R + /K [17] + /Pg 300 0 R >> endobj 160 0 obj << /Type /StructElem - /S /Link - /P 159 0 R - /K [161 0 R 2 3 << - /Type /OBJR - /Pg 221 0 R - /Obj 207 0 R - >>] - /Pg 221 0 R + /S /LI + /P 154 0 R + /K [164 0 R 161 0 R] >> endobj 161 0 obj << /Type /StructElem - /S /Lbl + /S /LBody /P 160 0 R - /K [1] - /Pg 221 0 R + /K [162 0 R] >> endobj 162 0 obj << /Type /StructElem - /S /H1 - /P 22 0 R - /T (Contents) - /K [0] - /Pg 221 0 R + /S /Code + /P 161 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [163 0 R] >> endobj @@ -1854,92 +1770,854 @@ endobj << /Type /StructElem /S /P - /P 22 0 R - /K [4] - /Pg 205 0 R + /P 162 0 R + /K [7 8 9 10 11 12 13 14 15 16] + /Pg 300 0 R >> endobj 164 0 obj << /Type /StructElem - /S /P - /P 22 0 R - /K [2 3] - /Pg 205 0 R + /S /Lbl + /P 160 0 R + /K [6] + /Pg 300 0 R >> endobj 165 0 obj << /Type /StructElem - /S /P + /S /H3 /P 22 0 R - /K [1] - /Pg 205 0 R + /T (Server) + /K [4 5] + /Pg 300 0 R >> endobj 166 0 obj << /Type /StructElem - /S /P + /S /H2 /P 22 0 R - /K [167 0 R] + /T (Heartbeat) + /K [2 3] + /Pg 300 0 R >> endobj 167 0 obj << /Type /StructElem - /S /Strong - /P 166 0 R - /K [0] - /Pg 205 0 R + /S /H1 + /P 22 0 R + /T (Messages) + /K [0 1] + /Pg 300 0 R >> endobj 168 0 obj << - /Type /Font - /Subtype /Type0 - /BaseFont /BGRVFD+LibertinusSerif-Regular-Identity-H - /Encoding /Identity-H - /DescendantFonts [169 0 R] - /ToUnicode 172 0 R + /Type /StructElem + /S /TOC + /P 22 0 R + /K [226 0 R 173 0 R 169 0 R] >> endobj 169 0 obj << - /Type /Font - /Subtype /CIDFontType0 - /BaseFont /BGRVFD+LibertinusSerif-Regular - /CIDSystemInfo << - /Registry (Adobe) - /Ordering (Identity) - /Supplement 0 - >> - /FontDescriptor 171 0 R - /DW 0 - /W [0 0 500 1 1 322 2 2 531 3 3 372 4 4 542 5 5 250 6 6 951 7 7 493 8 8 447 9 9 390 10 10 504 11 11 428 12 12 512 13 13 316 14 14 790 15 15 271 16 16 457 17 17 747 18 18 538 19 19 485 20 20 264 21 21 588 22 22 490 23 23 505.99997 24 24 497 25 25 220 26 26 699 27 28 465 29 29 220 30 32 465 33 33 839 34 34 500 35 35 465 36 36 730 37 37 701 38 38 587 39 39 695 40 40 465 41 41 685 42 42 540 43 43 277 44 44 336 45 45 236 46 46 519 47 47 277 48 48 310 49 49 541 50 50 486 51 51 323 52 52 297 53 53 190 54 54 528 55 55 646 56 56 702 57 57 435 58 58 652 59 59 557 60 60 515] + /Type /StructElem + /S /TOCI + /P 168 0 R + /K [170 0 R] >> endobj 170 0 obj << - /Length 13 - /Filter /FlateDecode + /Type /StructElem + /S /Reference + /P 169 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [171 0 R] >> -stream -x ~# -endstream endobj 171 0 obj +<< + /Type /StructElem + /S /Link + /P 170 0 R + /K [172 0 R 41 42 << + /Type /OBJR + /Pg 297 0 R + /Obj 296 0 R + >>] + /Pg 297 0 R +>> +endobj + +172 0 obj +<< + /Type /StructElem + /S /Lbl + /P 171 0 R + /K [40] + /Pg 297 0 R +>> +endobj + +173 0 obj +<< + /Type /StructElem + /S /TOC + /P 168 0 R + /K [222 0 R 213 0 R 209 0 R 200 0 R 196 0 R 187 0 R 183 0 R 174 0 R] +>> +endobj + +174 0 obj +<< + /Type /StructElem + /S /TOC + /P 173 0 R + /K [179 0 R 175 0 R] +>> +endobj + +175 0 obj +<< + /Type /StructElem + /S /TOCI + /P 174 0 R + /K [176 0 R] +>> +endobj + +176 0 obj +<< + /Type /StructElem + /S /Reference + /P 175 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [177 0 R] +>> +endobj + +177 0 obj +<< + /Type /StructElem + /S /Link + /P 176 0 R + /K [178 0 R 38 39 << + /Type /OBJR + /Pg 297 0 R + /Obj 295 0 R + >>] + /Pg 297 0 R +>> +endobj + +178 0 obj +<< + /Type /StructElem + /S /Lbl + /P 177 0 R + /K [37] + /Pg 297 0 R +>> +endobj + +179 0 obj +<< + /Type /StructElem + /S /TOCI + /P 174 0 R + /K [180 0 R] +>> +endobj + +180 0 obj +<< + /Type /StructElem + /S /Reference + /P 179 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [181 0 R] +>> +endobj + +181 0 obj +<< + /Type /StructElem + /S /Link + /P 180 0 R + /K [182 0 R 35 36 << + /Type /OBJR + /Pg 297 0 R + /Obj 294 0 R + >>] + /Pg 297 0 R +>> +endobj + +182 0 obj +<< + /Type /StructElem + /S /Lbl + /P 181 0 R + /K [34] + /Pg 297 0 R +>> +endobj + +183 0 obj +<< + /Type /StructElem + /S /TOCI + /P 173 0 R + /K [184 0 R] +>> +endobj + +184 0 obj +<< + /Type /StructElem + /S /Reference + /P 183 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [185 0 R] +>> +endobj + +185 0 obj +<< + /Type /StructElem + /S /Link + /P 184 0 R + /K [186 0 R 32 33 << + /Type /OBJR + /Pg 297 0 R + /Obj 293 0 R + >>] + /Pg 297 0 R +>> +endobj + +186 0 obj +<< + /Type /StructElem + /S /Lbl + /P 185 0 R + /K [31] + /Pg 297 0 R +>> +endobj + +187 0 obj +<< + /Type /StructElem + /S /TOC + /P 173 0 R + /K [192 0 R 188 0 R] +>> +endobj + +188 0 obj +<< + /Type /StructElem + /S /TOCI + /P 187 0 R + /K [189 0 R] +>> +endobj + +189 0 obj +<< + /Type /StructElem + /S /Reference + /P 188 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [190 0 R] +>> +endobj + +190 0 obj +<< + /Type /StructElem + /S /Link + /P 189 0 R + /K [191 0 R 29 30 << + /Type /OBJR + /Pg 297 0 R + /Obj 292 0 R + >>] + /Pg 297 0 R +>> +endobj + +191 0 obj +<< + /Type /StructElem + /S /Lbl + /P 190 0 R + /K [28] + /Pg 297 0 R +>> +endobj + +192 0 obj +<< + /Type /StructElem + /S /TOCI + /P 187 0 R + /K [193 0 R] +>> +endobj + +193 0 obj +<< + /Type /StructElem + /S /Reference + /P 192 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [194 0 R] +>> +endobj + +194 0 obj +<< + /Type /StructElem + /S /Link + /P 193 0 R + /K [195 0 R 26 27 << + /Type /OBJR + /Pg 297 0 R + /Obj 291 0 R + >>] + /Pg 297 0 R +>> +endobj + +195 0 obj +<< + /Type /StructElem + /S /Lbl + /P 194 0 R + /K [25] + /Pg 297 0 R +>> +endobj + +196 0 obj +<< + /Type /StructElem + /S /TOCI + /P 173 0 R + /K [197 0 R] +>> +endobj + +197 0 obj +<< + /Type /StructElem + /S /Reference + /P 196 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [198 0 R] +>> +endobj + +198 0 obj +<< + /Type /StructElem + /S /Link + /P 197 0 R + /K [199 0 R 23 24 << + /Type /OBJR + /Pg 297 0 R + /Obj 290 0 R + >>] + /Pg 297 0 R +>> +endobj + +199 0 obj +<< + /Type /StructElem + /S /Lbl + /P 198 0 R + /K [22] + /Pg 297 0 R +>> +endobj + +200 0 obj +<< + /Type /StructElem + /S /TOC + /P 173 0 R + /K [205 0 R 201 0 R] +>> +endobj + +201 0 obj +<< + /Type /StructElem + /S /TOCI + /P 200 0 R + /K [202 0 R] +>> +endobj + +202 0 obj +<< + /Type /StructElem + /S /Reference + /P 201 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [203 0 R] +>> +endobj + +203 0 obj +<< + /Type /StructElem + /S /Link + /P 202 0 R + /K [204 0 R 20 21 << + /Type /OBJR + /Pg 297 0 R + /Obj 289 0 R + >>] + /Pg 297 0 R +>> +endobj + +204 0 obj +<< + /Type /StructElem + /S /Lbl + /P 203 0 R + /K [19] + /Pg 297 0 R +>> +endobj + +205 0 obj +<< + /Type /StructElem + /S /TOCI + /P 200 0 R + /K [206 0 R] +>> +endobj + +206 0 obj +<< + /Type /StructElem + /S /Reference + /P 205 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [207 0 R] +>> +endobj + +207 0 obj +<< + /Type /StructElem + /S /Link + /P 206 0 R + /K [208 0 R 17 18 << + /Type /OBJR + /Pg 297 0 R + /Obj 288 0 R + >>] + /Pg 297 0 R +>> +endobj + +208 0 obj +<< + /Type /StructElem + /S /Lbl + /P 207 0 R + /K [16] + /Pg 297 0 R +>> +endobj + +209 0 obj +<< + /Type /StructElem + /S /TOCI + /P 173 0 R + /K [210 0 R] +>> +endobj + +210 0 obj +<< + /Type /StructElem + /S /Reference + /P 209 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [211 0 R] +>> +endobj + +211 0 obj +<< + /Type /StructElem + /S /Link + /P 210 0 R + /K [212 0 R 14 15 << + /Type /OBJR + /Pg 297 0 R + /Obj 287 0 R + >>] + /Pg 297 0 R +>> +endobj + +212 0 obj +<< + /Type /StructElem + /S /Lbl + /P 211 0 R + /K [13] + /Pg 297 0 R +>> +endobj + +213 0 obj +<< + /Type /StructElem + /S /TOC + /P 173 0 R + /K [218 0 R 214 0 R] +>> +endobj + +214 0 obj +<< + /Type /StructElem + /S /TOCI + /P 213 0 R + /K [215 0 R] +>> +endobj + +215 0 obj +<< + /Type /StructElem + /S /Reference + /P 214 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [216 0 R] +>> +endobj + +216 0 obj +<< + /Type /StructElem + /S /Link + /P 215 0 R + /K [217 0 R 11 12 << + /Type /OBJR + /Pg 297 0 R + /Obj 286 0 R + >>] + /Pg 297 0 R +>> +endobj + +217 0 obj +<< + /Type /StructElem + /S /Lbl + /P 216 0 R + /K [10] + /Pg 297 0 R +>> +endobj + +218 0 obj +<< + /Type /StructElem + /S /TOCI + /P 213 0 R + /K [219 0 R] +>> +endobj + +219 0 obj +<< + /Type /StructElem + /S /Reference + /P 218 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [220 0 R] +>> +endobj + +220 0 obj +<< + /Type /StructElem + /S /Link + /P 219 0 R + /K [221 0 R 8 9 << + /Type /OBJR + /Pg 297 0 R + /Obj 285 0 R + >>] + /Pg 297 0 R +>> +endobj + +221 0 obj +<< + /Type /StructElem + /S /Lbl + /P 220 0 R + /K [7] + /Pg 297 0 R +>> +endobj + +222 0 obj +<< + /Type /StructElem + /S /TOCI + /P 173 0 R + /K [223 0 R] +>> +endobj + +223 0 obj +<< + /Type /StructElem + /S /Reference + /P 222 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [224 0 R] +>> +endobj + +224 0 obj +<< + /Type /StructElem + /S /Link + /P 223 0 R + /K [225 0 R 5 6 << + /Type /OBJR + /Pg 297 0 R + /Obj 284 0 R + >>] + /Pg 297 0 R +>> +endobj + +225 0 obj +<< + /Type /StructElem + /S /Lbl + /P 224 0 R + /K [4] + /Pg 297 0 R +>> +endobj + +226 0 obj +<< + /Type /StructElem + /S /TOCI + /P 168 0 R + /K [227 0 R] +>> +endobj + +227 0 obj +<< + /Type /StructElem + /S /Reference + /P 226 0 R + /A [<< + /O /Layout + /Placement /Block + >>] + /K [228 0 R] +>> +endobj + +228 0 obj +<< + /Type /StructElem + /S /Link + /P 227 0 R + /K [229 0 R 2 3 << + /Type /OBJR + /Pg 297 0 R + /Obj 283 0 R + >>] + /Pg 297 0 R +>> +endobj + +229 0 obj +<< + /Type /StructElem + /S /Lbl + /P 228 0 R + /K [1] + /Pg 297 0 R +>> +endobj + +230 0 obj +<< + /Type /StructElem + /S /H1 + /P 22 0 R + /T (Contents) + /K [0] + /Pg 297 0 R +>> +endobj + +231 0 obj +<< + /Type /StructElem + /S /P + /P 22 0 R + /K [4] + /Pg 281 0 R +>> +endobj + +232 0 obj +<< + /Type /StructElem + /S /P + /P 22 0 R + /K [2 3] + /Pg 281 0 R +>> +endobj + +233 0 obj +<< + /Type /StructElem + /S /P + /P 22 0 R + /K [1] + /Pg 281 0 R +>> +endobj + +234 0 obj +<< + /Type /StructElem + /S /P + /P 22 0 R + /K [235 0 R] +>> +endobj + +235 0 obj +<< + /Type /StructElem + /S /Strong + /P 234 0 R + /K [0] + /Pg 281 0 R +>> +endobj + +236 0 obj +<< + /Type /Font + /Subtype /Type0 + /BaseFont /TQNERJ+LibertinusSerif-Regular-Identity-H + /Encoding /Identity-H + /DescendantFonts [237 0 R] + /ToUnicode 240 0 R +>> +endobj + +237 0 obj +<< + /Type /Font + /Subtype /CIDFontType0 + /BaseFont /TQNERJ+LibertinusSerif-Regular + /CIDSystemInfo << + /Registry (Adobe) + /Ordering (Identity) + /Supplement 0 + >> + /FontDescriptor 239 0 R + /DW 0 + /W [0 0 500 1 1 322 2 2 531 3 3 372 4 4 542 5 5 250 6 6 951 7 7 493 8 8 447 9 9 390 10 10 504 11 11 428 12 12 512 13 13 316 14 14 790 15 15 271 16 16 457 17 17 747 18 18 538 19 19 485 20 20 264 21 21 588 22 22 490 23 23 505.99997 24 24 497 25 25 220 26 26 699 27 28 465 29 29 220 30 32 465 33 33 839 34 34 500 35 35 465 36 36 730 37 37 701 38 38 587 39 39 695 40 40 465 41 41 685 42 42 540 43 43 351 44 44 277 45 45 336 46 46 236 47 47 519 48 48 277 49 49 310 50 50 541 51 51 486 52 52 323 53 53 528 54 54 190 55 55 515 56 56 560 57 57 297 58 58 646 59 59 375 60 60 597 61 61 465 62 62 557 63 63 702 64 64 435 65 65 652] +>> +endobj + +238 0 obj +<< + /Length 13 + /Filter /FlateDecode +>> +stream +x, +endstream +endobj + +239 0 obj << /Type /FontDescriptor - /FontName /BGRVFD+LibertinusSerif-Regular + /FontName /TQNERJ+LibertinusSerif-Regular /Flags 131078 /FontBBox [-68 -238 1002 707] /ItalicAngle 0 @@ -1947,14 +2625,14 @@ endobj /Descent -246 /CapHeight 658 /StemV 95.4 - /CIDSet 170 0 R - /FontFile3 173 0 R + /CIDSet 238 0 R + /FontFile3 241 0 R >> endobj -172 0 obj +240 0 obj << - /Length 1450 + /Length 1524 /Type /CMap /WMode 0 >> @@ -1981,7 +2659,7 @@ end def 1 begincodespacerange <0000> endcodespacerange -60 beginbfchar +65 beginbfchar <0001> <004A> <0002> <0075> <0003> <0072> @@ -2024,24 +2702,29 @@ endcodespacerange <0028> <0034> <0029> <0047> <002A> <0066006C> -<002B> <007B> -<002C> <0022> -<002D> <003A> -<002E> <0070> -<002F> <007D> -<0030> <0066> -<0031> <0050> -<0032> <005F> -<0033> <002F> -<0034> <0049> -<0035> <0027> -<0036> <004C> -<0037> <0043> -<0038> <0051> -<0039> <003F> -<003A> <0056> -<003B> <0045> -<003C> <0079> +<002B> <2022> +<002C> <007B> +<002D> <0022> +<002E> <003A> +<002F> <0070> +<0030> <007D> +<0031> <0066> +<0032> <0050> +<0033> <005F> +<0034> <002F> +<0035> <004C> +<0036> <0027> +<0037> <0079> +<0038> <00660069> +<0039> <0049> +<003A> <0043> +<003B> <2023> +<003C> <0054> +<003D> <0036> +<003E> <0045> +<003F> <0051> +<0040> <003F> +<0041> <0056> endbfchar endcmap CMapName currentdict /CMap defineresource pop @@ -2052,64 +2735,57 @@ end endstream endobj -173 0 obj +241 0 obj << - /Length 6859 + /Length 7257 /Filter /FlateDecode /Subtype /CIDFontType0C >> stream -xyxSuc0jђ+ - -bEY?dCY-нIw4fI:R袌RdU"[x} yirϹ{|>2|Fa0~cB#RbS7EDNn/jb>h\y:ⷹ}xާ0F?;?;ѯc'y;Ǘ`q?X2<"!-&-sqbRfJLTtK#?6GG4KSc#^Z: | Zh_>;yا|_<#5{oly_x>;w~׷qQ̕B Gy%cO:936dn= Ozgl<5"{>Ls NP 9h5'-^ M/=W3V_;b}`>0dѽ|; d6 p> sNp -RqFQJ9ʼn -rsT*f ײክbfK Sxazԡ̪Fh9v,Ieuh6tx ³7ZRѥb4@RZQU.>a(M|`lөt -LA9{Ș -W -NPc{"#SE7p(īp3{cŏ*;?H'H!X~=DAZW&ˤj6[+VXp+{Vr{MO;Q"ug#5j[VbvPY-6QіWګkjp>LEBuحs=,MF{!UU9z>_' -$DAAKAW:[; MG' C:UF<l6Pb+ZHYJ83+:Y -32Hlh-6`'\..C$'&Fۮr9ܵJH`Ԣ1Wz0rRklޣJCRS$ rTm6%tڡjO0'2UR_`0(m(EY&FiRNFCFcnw 3#pcan@O.|vfFRo)bܗ$AXd\W}o#"7Q!p36#e g@,榢gN=~~}Ѓ,rC>Ɂ`0ϘhkpT\8KT םϞ90~.(DXH4)ڈ-_~<óGU ڛ]U -+(yIQĪkֶNRg ,ڊ.\"g=ra`G0C P7+,IyÙw -}~W)Rш֧"Er;kq5ܹ]/5|-ﰋ4E ;Y؆VlblD懶9gٶ&cVL+fN4i+akLPW(2r!Ҩg҈xV.{'5^+a#ySXXvXJĮpi\Ht:lO*$ q&%=('_ GYzҊJS۔f1ő˲$yhօW`⼺EglLW7U Z: -Z[]Y)S)Ulr#g(aj>cerLnO4vVv/ǹ ,9F0W0ĀѾ`7=pD4D&@* -^R&5#3 ~$sb -/3%CD!d JIBnL'IQj -*~Z!Èn-l.͋UyMЌG7Ct}D ?$Aqz_E~X|-NTJ& A:[q[m6qRponFl]իG5++04=z!+_VU|-:ᒀa##IC -))ץv.q]q_Bhq ?̞X:|60\ {QZҼ8d!GO~o},|! ^p' ̆)͟U9 0 -H -OsNãC'pCA Ө -Ұ`& ۖV{t 9D*諚>g Jzl;0[G5LNŽ ?%E Nm74iD||HƂUjL$ nwl?**H@^ܒj[~ C?|-Se24];=" N^Pm!m-yz?4NA6}=[)Ļ*暼 -(['p7q[ < '+|9p_vBw1Qh"66~[ɍs/䅨Hyqkɱ1dpR=ߣ Ԇ!՞qdAH:y짧G2Cdgh2eNYK!}n>#J ϒ/ Iګ#1KS>d4&*N/ŐNfPZm8ϾQJ1D*IDYr/qnF5qdH_S>CkSh%}zWn旖61}(Z CNDW' -kt)I$ ̧`9kprI懴0 -Ԏ˶1Yb}&"4*+jUY+ArP.ǁ xtab\LKiaέyD+3ʰc=gǓ0mt^Zxa5:rgV:ʪLjJmĐsjl6k>i[ׯ.b"7^9mbVSZ\ rCV,JB2VOi{Ѿ} ;s0]6{^0S@n`KET`yYB4##Kz%(xkpTpTWLeKuvXrZg"[(.̊Cfԁ`j'}^Q}A}<- j%PX/19]UT9ZK{Vcl&؉P \iLWF-t>xYs (UCBzHkDQTzxzуzDRQ`R06CӯԲdMt!vg]iP4p{+=eLGP(78Z D B@Fkz!˲>b%~_^VVQQ#*MQ -'H{pbjvp "6COؓ3X0뤋>M95 v)|)"gU8#!hBtѾ -Vem~έKpcEQ!j4\,J(r~:<58 uEh^"oK& Ox;jfi!*:?-(#rgj>v휅=b^9mב,'濖0eBu|6dqIۤex$&BŒI{`n[o -C̞ZUGnE!oZDvY~Vsr!|/h1]pdRÙ]( |6p f"ض=ӵn8:y?'l@pNli˵\EbܻB>ud?:֖_NړkT0nƗlV4]}ip|j;0E\фqFt@K!v}U>}<'\ jr-.,H&ή׾d@$s_7 -zڣ\XgY$Dd&[[a>.2p4|vIx d5ܟa\0A{1"Lo dfQ:b"bn!ȶ֑c>FC~?iN8AgxaZI:{!]|@0?]_I5L/C 4*b"ȟ:Y6 Sk{X2\Wχ8-2'GG%9Pkg&x8Mjk%ӱC/Tw g,JJw@;M_F$͠ofܡ'\񥟺 -΅ 0 `}i\lVaK- nST" zTӧS TX X`,ޭŭUk5*B=aQb =[֎ww}}own!rRCX8H~Sm=ٷ2g'L2 %LI5 *vl+¸qwsIAYb\O9|L%.獘L LI'7lr>h>S)a)+2B.T !qg,埠}.Q]ehT\&,˒uitO/2Oz{D鷐+d:yTØϖUUnc|/X/ C"><J#}? "gS´:1]u0t/F - -424&fŠtCYPf; -㽊 6M;Ƞl!:,>|8twi>b UZ[z-X,Efgi?F""ȝ%vto%FM_p_F׍ӸY!%㦡\>܉=VXwkqҢRIǰm>$.`=rmؔp] -؃qkPwlI'}(KC.> Q $N{.SѪ p9p1p4"2Y0Rd)r+ fXF ]8s?Ƴʘ+oGV~9|/; l?^1{tuze9,؏mݸ*('!,[^>X-3L&Έu3VTr]u n<>C.l MIS蚂 -[uR0ҠȀcL?<s`/^I@~JAv*֨WFzecrBLxh+RS{xn/"}~ls^K\&LŸע<=~ʗ&/c +_77T@OدzA4ko΃3V(I2:ǞИ(rȹ!PVĚ*W{b _Lgb$|^;5 x2~xN(ZȂPb2VGu:Q&6̤b+j1Xqn*pT8O&vڦt)8bR@`جz}9#u`>d2kH)KZ $*U,JjZCiQ?#29R+(EMFJ-NzMD {fg&X^eT]&dvZ-\g.`W@h+gg4_=#6}ОuJUL\3!s|{K=utE8•f>=`0KϘЖNlB.¹pخoB/t۵|LQ@U\Z[hF\8R2tO?Qq$A,&M3i ؀mU-^܍_."0!,"*Ej# ;g@{ݳ 󦞆L0J(;qf |gobPi- &6huFq.=<)_'!9҂%σS=~1*J'j %hy]ACf[oL!:zr/ Vj0"A #\\bˈIrډ"D+R0+-&540k:Q*-VFVe DٰQ.Y`B:Fn޶5:.0S"26:)=-+1/]d#/i.`qkг^Ql9IOAֲފVLeQb#LOBe8~a u&Sjzx[J+$ +\%'O!VJѰ~;^xxM$7sʷDF.W$a#_=VWsYR +Ks徊a&INThN Յ;YЊT2\|lD݈G>[g[uT*Mָ ݴ-:0G2)apaS^mP ?^_ V.jL'c 8ͲH~$&>aC "m3$^RURU]Umy.C) ))8Mq[H=t壋`֗HR^GbUVIDqdLq.Ovu6v9Sy% a,Gw&dJ +%0RV|?Pʊٹ2i $E&i8t; h0'o.""ɤat-m%weQ*2?gH2GC%po${4"..^B5yY ;[c>}(3jѭƗ줲1*"q|Ch'p}8g`>h 'Iunq$/8oߐr=Nj +'A]>mzBӚIWݍaf$+| +qS.xtx}$WN0gܤ)j7 ?}CirB]u;adUew2dn'lzҊ1sh3R )B MRc*"H wb"X1;n' ż/A)vI6_wX[:GN+/d"+ސT!Umd8Չs},jrʫ~I FXZ?ܶmz#ͧ~05Lyf,!hY+ 'DYfBrKvC#ʅ7/zr&H(RU,/ܱ-k)vr hRk(Q NW_Xt,:FGŶ +R0 35M(u %Lִ׳6}F ,e5vx&j*βH` 뱟co<!犹p ɟ^-8 6_!<,+#@3!עn~[u H320hn6F׆#NKuLlc4"R£a@ =8Ge  'hsC?4^V`[?N~?D#҉M2NiWUkSq8Ȟ(#ȃ=UD((+|.hyJ,dZUƒtxY-)5LHk4*u+q\oA}|I tLBP*ިđ`0S3TEd] نauUU*v^ޠ?AZL 1Z*B)_F05,/4Mbo|BƁˋJF%^iIIYyzQbR@ft+7ŔmD}nx׷*.GڂRe 5r~A/v +x4fWWaa<(#YLl1!G +˨rk1SU'mEo~}wNm 7 + PA)pby@lA3੡IQ~ʒ: #l&MOLsݓ;l6|pmMY1k[9!ֱH#6D쑻[t9 8=L>'N[o-ƅ6UeX.י3z!w7S3E2:q +\2{7`&a7.1%vhqf +Ob }l?[im&(ث҃u>.TSqo,u =*(/0ZrbQ/IJ҆/3P?tp! :8I`aNmtX B,&'Of t)XȖVT)(X]$_pQ"_El{"5!=Rk =γvъ0J8=Do(N0sѨ7r0_/eIVWwF^ѬoTjk>EE<g0b$t-+,}~wDxd oR8zt!z!g9t + g +ꬶK`L¢njXM~r7 q$ӨleE3Ye~+/=4<ڊ BDR8lHj&,6 '%drIrB+BreY.&K=bn Fd$p)(0䫼x" +YwWN;D!F\݀Vg!xv&|nT I6MѤy41BsG _j]D  C~76F3'x }wi$R"tQNo׮Wmďۏܪ0k-|GtgnW*.vc\*8=]b,o0*;}(%א{w^&u;ia1n)$u&ivN2XHB8V U*+v8 +O}fsz|'Z>? +"x)ɟ^Uacŭ ޲ni.^:w\/'aH^NW +߾v|XqV +[N `K'2߼`ZvP,\eS9Tb]ef>B#+ndQҎݬK*5^ػSc*9KQ?D!SԍkԝZ)Cu{[9@-q*\{NyXvI@."P ĸVj5{mSኳW  +p%2t1\ `ːdCCC]BosRSZ7GX4[Q1-5*FրuȪjT\VTYv^}t*\88'9K$Jˬ*Jǐ +GmC5e' ?V7y:Q }z+Xp&VQaxJ$"#7I%3kW!weQTH 6vt?HMI /g! endstream endobj -174 0 obj +242 0 obj << /Type /Font /Subtype /Type0 /BaseFont /TZMEYV+LibertinusSerif-Bold-Identity-H /Encoding /Identity-H - /DescendantFonts [175 0 R] - /ToUnicode 178 0 R + /DescendantFonts [243 0 R] + /ToUnicode 246 0 R >> endobj -175 0 obj +243 0 obj << /Type /Font /Subtype /CIDFontType0 @@ -2119,13 +2795,13 @@ endobj /Ordering (Identity) /Supplement 0 >> - /FontDescriptor 177 0 R + /FontDescriptor 245 0 R /DW 0 /W [0 0 500 1 1 504 2 2 456 3 3 619 4 4 551 5 5 325 6 6 654 7 7 730 8 8 718 9 9 250 10 10 1028 11 11 706 12 12 616 13 13 358 14 14 489 15 15 427 16 16 514 17 17 244 18 18 899 19 19 505.99997 20 20 521 21 21 817 22 22 428 23 23 542 24 24 529 25 25 514 26 26 734 27 27 322 28 28 716 29 29 514 30 30 740 31 31 598 32 32 514 33 33 732 34 34 680 35 35 777] >> endobj -176 0 obj +244 0 obj << /Length 13 /Filter /FlateDecode @@ -2135,7 +2811,7 @@ x endstream endobj -177 0 obj +245 0 obj << /Type /FontDescriptor /FontName /TZMEYV+LibertinusSerif-Bold @@ -2146,12 +2822,12 @@ endobj /Descent -246 /CapHeight 645 /StemV 168.6 - /CIDSet 176 0 R - /FontFile3 179 0 R + /CIDSet 244 0 R + /FontFile3 247 0 R >> endobj -178 0 obj +246 0 obj << /Length 1100 /Type /CMap @@ -2226,7 +2902,7 @@ end endstream endobj -179 0 obj +247 0 obj << /Length 4353 /Filter /FlateDecode @@ -2258,15 +2934,15 @@ a endstream endobj -180 0 obj -[/ICCBased 182 0 R] +248 0 obj +[/ICCBased 250 0 R] endobj -181 0 obj -[/ICCBased 183 0 R] +249 0 obj +[/ICCBased 251 0 R] endobj -182 0 obj +250 0 obj << /Length 258 /N 1 @@ -2281,7 +2957,7 @@ F endstream endobj -183 0 obj +251 0 obj << /Length 314 /N 3 @@ -2295,111 +2971,143 @@ x endstream endobj -184 0 obj -[223 0 R /XYZ 70.86614 738.84607 0] +252 0 obj +[300 0 R /XYZ 70.86614 738.84607 0] endobj -185 0 obj -[223 0 R /XYZ 70.86614 675.262 0] +253 0 obj +[300 0 R /XYZ 70.86614 675.064 0] endobj -186 0 obj -[223 0 R /XYZ 70.86614 762.70416 0] +254 0 obj +[300 0 R /XYZ 70.86614 762.70416 0] endobj -187 0 obj -[223 0 R /XYZ 70.86614 605.89185 0] +255 0 obj +[300 0 R /XYZ 70.86614 603.71985 0] endobj -188 0 obj -[223 0 R /XYZ 70.86614 542.30774 0] +256 0 obj +[300 0 R /XYZ 70.86614 529.68976 0] endobj -189 0 obj -[223 0 R /XYZ 70.86614 629.74994 0] +257 0 obj +[300 0 R /XYZ 70.86614 627.57794 0] endobj -190 0 obj -[223 0 R /XYZ 70.86614 472.93762 0] +258 0 obj +[300 0 R /XYZ 70.86614 458.3456 0] endobj -191 0 obj -[223 0 R /XYZ 70.86614 355.13754 0] +259 0 obj +[300 0 R /XYZ 70.86614 345.67554 0] endobj -192 0 obj -[223 0 R /XYZ 70.86614 496.7957 0] +260 0 obj +[300 0 R /XYZ 70.86614 482.2037 0] endobj -193 0 obj -[223 0 R /XYZ 70.86614 267.69537 0] +261 0 obj +[300 0 R /XYZ 70.86614 203.32135 0] endobj -194 0 obj -[223 0 R /XYZ 70.86614 204.11133 0] +262 0 obj +[300 0 R /XYZ 70.86614 139.5393 0] endobj -195 0 obj -[223 0 R /XYZ 70.86614 291.55347 0] +263 0 obj +[300 0 R /XYZ 70.86614 227.17944 0] endobj -196 0 obj -[223 0 R /XYZ 70.86614 788.1102 0] +264 0 obj +[300 0 R /XYZ 70.86614 788.1102 0] endobj -197 0 obj -[240 0 R /XYZ 70.86614 788.1102 0] +265 0 obj +[317 0 R /XYZ 70.86614 788.1102 0] endobj -198 0 obj -[223 0 R /XYZ 70.86614 583.5818 0] +266 0 obj +[300 0 R /XYZ 81.07814 716.536 0] endobj -199 0 obj -[223 0 R /XYZ 70.86614 432.55554 0] +267 0 obj +[300 0 R /XYZ 81.07814 652.7539 0] endobj -200 0 obj -[223 0 R /XYZ 70.86614 414.48352 0] +268 0 obj +[300 0 R /XYZ 81.07814 507.3797 0] endobj -201 0 obj -[223 0 R /XYZ 70.86614 332.82745 0] +269 0 obj +[300 0 R /XYZ 81.07814 581.4098 0] endobj -202 0 obj -[223 0 R /XYZ 70.86614 450.62753 0] +270 0 obj +[300 0 R /XYZ 81.07814 554.8658 0] endobj -203 0 obj -[223 0 R /XYZ 70.86614 245.38531 0] +271 0 obj +[300 0 R /XYZ 81.07814 323.36548 0] endobj -204 0 obj -[223 0 R /XYZ 70.86614 396.41153 0] +272 0 obj +[300 0 R /XYZ 81.07814 403.44354 0] endobj -205 0 obj +273 0 obj +[300 0 R /XYZ 81.07814 436.03552 0] +endobj + +274 0 obj +[300 0 R /XYZ 81.07814 387.14752 0] +endobj + +275 0 obj +[300 0 R /XYZ 81.07814 307.06946 0] +endobj + +276 0 obj +[300 0 R /XYZ 81.07814 419.73953 0] +endobj + +277 0 obj +[300 0 R /XYZ 81.07814 181.01129 0] +endobj + +278 0 obj +[300 0 R /XYZ 81.07814 117.22925 0] +endobj + +279 0 obj +[300 0 R /XYZ 81.07814 164.71527 0] +endobj + +280 0 obj +[300 0 R /XYZ 81.07814 370.85153 0] +endobj + +281 0 obj << /Type /Page /Resources << /ProcSet [/PDF /Text /ImageC /ImageB] /ColorSpace << - /c0 180 0 R + /c0 248 0 R >> /Font << - /f0 174 0 R - /f1 168 0 R + /f0 242 0 R + /f1 236 0 R >> >> /MediaBox [0 0 595.2756 841.8898] /StructParents 0 /Parent 1 0 R - /Contents 206 0 R + /Contents 282 0 R >> endobj -206 0 obj +282 0 obj << /Length 437 /Filter /FlateDecode @@ -2410,211 +3118,211 @@ x endstream endobj -207 0 obj +283 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 744.80817 524.4094 752.70416] /Border [0 0 0] - /Dest 196 0 R + /Dest 264 0 R /F 4 /StructParent 1 /Contents >> endobj -208 0 obj +284 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 728.51215 524.4094 736.40814] /Border [0 0 0] - /Dest 186 0 R + /Dest 254 0 R /F 4 /StructParent 2 /Contents >> endobj -209 0 obj +285 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 712.2162 524.4094 720.1122] /Border [0 0 0] - /Dest (ping) + /Dest 252 0 R /F 4 /StructParent 3 /Contents >> endobj -210 0 obj +286 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 695.92017 524.4094 703.81616] /Border [0 0 0] - /Dest (pong) + /Dest 253 0 R /F 4 /StructParent 4 /Contents >> endobj -211 0 obj +287 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 679.62415 524.4094 687.52014] /Border [0 0 0] - /Dest 189 0 R + /Dest 257 0 R /F 4 /StructParent 5 /Contents >> endobj -212 0 obj +288 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 663.3282 524.4094 671.2242] /Border [0 0 0] - /Dest (reg_pin) + /Dest 255 0 R /F 4 /StructParent 6 /Contents >> endobj -213 0 obj +289 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 647.03217 524.4094 654.92816] /Border [0 0 0] - /Dest (reg_start) + /Dest 256 0 R /F 4 /StructParent 7 /Contents >> endobj -214 0 obj +290 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 630.73615 524.4094 638.6322] /Border [0 0 0] - /Dest 192 0 R + /Dest 260 0 R /F 4 /StructParent 8 /Contents >> endobj -215 0 obj +291 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 614.4402 524.4094 622.3362] /Border [0 0 0] - /Dest (auth_nonce) + /Dest 258 0 R /F 4 /StructParent 9 /Contents >> endobj -216 0 obj +292 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 598.14417 524.4094 606.04016] /Border [0 0 0] - /Dest (auth_start) + /Dest 259 0 R /F 4 /StructParent 10 /Contents >> endobj -217 0 obj +293 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 581.84814 524.4094 589.74414] /Border [0 0 0] - /Dest 195 0 R + /Dest 263 0 R /F 4 /StructParent 11 /Contents >> endobj -218 0 obj +294 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 565.5521 524.4094 573.4481] /Border [0 0 0] - /Dest (session_start) + /Dest 261 0 R /F 4 /StructParent 12 /Contents >> endobj -219 0 obj +295 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 549.25616 524.4094 557.15216] /Border [0 0 0] - /Dest (session_vote) + /Dest 262 0 R /F 4 /StructParent 13 /Contents >> endobj -220 0 obj +296 0 obj << /Type /Annot /Subtype /Link /Rect [70.86614 532.9602 524.4094 540.8562] /Border [0 0 0] - /Dest 197 0 R + /Dest 265 0 R /F 4 /StructParent 14 /Contents >> endobj -221 0 obj +297 0 obj << /Type /Page /Resources << /ProcSet [/PDF /Text /ImageC /ImageB] /ColorSpace << - /c0 180 0 R + /c0 248 0 R >> /Font << - /f0 174 0 R - /f1 168 0 R + /f0 242 0 R + /f1 236 0 R >> >> /MediaBox [0 0 595.2756 841.8898] /StructParents 15 /Tabs /S /Parent 1 0 R - /Contents 222 0 R - /Annots [207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R] + /Contents 298 0 R + /Annots [283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R] >> endobj -222 0 obj +298 0 obj << /Length 7108 /Filter /FlateDecode @@ -2646,316 +3354,338 @@ D endstream endobj -223 0 obj +299 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [91.57814 230.25946 242.65814 246.55548] + /Border [0 0 0] + /A << + /Type /Action + /S /URI + /URI (https://git.jsw.tf/jsw/schoolbox-ws/src/commit/6acc935609d5c0de52aa752b69ccbaea84301b87/src/auth.ts#L9-L32) + >> + /F 4 + /StructParent 16 + /Contents (https://git.jsw.tf/jsw/schoolbox-ws/src/commit/6acc935609d5c0de52aa752b69ccbaea84301b87/src/auth.ts#L9-L32) +>> +endobj + +300 0 obj << /Type /Page /Resources << /ProcSet [/PDF /Text /ImageC /ImageB] /ColorSpace << - /c0 180 0 R - /c1 181 0 R + /c0 248 0 R + /c1 249 0 R >> /Font << - /f0 174 0 R - /f1 168 0 R + /f0 242 0 R + /f1 236 0 R >> >> /MediaBox [0 0 595.2756 841.8898] - /StructParents 16 + /StructParents 17 + /Tabs /S /Parent 1 0 R - /Contents 224 0 R + /Contents 301 0 R + /Annots [299 0 R] >> endobj -224 0 obj +301 0 obj << - /Length 4120 + /Length 5205 /Filter /FlateDecode >> stream -x]ێ}߯ EZV| x,?H8Wf3=={Q7BѮVfXaw~>O_wϻ/_7ܩNu/sl:<7?ܽUߨonQ;ձݿ~O_)^)QO77ۯn΅a L䌲 #OvO?}4?W^4 e7diZj \̈́s<|xv/Yu~,;LVq!k5n5ۈL.i Jb;`;(X)ʛ w܋=Z:|i&;)c|ȧO宐JL:rR E$%v_1 -+!<˫eimEBuگQBN_2QSdu_ - $;x+Yty{f!6vo]BΖحY'킐5RIsKnrn`ޔ$्rL.xiҐJnZ.iG^傛\ڋɝ$N>lPJ:]]E ޹ߛKNFeeHL=/3$y(DU)́B YA>ŐM܏FőKUjcfU'%,K4 -q_v/PJ(d{ gY.ucq֓h^ j1,FGyRړ+%:ot>s(Eg!=fJk*OYV. ~,6YhG$ΣhXX!l_ RxҲqـȊh|fgUp56c*6\}WgmĖ0 T~M4d aXGl ˹|dxj%ԔlA>bu.Um&R>bm.Y|ĺ\>U>m\zrMoz^P_aHS఻1(ÈR 8i&eg ԣ Vv%/D{t gUe銊Uar<ms`o4ژ4#eB A>P[&*!z -M5;MϗN9?_zl+nr<E{·=Rw}Iŧ%[WO. +!㨈[ګCw\ۘ tP&*A>mk0t>f]Yᖌ}2oy# QM|b& Z1 >WomCMî,ҢJ4,r1,wUql% xKRģ =( +J+%!֋!뼷%o ]1+C[Wy~z[8}MіP3@#+-)c_HX=ܙV@-c ;2Y,yE;Jךaѵk1PM2Y~|cdlU;Yq6;jQ=;$.ijc0 -f󪺢t!7j~"ZN3=@k;%ܪU i䪝5ë$HW5xa|NbUM=ä^4gCLJbONw'w\7\ѵϐL,"$.}!#$?} IS#Z]+)/aBv֔B~8O~WU1@ -\~I4)VWe**翐*<-6)}P翕[bnQL^ 3c*i -a֒nw`ٽ] -[eh͚4։6i8ZC/1PЩwAYbR!XFe!ǣ36JmQ18t|l ͳzBD=URNȰwC iS%5_;Y[UʕAOԾ3JjQŝ+/)Jej(Hdʨ;eԮ2OʨJ­+ W/j$HR>)X<$#Qpߐ|RFՒ`nJ^LܙsjQ+y60_WqA"%#r|šIYL+x59O>E'JJTHZ{gֲqԞ[HeGQY*UicE;_36[֔mAϳ`Z|yU_QyK -oNTB0){y&U3]ҺYk>cN#q8×njAY|cY_U%geZ*?ڛuk_949uՄbҫY-Q$) T`[$ol/*cUdZնr|Na_/0"OxYyGdŴ2nȃ'?[=:{Et$rEaim;O)@:4i_zфGӝozфlaKZ-Oֵs__~~4J-giӫ![ H'}Fv9Znp=kIIj>$zxDɱ寝-Mvd6' -鯂BMh]<òٯ[Zg@I$㴮5@ |7N |jʶ Wukba\~I&7Y %ܬ8I#hKL[7ޛG:b鑂ZF0u~m&Eڪݽf[Msr$(#aSLWyJ/J]hI`ƍv4I;S[tZp25[V#PjYХ@vEGEʤV&sOIf3t$ b|$`#{jK"> MfibL S?[Я(ڒ:Ƨ:We绮bD_SvƯ$6%~T6Q9!]:ߨC:,zLsg_A :BԭR=TkERȚ##dTlKb)[tgeHZU1bM.$BN4i=j}x@JmmĤ( tsL6XM &iH&2ѶBSS9 sHwNTYyu40"2n2~ JDS(4n_}Urmr?4Op4̳1gdN94Θ J `|x|O/?=鿿ӷ?=~pII4GACm@o>%-: +x]ےq}(Kvh'l w{.%E밃|@K{&WW.=j\jىDf"u߿_w7w~};թw^QpM'Ft>餺?}rIuoNTǎBzzD]^>NV„@(0r~ewyWїWs\Ixjh2 +oȬs5pѓbgw56h;׽b}~(}U0r2 ?WHʊ[oTfUZuቚ]IlSi1fd{1{_=ZIaJQBCMafl&;)0SӫrUA-N.(tDKx>TgH dln4$*+fكSʖGP0KbP:t RN Rphgoy?(#Їhe"?bIFJlBTraCC01'fyr`>$ؒ'XeU l6R20!!Xڋɛ%N>PxxZN=ԣUE]mA4^6rzKqc6KLXf-"l+ 3kCb Se%*=HVT=F~O}%Ww+Kda{byi\XOZL*u=-3mUһn,}W_J|j|$ojV +Z{{(h6F7!CEVԙLM +MͩV6"~-5i=֚jv)6M<O77C*yx%fplb6p@btm}*wpy dzvsv8s,E1U6&B{[ꬒ&:ʈeDY2*Z͈棷 2ȈeD-2TʈlfDG_9͈Ĵ +ߎQ-ߩGaihx6WlQ#CJՌ+G9 mbmabmaT]1USS^:@Cs֐bĤ=֑(eIzn[}]xZ_h( ]=Zi{G>CEmˁSv<>Rw7_m )krZGX"Hё;a+% w,TX~!O }kK'E_V}n"^O +OLJO}˻7厛>p< +l +(<};{prz-qɍWbkio5I?&eR2맻xWw}|P u~;xp^ +<4L~4|OJ~ +[{ɖ&qJv`tNj3JfWTv]Jt!_ӁѾVc|D7m%(х|HKt̩jBn+rX(ѡiU;]%V.Ax`qeuC+sv+%1 \MQ̘!]E1ۯeB$t5tC7Ʈek5%[^׎,mAl*a8 ʃ4^=ɭ4 `=IjIw/jVGX!P;uy?kRa ؿVSh`tvǺ0 ݶbczʃ(ԜV=`\ ]he0x&&Fc6S#[ ؂1PT{V-뢘KbER:Lur:>Cĵ-rtzPx&zc}!.uӭV[,|AHST6yX->/'\"G +=&"X\k%=6^IA)YVδLmKjf5{D1`H^.*B)Ւn}ineCX;kKٔSgC +@g\y<V /yDpa ᥀ỊҫV%T`ŅV*Edyu5e~eӳgW5T>x,<籫cZm"dG?֨VwLs>p61ӎf=f@Iw8/W\oAi5)§I!aO[ QhuW\Q/ZO:D܋ds+6_ABVj ?I7,?5e+H?*gSFUt3?I7&A$ӳ'+I,|Y8DOQ,Ѕȓ,p۲pbdjھ "'Yx ,O b'Yx-vR?͜ 8@NIox W$`-Jp~~lwcFU@ ·'㯹 ´'98=~YO*_7s-f6sG"q3WIma0;V>B~3c~3&@0(zՒlһ_L<3͛7)\5:oGdz}ڢQ?)kN:ȹŚmс"{ e}_IYZ*-cĭ\Id~CڝYbG*KESׁj]jPɾz>~˵W +VmE'˿.{V*& w_;᷎&X.},Y _Mԍ&c>_GV]̳\vWܴX!ncơ [AQ!qH,'+֮w;M;ƍ)D,zb!ብC=mŰ|@xWF΅c}x`cZ,3*I;#,3p>^:$PLYi#2?N)^-okv/EXVFO7[km0O7uy jY@t k㪕 R|(Idb o {,݌8,VU5e1bb[ͪA`X:0cY OO<DzX5ݺuاp!m:^LvG >7b{n`.5kb.5k6 =wriwP.aXWdC`}幚Kޒ׮q=ŰŔ ȃ"]39h}5p7wRQ=ZC0oQ/M WY-bIܲ5 [$_?g_~5-7=\AC^yC1G4v_AfMABPa|x_K Sbjx1ILJ &yzn͢Yw_]2y7_PʴHg˙2L ?:[U݉yS Mj fuwyͦnrMZ#c5)[mMa&P,zִTLEC"ͳL웹}s9x>OJkt~:><Ԛ ,IGDߓOOuOȓB>) ۇubVkdޑ Q(ӯߪ)8a8BfL.=t44y,<=WxvCrSt&w>^9x#8 +M}$6vu,B5iYF;M\N p:TxrW p[S5Ǹd8=Vq;hRł $6q7@3\87J(d<­%ܬT>E=.{ 1IS*?L:Z0-d[,xtYTLcW=l5&'q:x홸WxMB֘[z JƤ#>J(ɩdF%.aV%ӎD];\Б@vs+7IH9ߚ)GD C*9aV^:?W&0B? +RP}9.5f1wq8USАc)@>b7vԐb*ԔmEYACp XWhV.& rbRYBRIit_ΰB[Kwob䁼c&Z빐4f vug.$ i1HZkբ:b!$o kʶ&C61,V*Fu̅1F㯉 cpz̔1FZҽ<ώbdŖ`7R?Xq95'lX.VFxo 7?]Fp$㕷A==AXi4Ѻq㺽!t,,'AXWn_V GG';XХHO\#yLU$Q@7gk(ZmڪRF+R=BַːBPİ1 ·u{Ln;^g}A&<~O?<?L@AR8 +^?g-'# endstream endobj -225 0 obj +302 0 obj << /Type /Annot /Subtype /Link /Rect [487.2558 731.60815 509.2398 747.9042] /Border [0 0 0] - /Dest (ping) + /Dest 266 0 R /F 4 - /StructParent 17 - /Contents (Section 1.1.1) + /StructParent 18 + /Contents (page 3) >> endobj -226 0 obj +303 0 obj << /Type /Annot /Subtype /Link /Rect [485.8158 675.71216 510.6798 692.0082] /Border [0 0 0] - /Dest (pong) + /Dest 267 0 R /F 4 - /StructParent 18 - /Contents (Section 1.1.2) + /StructParent 19 + /Contents (page 3) >> endobj -227 0 obj +304 0 obj << /Type /Annot /Subtype /Link /Rect [94.33379 675.71216 138.1098 692.0082] /Border [0 0 0] - /Dest (reg_start) + /Dest 268 0 R /F 4 - /StructParent 19 - /Contents (Section 1.2.2) + /StructParent 20 + /Contents (page 3) >> endobj -228 0 obj +305 0 obj << /Type /Annot /Subtype /Link /Rect [97.44779 619.81616 134.99579 636.1122] /Border [0 0 0] - /Dest (reg_pin) - /F 4 - /StructParent 20 - /Contents (Section 1.2.1) ->> -endobj - -229 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [99.343796 563.92017 133.0998 580.2162] - /Border [0 0 0] - /Dest 198 0 R + /Dest 269 0 R /F 4 /StructParent 21 /Contents (page 3) >> endobj -230 0 obj +306 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [99.343796 563.92017 133.0998 580.2162] + /Border [0 0 0] + /Dest 270 0 R + /F 4 + /StructParent 22 + /Contents (page 3) +>> +endobj + +307 0 obj << /Type /Annot /Subtype /Link /Rect [365.0718 675.71216 415.2198 692.0082] /Border [0 0 0] - /Dest (auth_start) - /F 4 - /StructParent 22 - /Contents (Section 1.3.2) ->> -endobj - -231 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [214.0938 675.71216 276.2298 692.0082] - /Border [0 0 0] - /Dest 199 0 R + /Dest 271 0 R /F 4 /StructParent 23 /Contents (page 3) >> endobj -232 0 obj +308 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [214.0938 675.71216 276.2298 692.0082] + /Border [0 0 0] + /Dest 272 0 R + /F 4 + /StructParent 24 + /Contents (page 3) +>> +endobj + +309 0 obj << /Type /Annot /Subtype /Link /Rect [361.39978 619.81616 418.89178 636.1122] /Border [0 0 0] - /Dest (auth_nonce) - /F 4 - /StructParent 24 - /Contents (Section 1.3.1) ->> -endobj - -233 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [195.8478 563.92017 294.4758 580.2162] - /Border [0 0 0] - /Dest 200 0 R + /Dest 273 0 R /F 4 /StructParent 25 /Contents (page 3) >> endobj -234 0 obj +310 0 obj << /Type /Annot /Subtype /Link - /Rect [356.8878 563.92017 423.4038 580.2162] + /Rect [195.8478 563.92017 294.4758 580.2162] /Border [0 0 0] - /Dest 201 0 R + /Dest 274 0 R /F 4 /StructParent 26 /Contents (page 3) >> endobj -235 0 obj +311 0 obj << /Type /Annot /Subtype /Link - /Rect [370.0818 508.02417 410.2098 524.3202] + /Rect [356.8878 563.92017 423.4038 580.2162] /Border [0 0 0] - /Dest 202 0 R + /Dest 275 0 R /F 4 /StructParent 27 /Contents (page 3) >> endobj -236 0 obj +312 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [370.0818 508.02417 410.2098 524.3202] + /Border [0 0 0] + /Dest 276 0 R + /F 4 + /StructParent 28 + /Contents (page 3) +>> +endobj + +313 0 obj << /Type /Annot /Subtype /Link /Rect [84.595795 396.23218 147.8478 412.52817] /Border [0 0 0] - /Dest (session_start) + /Dest 277 0 R /F 4 - /StructParent 28 - /Contents (Section 1.4.1) + /StructParent 29 + /Contents (page 3) >> endobj -237 0 obj +314 0 obj << /Type /Annot /Subtype /Link /Rect [85.165794 340.33615 147.2778 356.63217] /Border [0 0 0] - /Dest (session_vote) - /F 4 - /StructParent 29 - /Contents (Section 1.4.2) ->> -endobj - -238 0 obj -<< - /Type /Annot - /Subtype /Link - /Rect [85.3278 284.4402 147.1158 300.73615] - /Border [0 0 0] - /Dest 203 0 R + /Dest 278 0 R /F 4 /StructParent 30 /Contents (page 3) >> endobj -239 0 obj +315 0 obj << /Type /Annot /Subtype /Link - /Rect [342.4758 396.23218 437.8158 412.52817] + /Rect [85.3278 284.4402 147.1158 300.73615] /Border [0 0 0] - /Dest 204 0 R + /Dest 279 0 R /F 4 /StructParent 31 /Contents (page 3) >> endobj -240 0 obj +316 0 obj +<< + /Type /Annot + /Subtype /Link + /Rect [342.4758 396.23218 437.8158 412.52817] + /Border [0 0 0] + /Dest 280 0 R + /F 4 + /StructParent 32 + /Contents (page 3) +>> +endobj + +317 0 obj << /Type /Page /Resources << /ProcSet [/PDF /Text /ImageC /ImageB] /ColorSpace << - /c0 180 0 R - /c1 181 0 R + /c0 248 0 R + /c1 249 0 R >> /Font << - /f0 174 0 R - /f1 168 0 R + /f0 242 0 R + /f1 236 0 R >> >> /MediaBox [0 0 595.2756 841.8898] - /StructParents 32 + /StructParents 33 /Tabs /S /Parent 1 0 R - /Contents 241 0 R - /Annots [225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R] + /Contents 318 0 R + /Annots [302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 312 0 R 313 0 R 314 0 R 315 0 R 316 0 R] >> endobj -241 0 obj +318 0 obj << - /Length 2910 + /Length 2909 /Filter /FlateDecode >> stream -x\K`l*Ջ"bd 7im#ofg~}sK&aW7/u0azJdŀMY%:L]^u/:Lg0QOC5 - LO~Hu^t}{vs21w(a&a&Tw;-W_uإO~o2_޽N_0Ձ<;RhWW/!d+?xCIݫd -Y2d{”A ג>t$L;ƫ'wډZ}&ii⭴6̈́7DU@KH+pfJ(n#$T}yR:\;\QfɤBu0Q.f4!pL Y[X^JbF`T|4DdMdǙQRjiпy. _7(È%:G#*Sj(W*rZ Y_(EP%1W.[.. 1v_o0XQ(sKOY pbMQգbhAA*I)&PiI?+JOKVULRT@Xּ"À4(0K$QySyUTZW1D՘!kݣ~kAԘcOTcPcigQp`@F3#c^z[^zNj&B(NuVp%P`WlXiI>ђl˒l몶(g:>X%)n##&p&KTiVQHke}yfW5}CP{lcYjRd@9l5e.sU+JcM˙<Q,zPޕ>,HS{wc;tk5i$r"bGaQQ:q'\ -ZWڟz26alEiq :`=] -@Rڧu@9S:M#uZzU+NX[eeZc'4T{}ⷎKijgJ/ɑp+}۾Vg,)W|vI5s;S{E}^7&;GJ3 +׍}*96#=JBG2gC>vƒ8vG}f0vwpx?+AQ@ۻ h&POVY Ǚ$#1jM'*P#׍ރ\b{١Oe('&W3yL@2M;(zn&\|ɥqf Hf0*{ArQֵTwPo)5q%ݝKǽj:-;Y=^eNInxLj`\QIfT(7$-"o>U[ecTקO]|{uJfK .l]qF9D٘}Of0i=ݎ 08øshH~ >#" T%EEۛrWw.zIMľx.9 h +x\o߿MP~hAIpz`+q–SGE>J;r8ߐWN_|ѥt_I}eݿ:J0=d^ +ib,CwqoWחO;LT}׈_g?o/w߾|]ܞ mLb~a N ys{6vd|won/wjj)4ūӫNˎw]$ +Ba2,Wpt=AaʠąkI:jR@UDwDKA״4NZff*%83c%﶑/GgU~;j_甇N[;ܴQfɤBu0Q.f4!pL Y[X^JbF`T|4DdMdǙQRjiпy. _7(È%:G#*Sj(W*rZ Y_(EP%1W.[. 1v_o0XQ(sKOY pbMQգbhAA *I)&PiI?+JOKVULRT@Xּ"À4(0K$:E.Qb=L[_ +~:,eu7uZ]MMp}HKLСZ9Y=VE9v^D5 5V{5vgDk780y\LP(v}-P#JjvrӒbM}}%ٖ%41UmI,i72it|*J6SFGLVL6Ҭb2:oל 66 ^D-̊jOPW5 ק Cɒbs+j\xEë.vW + 2ܟǚ:&73y,L#Y(n<6+}Y!vHk HDxWĎ¢8t2Np9̵tɵ?( dl~>ы1h)y291t9\|.,õAt*{>MOUցr&;u.Gv9 [W>HF%4 NQi|>vToBΔ^Г#^GW}I/<,϶ẎS&!qn(;NV͓jv <2U4\;ڣΆQÇ_z}@k0|} +b8l'J}W3&mb?QnˆwU>Te]x*+ @yh8o0 `(h#GGs3䢠 H.=36'<4!7F2(OǴU *;bϖ'x;Mo/FH9(_:OU[oynrѼ*sOv3GD gRkJJ2EQ$8y'0^W*{禺>{z;S5[qaL3!}}7ˇy7uO빿}qnGfl}xa܂9UCi +4T$Nf?Α fq K⳽xbmҡx[F4:*'8> endobj -243 0 obj +320 0 obj << /Length 1158 /Type /Metadata /Subtype /XML >> stream -SchoolBOX WSJurn WubbenTypst 0.14.0en2025-11-07T15:17:30+01:002025-11-07T15:17:30+01:004application/pdfEsiFnDBrn7E+8Igy9xxIdQ==GpZRDYKXljiVVkByDsdVpw==proof1.7 +SchoolBOX WSJurn WubbenTypst 0.14.0en2025-11-07T23:35:27+01:002025-11-07T23:35:27+01:004application/pdfjVpkkScfXsJdLcjPLAosmQ==GpZRDYKXljiVVkByDsdVpw==proof1.7 endstream endobj -244 0 obj +321 0 obj << /Type /Catalog /Pages 1 0 R - /Metadata 243 0 R + /Metadata 320 0 R /Lang (en) /StructTreeRoot 17 0 R /MarkInfo << @@ -2966,16 +3696,11 @@ endobj /Direction /L2R >> /Outlines 2 0 R - /Names << - /Dests << - /Names [(ping) 184 0 R (pong) 185 0 R (reg_pin) 187 0 R (reg_start) 188 0 R (auth_nonce) 190 0 R (auth_start) 191 0 R (session_start) 193 0 R (session_vote) 194 0 R] - >> - >> >> endobj xref -0 245 +0 322 0000000000 65535 f 0000000016 00000 n 0000000106 00000 n @@ -2994,240 +3719,317 @@ xref 0000001564 00000 n 0000001660 00000 n 0000001756 00000 n -0000002311 00000 n -0000002370 00000 n -0000002733 00000 n -0000004929 00000 n -0000005095 00000 n -0000005437 00000 n -0000005635 00000 n -0000005772 00000 n -0000005927 00000 n -0000006064 00000 n -0000006219 00000 n -0000006356 00000 n -0000006511 00000 n -0000006648 00000 n -0000006803 00000 n -0000006940 00000 n -0000007095 00000 n -0000007232 00000 n -0000007387 00000 n -0000007524 00000 n -0000007679 00000 n -0000007816 00000 n -0000007971 00000 n -0000008108 00000 n -0000008263 00000 n -0000008400 00000 n -0000008555 00000 n -0000008692 00000 n -0000008846 00000 n -0000008983 00000 n -0000009137 00000 n -0000009274 00000 n -0000009428 00000 n -0000009565 00000 n -0000009719 00000 n -0000009856 00000 n -0000010010 00000 n -0000010119 00000 n -0000010251 00000 n -0000010447 00000 n -0000010554 00000 n -0000010686 00000 n -0000010810 00000 n -0000010942 00000 n -0000011134 00000 n -0000011241 00000 n -0000011349 00000 n -0000011481 00000 n -0000011673 00000 n -0000011805 00000 n -0000011929 00000 n -0000012036 00000 n -0000012168 00000 n -0000012336 00000 n -0000012468 00000 n -0000012636 00000 n -0000012768 00000 n -0000012924 00000 n -0000013056 00000 n -0000013180 00000 n -0000013312 00000 n -0000013504 00000 n -0000013611 00000 n -0000013726 00000 n -0000013858 00000 n -0000013972 00000 n -0000014077 00000 n -0000014209 00000 n -0000014323 00000 n -0000014455 00000 n -0000014623 00000 n -0000014728 00000 n -0000014839 00000 n -0000014971 00000 n -0000015085 00000 n -0000015190 00000 n -0000015322 00000 n -0000015460 00000 n -0000015592 00000 n -0000015702 00000 n -0000015805 00000 n -0000015911 00000 n -0000016016 00000 n -0000016113 00000 n -0000016196 00000 n -0000016336 00000 n -0000016496 00000 n -0000016587 00000 n -0000016725 00000 n -0000016815 00000 n -0000016898 00000 n -0000017038 00000 n -0000017198 00000 n -0000017289 00000 n -0000017372 00000 n -0000017512 00000 n -0000017672 00000 n -0000017763 00000 n -0000017846 00000 n -0000017986 00000 n -0000018146 00000 n -0000018237 00000 n -0000018327 00000 n -0000018410 00000 n -0000018550 00000 n -0000018710 00000 n -0000018801 00000 n -0000018884 00000 n -0000019024 00000 n -0000019184 00000 n -0000019275 00000 n -0000019358 00000 n -0000019498 00000 n -0000019658 00000 n -0000019749 00000 n -0000019839 00000 n -0000019922 00000 n -0000020062 00000 n -0000020222 00000 n -0000020313 00000 n -0000020396 00000 n -0000020536 00000 n -0000020696 00000 n -0000020787 00000 n -0000020870 00000 n -0000021010 00000 n -0000021170 00000 n -0000021261 00000 n -0000021351 00000 n -0000021434 00000 n -0000021574 00000 n -0000021734 00000 n -0000021825 00000 n -0000021908 00000 n -0000022048 00000 n -0000022206 00000 n -0000022296 00000 n -0000022379 00000 n -0000022519 00000 n -0000022677 00000 n -0000022767 00000 n -0000022850 00000 n -0000022990 00000 n -0000023148 00000 n -0000023238 00000 n -0000023342 00000 n -0000023429 00000 n -0000023518 00000 n -0000023605 00000 n -0000023684 00000 n -0000023777 00000 n -0000023962 00000 n -0000024766 00000 n -0000024857 00000 n -0000025114 00000 n -0000026646 00000 n -0000033611 00000 n -0000033793 00000 n -0000034375 00000 n -0000034466 00000 n -0000034719 00000 n -0000035901 00000 n -0000040360 00000 n -0000040398 00000 n -0000040436 00000 n -0000040795 00000 n -0000041218 00000 n -0000041272 00000 n -0000041324 00000 n -0000041378 00000 n -0000041432 00000 n -0000041486 00000 n -0000041540 00000 n -0000041594 00000 n -0000041648 00000 n -0000041701 00000 n -0000041755 00000 n -0000041809 00000 n -0000041863 00000 n -0000041916 00000 n -0000041969 00000 n -0000042022 00000 n -0000042076 00000 n -0000042130 00000 n -0000042184 00000 n -0000042238 00000 n -0000042292 00000 n -0000042346 00000 n -0000042638 00000 n -0000043154 00000 n -0000043416 00000 n -0000043690 00000 n -0000043957 00000 n -0000044226 00000 n -0000044512 00000 n -0000044782 00000 n -0000045056 00000 n -0000045349 00000 n -0000045622 00000 n -0000045898 00000 n -0000046165 00000 n -0000046442 00000 n -0000046720 00000 n -0000046997 00000 n -0000047425 00000 n -0000054613 00000 n -0000054924 00000 n -0000059124 00000 n -0000059314 00000 n -0000059504 00000 n -0000059699 00000 n -0000059893 00000 n -0000060078 00000 n -0000060274 00000 n -0000060458 00000 n -0000060656 00000 n -0000060840 00000 n -0000061024 00000 n -0000061208 00000 n -0000061409 00000 n -0000061609 00000 n -0000061792 00000 n -0000061977 00000 n -0000062431 00000 n -0000065421 00000 n -0000065596 00000 n -0000066845 00000 n +0000002321 00000 n +0000002380 00000 n +0000002743 00000 n +0000005477 00000 n +0000005643 00000 n +0000005942 00000 n +0000006140 00000 n +0000006277 00000 n +0000006432 00000 n +0000006569 00000 n +0000006724 00000 n +0000006861 00000 n +0000007016 00000 n +0000007153 00000 n +0000007308 00000 n +0000007445 00000 n +0000007600 00000 n +0000007737 00000 n +0000007892 00000 n +0000008029 00000 n +0000008184 00000 n +0000008321 00000 n +0000008476 00000 n +0000008613 00000 n +0000008768 00000 n +0000008905 00000 n +0000009060 00000 n +0000009197 00000 n +0000009351 00000 n +0000009488 00000 n +0000009642 00000 n +0000009779 00000 n +0000009933 00000 n +0000010070 00000 n +0000010224 00000 n +0000010361 00000 n +0000010515 00000 n +0000010624 00000 n +0000010756 00000 n +0000010841 00000 n +0000010922 00000 n +0000011054 00000 n +0000011250 00000 n +0000011340 00000 n +0000011447 00000 n +0000011586 00000 n +0000011671 00000 n +0000011752 00000 n +0000011884 00000 n +0000012008 00000 n +0000012098 00000 n +0000012183 00000 n +0000012264 00000 n +0000012396 00000 n +0000012588 00000 n +0000012678 00000 n +0000012785 00000 n +0000012893 00000 n +0000013039 00000 n +0000013185 00000 n +0000013270 00000 n +0000013351 00000 n +0000013488 00000 n +0000013644 00000 n +0000013734 00000 n +0000013819 00000 n +0000013911 00000 n +0000014001 00000 n +0000014086 00000 n +0000014178 00000 n +0000014268 00000 n +0000014353 00000 n +0000014434 00000 n +0000014566 00000 n +0000014758 00000 n +0000014848 00000 n +0000014933 00000 n +0000015014 00000 n +0000015146 00000 n +0000015350 00000 n +0000015440 00000 n +0000015547 00000 n +0000015712 00000 n +0000015800 00000 n +0000015884 00000 n +0000016019 00000 n +0000016189 00000 n +0000016281 00000 n +0000016369 00000 n +0000016453 00000 n +0000016588 00000 n +0000016758 00000 n +0000016850 00000 n +0000016938 00000 n +0000017022 00000 n +0000017157 00000 n +0000017315 00000 n +0000017407 00000 n +0000017495 00000 n +0000017579 00000 n +0000017714 00000 n +0000017840 00000 n +0000017932 00000 n +0000018020 00000 n +0000018104 00000 n +0000018239 00000 n +0000018445 00000 n +0000018537 00000 n +0000018645 00000 n +0000018761 00000 n +0000018895 00000 n +0000018984 00000 n +0000019068 00000 n +0000019203 00000 n +0000019326 00000 n +0000019417 00000 n +0000019523 00000 n +0000019665 00000 n +0000019754 00000 n +0000019838 00000 n +0000019973 00000 n +0000020089 00000 n +0000020180 00000 n +0000020269 00000 n +0000020353 00000 n +0000020488 00000 n +0000020661 00000 n +0000020752 00000 n +0000020858 00000 n +0000020970 00000 n +0000021104 00000 n +0000021193 00000 n +0000021277 00000 n +0000021412 00000 n +0000021528 00000 n +0000021619 00000 n +0000021725 00000 n +0000021867 00000 n +0000021956 00000 n +0000022040 00000 n +0000022175 00000 n +0000022315 00000 n +0000022406 00000 n +0000022495 00000 n +0000022579 00000 n +0000022714 00000 n +0000022827 00000 n +0000022917 00000 n +0000023021 00000 n +0000023128 00000 n +0000023234 00000 n +0000023331 00000 n +0000023414 00000 n +0000023554 00000 n +0000023714 00000 n +0000023805 00000 n +0000023943 00000 n +0000024033 00000 n +0000024116 00000 n +0000024256 00000 n +0000024416 00000 n +0000024507 00000 n +0000024590 00000 n +0000024730 00000 n +0000024890 00000 n +0000024981 00000 n +0000025064 00000 n +0000025204 00000 n +0000025364 00000 n +0000025455 00000 n +0000025545 00000 n +0000025628 00000 n +0000025768 00000 n +0000025928 00000 n +0000026019 00000 n +0000026102 00000 n +0000026242 00000 n +0000026402 00000 n +0000026493 00000 n +0000026576 00000 n +0000026716 00000 n +0000026876 00000 n +0000026967 00000 n +0000027057 00000 n +0000027140 00000 n +0000027280 00000 n +0000027440 00000 n +0000027531 00000 n +0000027614 00000 n +0000027754 00000 n +0000027914 00000 n +0000028005 00000 n +0000028088 00000 n +0000028228 00000 n +0000028388 00000 n +0000028479 00000 n +0000028569 00000 n +0000028652 00000 n +0000028792 00000 n +0000028952 00000 n +0000029043 00000 n +0000029126 00000 n +0000029266 00000 n +0000029424 00000 n +0000029514 00000 n +0000029597 00000 n +0000029737 00000 n +0000029895 00000 n +0000029985 00000 n +0000030068 00000 n +0000030208 00000 n +0000030366 00000 n +0000030456 00000 n +0000030560 00000 n +0000030647 00000 n +0000030736 00000 n +0000030823 00000 n +0000030902 00000 n +0000030995 00000 n +0000031180 00000 n +0000032034 00000 n +0000032125 00000 n +0000032382 00000 n +0000033988 00000 n +0000041351 00000 n +0000041533 00000 n +0000042115 00000 n +0000042206 00000 n +0000042459 00000 n +0000043641 00000 n +0000048100 00000 n +0000048138 00000 n +0000048176 00000 n +0000048535 00000 n +0000048958 00000 n +0000049012 00000 n +0000049064 00000 n +0000049118 00000 n +0000049172 00000 n +0000049226 00000 n +0000049280 00000 n +0000049333 00000 n +0000049387 00000 n +0000049440 00000 n +0000049494 00000 n +0000049547 00000 n +0000049601 00000 n +0000049654 00000 n +0000049707 00000 n +0000049759 00000 n +0000049812 00000 n +0000049865 00000 n +0000049918 00000 n +0000049971 00000 n +0000050025 00000 n +0000050079 00000 n +0000050133 00000 n +0000050187 00000 n +0000050241 00000 n +0000050295 00000 n +0000050349 00000 n +0000050403 00000 n +0000050457 00000 n +0000050511 00000 n +0000050803 00000 n +0000051319 00000 n +0000051581 00000 n +0000051855 00000 n +0000052123 00000 n +0000052393 00000 n +0000052679 00000 n +0000052947 00000 n +0000053217 00000 n +0000053510 00000 n +0000053778 00000 n +0000054049 00000 n +0000054316 00000 n +0000054585 00000 n +0000054856 00000 n +0000055133 00000 n +0000055561 00000 n +0000062749 00000 n +0000063180 00000 n +0000063522 00000 n +0000068807 00000 n +0000068991 00000 n +0000069175 00000 n +0000069359 00000 n +0000069544 00000 n +0000069729 00000 n +0000069913 00000 n +0000070097 00000 n +0000070283 00000 n +0000070467 00000 n +0000070651 00000 n +0000070835 00000 n +0000071021 00000 n +0000071207 00000 n +0000071390 00000 n +0000071575 00000 n +0000072029 00000 n +0000075018 00000 n +0000075193 00000 n +0000076442 00000 n trailer << - /Size 245 - /Root 244 0 R - /Info 242 0 R - /ID [(GpZRDYKXljiVVkByDsdVpw==) (EsiFnDBrn7E+8Igy9xxIdQ==)] + /Size 322 + /Root 321 0 R + /Info 319 0 R + /ID [(GpZRDYKXljiVVkByDsdVpw==) (jVpkkScfXsJdLcjPLAosmQ==)] >> startxref -67293 +76680 %%EOF \ No newline at end of file diff --git a/manual/manual.typ b/manual/manual.typ index 82b38cd..4e7959d 100644 --- a/manual/manual.typ +++ b/manual/manual.typ @@ -15,91 +15,78 @@ table-index: (enabled: false), listing-index: (enabled: false) ) -// #show link: set text(stroke: blue) - -// #show: mantys( -// name: "SchoolBOX WS", -// version: "0.0.1", -// authors: ( -// "Jurn Wubben", -// ), -// license: "MIT", -// description: "Websocket comminucation between the SchoolBox device and the associated server.", -// repository: "https://git.jsw.tf/jsw/schoolbox-ws", - -// title: "SchoolBox WS", -// date: datetime.today(), -// ) = Messages == Heartbeat === Server -```json +- ```json {"c": "ping"} -``` -```json +``` +- ```json {"e": 0, "info": "Pong missed"} -``` +``` === Device -```json +- ```json {"c": "pong"} -``` +``` == Registration === Server -```json -{"c": "reg_pin", "d": {"pin": 1234}} // Pin is an integer. -``` -```json +- ```json +{"c": "reg_pin", "d": {"pin": 1234}} // Pin is a random integer. Length doesn't really matter, as long as it fits on the screen. +``` +- ```json {"c": "reg_ok"} -``` +``` === Device -```json +- ```json {"c": "reg_start"} -``` +``` == Authentication === Server -```json -{"c": "auth_nonce", "d": {"nonce": "random_string"}} -``` -```json +- ```json +{"c": "auth_nonce", "d": {"nonce": "random_string"}} // Should be a long, random generated string. +``` +- ```json {"c": "auth_ok"} -``` -```json +``` +- ```json {"e": 1, "info": "Invalid packet, wrong ID."} -``` -```json +``` +- ```json {"e": 2, "info": "Invalid signature."} // the info doesn't matter -``` -```json +``` +- ```json {"e": 3, "info": "Logged in at other place."} // the info doesn't matter -``` +``` === Device -```json -{"c": "auth_start"} -``` -```json +- ```json +{"c": "auth_start", "d": {"id": "id"}} // Id that is provided with registration. +``` +- ```json {"c": "auth_validate", "d": {"signature": "HMAC hash of nonce"}} -``` - +``` + - The HMAC is a SHA256 with the password as the key, and the nonce as the data. + - The returned signature is encoded as hex. + - #link("https://git.jsw.tf/jsw/schoolbox-ws/src/commit/6acc935609d5c0de52aa752b69ccbaea84301b87/src/auth.ts#L9-L32")[Example implementation in JS.] == Session === Server -```json +- ```json {"c": "session_start", "d": {"text": "Question?"}} -``` -```json +``` +- ```json {"c": "session_stop"} -``` +``` === Device -```json +- ```json {"c": "session_vote", "d": {"vote": 1}} // Vote is an integer in the range of 1..5 -``` +``` = General flow