-
Notifications
You must be signed in to change notification settings - Fork 4
/
model-package-description-3.0.1.html
1103 lines (980 loc) · 574 KB
/
model-package-description-3.0.1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
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
240
241
242
243
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
271
272
273
274
275
276
277
278
279
280
281
282
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
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
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
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>National Information Exchange Model Model Package Description Specification, 3.0.1</title><style type="text/css" media="all">body { font-family: "Times New Roman", Times, serif; background-color: #FFF; color: #000; margin: 3em; } p.todo { color: #000; background-color: #FCC; } a { text-decoration: none; color: #000; background-color: #FFF; } span.issue, span.issue a { color: #000; background-color: #FCC; } a[href]:hover { color: #000; background-color: #F9FAD4; } a.url { font-family: "Courier New", Courier, monospace; font-size: 80%; } a.ref, span.ref { font-weight: bold; } span.termRef::before { content: "·"; } span.termRef::after { content: "·"; } div.img { width: 100%; text-align: center; } img { width: 100%; } div.table { } div.table > table { margin: auto; } div.title { font-size: 200%; font-weight: bold; margin: 1em 5em; text-align: center; } div.subtitle { font-size: 150%; font-weight: bold; margin: 1em 5em; text-align: center; } div.heading { font-size: 125%; font-weight: bold; margin-top: 1em; margin-bottom: 1em; page-break-after: avoid; page-break-inside: avoid; } div.rule-section > div.heading { font-size: 100%; } div.section, div.rule-section { margin-left: 2em; } div.section div.section { margin-left: 0; } div.section div.heading { margin-left: -2em; } div.box { background-color: #EEE; color: #000; border: solid black 1px; padding: 1.0em; } div.box a { background-color: #EEE; color: #000; } div.box a:hover { background-color: #F9FAD4; color: #000; } div.box + div.box, div.figure + div.box { margin-top: 1em; } div.normativeHead { font-weight: bold; margin-bottom: 1em; } dfn { font-style: normal; } div.sub { margin-left: 2em; } div.sub > *:last-child { margin-bottom: 0; } td,th { border: solid black 1px; } th { color: #000; background-color: #EEE; } table { border-collapse: collapse; } code { font-family: "Courier New", Courier, monospace; font-size: 80%; } pre { font-family: "Courier New", Courier, monospace; font-size: 80%; white-space: pre-wrap; margin: 0; } div.caption { font-weight: bold; text-align: center; page-break-after: avoid; page-break-inside: avoid; } p.hang { text-indent: -2em; margin-left: 2em; } q { quotes: '\201C' '\201D' '\2018' '\2019'; } q:before { content: open-quote; } q:after { content: close-quote; } ol ol > li { list-style-type: upper-alpha; }</style></head><body><div class="title">National Information Exchange Model — Model Package Description Specification</div><div class="subtitle">Version 3.0.1</div><div class="subtitle">April 27, 2015</div><div class="subtitle">NIEM Technical Architecture Committee (NTAC)</div><div class="img"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAACgCAYAAACc/t08AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKL2lDQ1BJQ0MgUHJvZmlsZQAASMedlndUVNcWh8+9d3qhzTACUobeu8AA0nuTXkVhmBlgKAMOMzSxIaICEUVEmiJIUMSA0VAkVkSxEBRUsAckCCgxGEVULG9G1ouurLz38vL746xv7bP3ufvsvc9aFwCSpy+XlwZLAZDKE/CDPJzpEZFRdOwAgAEeYIApAExWRrpfsHsIEMnLzYWeIXICXwQB8HpYvAJw09AzgE4H/5+kWel8geiYABGbszkZLBEXiDglS5Auts+KmBqXLGYYJWa+KEERy4k5YZENPvsssqOY2ak8tojFOaezU9li7hXxtkwhR8SIr4gLM7mcLBHfErFGijCVK+I34thUDjMDABRJbBdwWIkiNhExiR8S5CLi5QDgSAlfcdxXLOBkC8SXcklLz+FzExIFdB2WLt3U2ppB9+RkpXAEAsMAJiuZyWfTXdJS05m8HAAW7/xZMuLa0kVFtjS1trQ0NDMy/apQ/3Xzb0rc20V6Gfi5ZxCt/4vtr/zSGgBgzIlqs/OLLa4KgM4tAMjd+2LTOACApKhvHde/ug9NPC+JAkG6jbFxVlaWEZfDMhIX9A/9T4e/oa++ZyQ+7o/y0F058UxhioAurhsrLSVNyKdnpDNZHLrhn4f4Hwf+dR4GQZx4Dp/DE0WEiaaMy0sQtZvH5gq4aTw6l/efmvgPw/6kxbkWidL4EVBjjIDUdSpAfu0HKAoRINH7xV3/o2+++DAgfnnhKpOLc//vN/1nwaXiJYOb8DnOJSiEzhLyMxf3xM8SoAEBSAIqkAfKQB3oAENgBqyALXAEbsAb+IMQEAlWAxZIBKmAD7JAHtgECkEx2An2gGpQBxpBM2gFx0EnOAXOg0vgGrgBboP7YBRMgGdgFrwGCxAEYSEyRIHkIRVIE9KHzCAGZA+5Qb5QEBQJxUIJEA8SQnnQZqgYKoOqoXqoGfoeOgmdh65Ag9BdaAyahn6H3sEITIKpsBKsBRvDDNgJ9oFD4FVwArwGzoUL4B1wJdwAH4U74PPwNfg2PAo/g+cQgBARGqKKGCIMxAXxR6KQeISPrEeKkAqkAWlFupE+5CYyiswgb1EYFAVFRxmibFGeqFAUC7UGtR5VgqpGHUZ1oHpRN1FjqFnURzQZrYjWR9ugvdAR6AR0FroQXYFuQrejL6JvoyfQrzEYDA2jjbHCeGIiMUmYtZgSzD5MG+YcZhAzjpnDYrHyWH2sHdYfy8QKsIXYKuxR7FnsEHYC+wZHxKngzHDuuCgcD5ePq8AdwZ3BDeEmcQt4Kbwm3gbvj2fjc/Cl+EZ8N/46fgK/QJAmaBPsCCGEJMImQiWhlXCR8IDwkkgkqhGtiYFELnEjsZJ4jHiZOEZ8S5Ih6ZFcSNEkIWkH6RDpHOku6SWZTNYiO5KjyALyDnIz+QL5EfmNBEXCSMJLgi2xQaJGokNiSOK5JF5SU9JJcrVkrmSF5AnJ65IzUngpLSkXKabUeqkaqZNSI1Jz0hRpU2l/6VTpEukj0lekp2SwMloybjJsmQKZgzIXZMYpCEWd4kJhUTZTGikXKRNUDFWb6kVNohZTv6MOUGdlZWSXyYbJZsvWyJ6WHaUhNC2aFy2FVko7ThumvVuitMRpCWfJ9iWtS4aWzMstlXOU48gVybXJ3ZZ7J0+Xd5NPlt8l3yn/UAGloKcQqJClsF/hosLMUupS26WspUVLjy+9pwgr6ikGKa5VPKjYrzinpKzkoZSuVKV0QWlGmabsqJykXK58RnlahaJir8JVKVc5q/KULkt3oqfQK+m99FlVRVVPVaFqveqA6oKatlqoWr5am9pDdYI6Qz1evVy9R31WQ0XDTyNPo0XjniZek6GZqLlXs09zXktbK1xrq1an1pS2nLaXdq52i/YDHbKOg84anQadW7oYXYZusu4+3Rt6sJ6FXqJejd51fVjfUp+rv09/0ABtYG3AM2gwGDEkGToZZhq2GI4Z0Yx8jfKNOo2eG2sYRxnvMu4z/mhiYZJi0mhy31TG1Ns037Tb9HczPTOWWY3ZLXOyubv5BvMu8xfL9Jdxlu1fdseCYuFnsdWix+KDpZUl37LVctpKwyrWqtZqhEFlBDBKGJet0dbO1husT1m/tbG0Edgct/nN1tA22faI7dRy7eWc5Y3Lx+3U7Jh29Xaj9nT7WPsD9qMOqg5MhwaHx47qjmzHJsdJJ12nJKejTs+dTZz5zu3O8y42Lutczrkirh6uRa4DbjJuoW7Vbo/c1dwT3FvcZz0sPNZ6nPNEe/p47vIc8VLyYnk1e816W3mv8+71IfkE+1T7PPbV8+X7dvvBft5+u/0erNBcwVvR6Q/8vfx3+z8M0A5YE/BjICYwILAm8EmQaVBeUF8wJTgm+Ejw6xDnkNKQ+6E6ocLQnjDJsOiw5rD5cNfwsvDRCOOIdRHXIhUiuZFdUdiosKimqLmVbiv3rJyItogujB5epb0qe9WV1QqrU1afjpGMYcaciEXHhsceiX3P9Gc2MOfivOJq42ZZLqy9rGdsR3Y5e5pjxynjTMbbxZfFTyXYJexOmE50SKxInOG6cKu5L5I8k+qS5pP9kw8lf0oJT2lLxaXGpp7kyfCSeb1pymnZaYPp+umF6aNrbNbsWTPL9+E3ZUAZqzK6BFTRz1S/UEe4RTiWaZ9Zk/kmKyzrRLZ0Ni+7P0cvZ3vOZK577rdrUWtZa3vyVPM25Y2tc1pXvx5aH7e+Z4P6hoINExs9Nh7eRNiUvOmnfJP8svxXm8M3dxcoFWwsGN/isaWlUKKQXziy1XZr3TbUNu62ge3m26u2fyxiF10tNimuKH5fwiq5+o3pN5XffNoRv2Og1LJ0/07MTt7O4V0Ouw6XSZfllo3v9tvdUU4vLyp/tSdmz5WKZRV1ewl7hXtHK30ru6o0qnZWva9OrL5d41zTVqtYu712fh9739B+x/2tdUp1xXXvDnAP3Kn3qO9o0GqoOIg5mHnwSWNYY9+3jG+bmxSaips+HOIdGj0cdLi32aq5+YjikdIWuEXYMn00+uiN71y/62o1bK1vo7UVHwPHhMeefh/7/fBxn+M9JxgnWn/Q/KG2ndJe1AF15HTMdiZ2jnZFdg2e9D7Z023b3f6j0Y+HTqmeqjkte7r0DOFMwZlPZ3PPzp1LPzdzPuH8eE9Mz/0LERdu9Qb2Dlz0uXj5kvulC31OfWcv210+dcXmysmrjKud1yyvdfRb9Lf/ZPFT+4DlQMd1q+tdN6xvdA8uHzwz5DB0/qbrzUu3vG5du73i9uBw6PCdkeiR0TvsO1N3U+6+uJd5b+H+xgfoB0UPpR5WPFJ81PCz7s9to5ajp8dcx/ofBz++P84af/ZLxi/vJwqekJ9UTKpMNk+ZTZ2adp++8XTl04ln6c8WZgp/lf619rnO8x9+c/ytfzZiduIF/8Wn30teyr889GrZq565gLlHr1NfL8wXvZF/c/gt423fu/B3kwtZ77HvKz/ofuj+6PPxwafUT5/+BQOY8/xvJtwPAAAACXBIWXMAAC4iAAAuIgGq4t2SAAAAKHRFWHRTb2Z0d2FyZQBBZG9iZSBQaG90b3Nob3AgQ1M1LjEgTWFjaW50b3Noe2/K/QAAAAd0SU1FB9sIEQkuCoj75soAAO3sSURBVHhe7P0HYFXXlS6OXyGQEB3c4vQ4mUkmmXnz3vxm5v/ey5uSmTiuFAn1TgeDMab3YpptcHecxJUmod7ovWNww8ZgigEDpnfU+/p/39pnX10JYQMiXMm6C5b2afecvddea+1vd5d4maoddpO94HBZSan7uLqyCgeGKqoq9bKPfOQjH/nIRz7y0Z0mYhBikYqKipoLVdVSWV5h8IqDXdzsUJ1Tr1GjB4AUpj32AUAf+chHPvKRj3zUGIgYpLK6SqqqHGziYJXrskN1Tr1GXgeA1yVPoTmSqqysNAcgz2Mf+chHPvKRj3zkI28RMcl1gWAjpcYLAB0qLy1zjsQt3Orqah8A9JGPfOQjH/nIR42C2A3sBoCg8vLyRg3+SI0aAFJ2KsQ6RADo7nP3kY985CMf+chHPvISEZOQPams4lrs0tioUQJA22pai+uAPh8A9JGPfOQjH/nIR96kusCvCoilLn5prOR9AFhHQp5CYycvubSyQs6cO6vs7vrl5BCyj3zkIx/5yEc+8tGdJkAQz8mp+YUFcvL0KbmSf9WNX8gW07jpmgveoUYJAK3Q2MbH8Nyli/Lpns9l774vpKioCFdAeNBT8D7ykY985CMf+chHd4wIWJyGKLYEHj/xtXy46xM5fOyoG79Y9oA55qTWBe+Q1wEg18uxgmDrHvvNLfgrxQ2GOz75SFIzM+TQkcN8TMcFev7ORz7ykY985CMf+eiOEjCIZ0PU+YsXFKts+3CnFFSWKX7JLy12A8Di4mL35BDFMF6mxtECCATN2TM8pKBKqyuFIivF8RdfHZIla1dJUnqqHAQA5DM6/s+uD+gjH/nIRz7ykY98dKeJGMTBIQzOAgAmZ6RJ7uoV8smBvVIiVdqQVQ62IJANXY2lAavRAEAKhYfExFz45XJ5sZwtuio5a1bIwqw0ScpKly+PfeUWoB40AgH6yEc+8pGPfOSjZkgeOIQLQp+/elkW52TKgsxUSVueJwdOHNWGLGKaoooyN2QpLS5pFPjF+13AXOfPEURxuWkypcBOXr0oGz58XxblZMh8CDN1aY4cOn7UoGjOuuFvLPvIRz7ykY985CMf3UmqcBqjQJysSgCYDuC3ICtNcUve+tXakEVMU1heKmVVRDAg/EbXOPYyfmlUAJDCIQAsAsz75OAX8l5WqiQtzVYQSAB44KvDuO88jMC9156PfOQjH/nIRz7y0R2kao+u3KKyUjl98bwCwKTcTFm0JEsxzKaPd8qVihLFNmzksg1YjaEVsFF0AbM/nGMAiY3LpEr2Hj0kuetWyTsZi2Xx8lyZl50myRAoAaCvBdBHPvKRj3zkIx95nTzmIhAAnrpwTlKWmEYrbbwCCHwrLUk+3r9HASDxCyeCNBb80igAYFVFpYI6Cufo2VOyZMMaeTczRRYtgwDBBIBE1bzHZ2qNAfSyAH3kIx/5yEc+8lEzJA8Mwt7Ji8UFkr5iiWKWhUuzZPHKPPnz4gWSuXKpHDp5XHs5iV+IeRoDfvE6AKwoZ+84ZwBXyYX8S7Lpox3ad/52erIkr8hVALggN0OWrF8tF4ryFQByFrC7+9fLAmS8Ddch9wVOEScT/5MZb8+42/ue/G1U8yy/TZm4X2fJXvBkJfs7quuNfOuvS/VF03IN1aT3Wvak+q/ru+q+nI/YYy9S7Sh4xN8jXvaZa5/z0Cn37zwZlxzyfIfH5SZPNj1aMbyGrW3WZl43kjO2Y55rfiFlUaM3COojvV7/c9f7SaMhk0iQR/zrsn3mWxPj+TtPu/tukKcYaominhsMPO3M41YN2YvX3KTu1XAtuVZDppY95HvdV9U68RIhDsQitgGLkz2WblijmGXBkkyZl5uuvZjvpCZJ1qolOkaQ6a6qqpCysu9AF/A1mVKX7AOe7G42pRJUSDn+FUmJfPjFJ/JWynyZn5MqSzazFTBZFualS9qKHNl3lOP/zM/cmyxb9hIxIyvwj1NXrFN1x4m6qxc4AZwgt1i5ovgKtATn5XigBOmoYlp4n/sGkmsrPtdFNK/DW8qpXrxnDKS8skS/XYprvGON0fnBtax/CPxK8axZaMcYoXeI0WRKGHfLJmW2kEIBXVkulVWUD66qY4CMkO7qsiIkh/Jy0uykTe/rcyZdpWXVKmru0Y1XGSE5j0kR34nQS2TTTzb5wPhYxjkeYD2HUS6pMA6mvLJCCgsu4x7yrvwqrlCvIB/qEJmJVMY7kOgqHJvvVEsxlx/AsdWTslJ+s+kS08C0FOMIGqFhIa4UQZZcfuFqZSHSTdusYdoLR+MU4j7vmmUaeL35hTriuhz6QzuCrlSUQZoQKuWqf5Sph9Qlq5fmOgOrR96komKj38r4U1bGuOKAF2gDNv5u/0pfYtnaCQ7JzouqKQZrGrzGm5p2PK92xi48Mt9hH2yq5PhZN5t8VWLamTxeYEgxIKCfBnSBnZHLpaTKlIC2LKkoK5eqUvzI/s6Rq/kWLZL/uN4vSn768Qq8rawA2QF/VlVouALnml8mTsxBMo/1VRoZJ0LeJEfXSktZlpo4Hjl9QrLXLpN52SkAgmmyaEmGYpqkvFTZ8MFWOXXljErAzHhw0lCXPbqW6yP7WEPpzgNAJExb78hIfEk1QUy5fH7kC0lZki4pyzJk8YpMBX8U3CIIcOOH2+Rs/mV35nO8oH2Xhl4iKjzjXgpma4JGRePlMI4rKgm0WCzlI95QajoNrmNoEQ9bQPGMVDIkl0GvnTGRUHC+ziaRtQbzYoQKisqd71uH7jxrv88LZHuufwwgNXFikcl3eocYV4qAKbHiYGxMtI1j0jTD8VZBNhUliHMpHIY6Yl6nnJAqMGVG2XnK0XNtyUoc6PbR9iMM6V+scL1ANv1kptdEjJFi+pgoHDFZuEKsxpC/qYbDVeBXXYBCr1BZdagCTH1iBaMMz+hCozUO1H6rvAJy4ee8mPbbRcx7uhKmj3pEQJePowLYGT1LZTX0AMeUWRWOaTHF4AKH+Uxz/UfZqC05AJD6oPpFOaIAr7Q1J7UtPoMQp/oc2OqjN4nfZ/4T+FXSyHnBzbhBgEe/QH9ZBftQdkAGj/UZmg4ASQme9fi9+31MdC0ASOZvqXEUSFMm+kiCETZm2JZxJI23+Mc6D4ZOUulDDPhj+WeATCXkU1JSJGUllA1u8lmy80KW+fTltL8y2GcJmKF5gHJ18qUyH8p3EZeu4LppoOAT1ne5dU79I1/MEy8SlU/Tiwo64sT4XUYZtf2zDwH40hXDLF6eLQuXpMr8rCTJXJkjH+3bJZfLriBdTBl+bzGRxTOefB36lts3TH/1LmAFayQbY4/EVqOqRQB48vIpyVu3TP604E1JW5ElGaty5O30RYqaM1blyeEzx92ZX+Exjdrdj+4lsgCQXAsAerBZApKKDJhIBWemI+1VBagx5SP+KgsaAK/jWBUbjzlUWFgsRUUopmhY6szwm3LUmAiE4NT4ftakanXp8vc8rMv6x7QAWnZueIUYTeYm2RFXbbIXHWZ+2wU0WUsvzCcY9HhG5cf7ZJMuvhtnyvodXi7Hw/phPo/QS8RP18SNEeMRdIHs6AGfYVSLEOcyXCpFQVdYCCdJMFOej/s2H/kbsBbWeNBJG1vLSyqoo9a5Q2MaSQt6g4lxtyJj6xVFqGmCNBWw4ALAriJ/ghmyygWsDzvHVl7NjVU+KIyLC3VgOkVHXVPcZ/VC9RDys3qF/3xQxawPeJkYCUSWrU4aafynn+ASGzXLbDDSZGMBRmEsM01OmcRnLeOae5ZmrXfU5aZOJh0WAHoCLSXe5gnFRhnhgin3DJsGBMiROsLeKjsrFr8pLYD8+BMPGRqwacosAkcunVLCCit9F/1YKYAfQSAruHiGP+MXromX1Ut9rxfJQ28sAGQ8T1w+K3kbVmoLYNLSTEldnimLclNkfsYiyV6dJ/uO7Ue6mDLzewXIxDOODt8p+qsDQF3g2c7atYlzmIp0qeiSrN66RpJyUmRxXpq8l7FQFi9Nl6w1S+WdtIWy7dMPpBBAR5UA4M+BWUbR7rCw6hLjb+o0VOZ6ACCopIwtbQSIZCo/FBr3YCua93qB6dDQMHWbl8i13ufcV8dNh2yNxgIASqnubzxZiZIkO8/rCxsB1RdfMsGax7mqEljFRTHggH7AnSwYkqltwhghyFI8XAyB29Tqa4ge2SqgP/Re+hkXd7Q1Hs6ZjRceKC01TpBiYBqYbjJ1Tx0o/pIN/MdDfI3D1B++yTpPMp/SmwBIVYUOgG6qxLgzUVT/q6VSlY8Dm36iZZv4UjzIPiuGPKcBqgIh5DMULq83t5C2g4AisKIqxgXb2qzkLmjBNDj+wJO9Sfh+ZSlBGuPHuJn42eKGaWC6aDdk4yVNldxWmwsJFFFJsOUKKw6VXLCX/pWKxMvmlvuQ77Xs3GrChDSC6X8I6GxpwtSrr9AEI7RMHcB1423gddgYYRswHPkrIdTHEfJdNWwgoIGBHLphoB51j++sqlRDBZvuYb6Ov+N9htfoJePoTWIEHWZAQGviWyWfHPhcFuakyoLsFO3ZZMMWcQ5BIDHP4RPc2taRmWUKjOEdojsGAMnu1kCHSsqK5cPdH8rC7CRZmJUsuWuXQljJMi9zkWSuXiLpy3MUSdvWCwrXyqbCNjXfQWHVJSqsZ21Go1InTqaYrpKi6jLJR/zZBngFWnwFCaKqW6Um89gyFd4qfX5RtRQUAELiQmkxrvAiRcnWQHeXBNkxRN78Rrnwx5a9TFZe7ijhj3LNNTZ8lkBYxUgeh+3lQw4FSDrdhPbSeLCnLK0M+ZyRpanlMr+qqovBvMOPeIeYbBtXAwCv5aIi4wTtczZdV1Brpv5Qn1hfZpeMTadnujmShvfoZK+i1lFugS9byIrwazrSpkqMOkt2JtYI0QjVMu/zun2GIc9xXfUFh46Y3debVQgBUH8uQm7UEXIhrlFUFGUB9YMPu8EV2VxSVgF6kxCJUnYdImOp09BvVpgsvoXbVBvRdIFpJwwt87qFG2SKhF7cJMsmEuykkwGf4bstO7eaLjEBYOY308MhFGZcLH2loyzqLxzWhgcP5jlAdAX8FFtcyyD8QlS+CnlZ31ebrdxwW++fw7fPI7Q+zKyTZ7xdBYC4Oar5Dc+V7PcZP28S4q+tzwgpSruZBTHLhZKrsnzTGh3Gxu5fAsCMFdkKAJPzUmTVljVSzJ6861BdvPTXoDvWBczQHlNQBQUFcvj4EVmYmSRpyzNkAUKi4+y1S7QVcGFWiny8f7cKUpumOX3aKax0xo1tavYqsRZk65Q14NQeMKDCFqOwLcCzdDoctn8JTKW/AOZIBxbSZN6ry7x+HpZD46HBeBpCQQGUR7tmcEfHuLCEqynl+H3LbrIXKEpyrZt3mDzjwgQp48QTAOI+LzPdNBU6CsqMMrSysw69rhx5XNvJc7wk28uYX6b73HzEO8Sk22SbGrVNdF3GXzx8Mb9I08H0nCku0zSeA58FU5cugikT8mWHKScyn9WOFTpYjiEkACQ3ZQAImRRcrVQcS/2gXC4gSeeg/kwr85/Alw1/lnnO61ZOPKbu8HpzC5l26sZJyIX6o7ZFOSGkBymr4JGHHuKe56mee5UQCfo86jFCDm0oQ5yoB0wjdZ42YW3Ek3mNzPvWdvg8f0u+ihrnxcuUTg0xuSoXMCXD0OsiaAgx8g5bH0vwV4RUcqKUgTJgAi2CPw6l8ASCdfw0rrhlT9ui9ChbytnTP1mb4/FR8Akwn6G/4u/5HnpDRo3x4rllnis1MgBosQ2HqBkQaFpU9x87JMs2rpZ3U+fLwpzFkr48SxZlL5YFWYskbWmGHDhyUK7kU/OuJV3u7q9MfzUA6OiVOyNN8WaOOSbpy8OHZOW6VTI/faGkr8g0QgEIJEImEFy5aa1cLL6qgiytZq2Ov8Y7WXUnIdA+c68SM702AKzLjOGlkmIFIszmD04UyJovr8j7sIi1J6pl22mRHaeqld8/TRaHzbWPziD8ulT2wpr2nK+QHUcuyHG8TAt0q/+2MK8FABkfI3XGgXFR4oH+xgndN7xAVkgaJ0TGk5145RcRtMGBIL4fHy+QdfsvypavK2XbGZF1Ryvl/ZOQ1akKhFWyHeH20+XgUtl5qlA+PHVZ9l/Mdzt2mmVRJfeZqckzIwTvkc0jT1Eo6QHjRlkgxnC6l1HLtg72k+NnoRsFsvVsmWw6VylbzlbKVuiK0SHoFY63nYGccH/N4bOy7fg5OQnVoCz11SVQIjiqpgwAWWAxb7cduyzrj16Qj4BgVp64KitO5st2CGnzxSrZAjS49WwFZGF4y7ky2XihTNZdLFHm8abzZXq9uYVbULP8GKXx8i9PyKeXC7XApm4VQ+e0tVwnmjk6SLIKai+R3QrrDUIEKlGhKQOcRTxozecR5Y+OnpdNh8/LTs37SthHtWw8b5jH1l4YrjpRJOtOl8hm8PZTV2XXmcty5GqJ+mvql6fvtMnnNX6rll9tisTIO3nItDC9nNhRAwCNn9QyxZYxbhCIH+J3hYWVxg5xvPvEJdl88JTKcfuFEll94oral7ExY4fvnymTD06XwTeXwU9Vygr48vch7FVf5cvq/V/LObyWPq6o3JRbVtaWeW4ijbNGAgBVfg5Y4yl7KosrOcmlSgoqS2Tnnk/cXb8c5pacmyqLcpIVAC5dtUz2Htiv4yD5W1sa2GPn9X81umMAkGwz9EphgWz/YKe8Nf8doOOV8l76fJ0BnLUqV95MekcFc/jUMWSxcUQlEKZ9RxlnN5JwooN0vUpUPmMg1wOA5IJSAA+E+y+VSa9nXpO/6T5Afh03UX4aMVp+GT1OfhU1RpnHln8VZa7/fcw4+dvQofI/Ip+WX/ccJP8a+7TMSl8vh/A+1qj4fvf4DDUIwyY+HGlBQzIAQ4kHjDYzgqH7hpeI31dm/B3WiJkosghiy8Tqz76SyHFz5ReP95N/iB4j/9R3pvwsfLT8TeQo8Aj5edQoh0fI30Q9Jb+OGCL/M6yfZH34uRzON8CJBllWTV1ywLGtTHiVTHrdYnDYEK5zjI3j6PiXerT94NcS9vQk+XX3XvKr6KflF7GQQYzRH6M3DkePkn9IGC33Pxwt/6/vMHlnzTa5iJfzPfoRx4k3VWKerkaF6D9HzJB7uyXIr/qPkh8mDJMfJA6TXw6eLPdGPyk/ThglP40fIT+LGyU/Q8jjHyU+Ld/vbZjHP04gj2h24c/ih8nfxjwpD3SNk6GvvS1fFJQooOaoZXb/1VSS6hB1hmrL0Jv6o99HRKrMEkkFOExauV0e7D1cfvZQrPxT4ljYBXxC7Dg3/wL+9BexY/Q6w5/GjpW/7T1R/jZ2pPy4W2/5JfQoduJsWfbRHvU71DFKoFYybbq9mfbbQYy/k488pH+saQE0Y9vdAFBbWiEJW9bgP3/DCgMrDss/Oy5R4+fIL7omyG9in5T/0X+M/CDyCfkpdE3tD/yL2BHwSSPkN1FPy9+zPIO//knEWPlN32fkB4/1lv8aME5W7z6i7yziZxDWZSNyRpq5Quax98j2RLIFUNcnxjVyUXkxYmfwyxdfHZTcNUsUBBLnEAQuXpIqacsy5c/vvimbt2+T85cvaS+nnedg32P5r0UNB4DsmwLXLUxtxJlpbBJlqx+z62LBVdn6wQ5Jz82WlNwMFUjaikwVDptH56UtkHVb16ngSqs4BoDiMAVkLbIf8CpZRaSRmMy3SmqjxsYsPsGC+2tcDB4zV+5/fIDc3XOkdAwbJ+1CRtdw8FjlNiEmbB88WoIeGyr3ho+Tjt2ekvaPDpB7uw+Rn8J4Br67XJvP6aT4sWK2lJWZOFTAWM0wW56TPYyED/CUEWVoI+ol4udNFBgZsokvo2fBH4HulhMF8vdRQ+R73QbKPSFPS8fgkdIhdKy0DR0lQaEjJbDnKAkIg7zCxuDaSOnSfbB877FE+dOanfr7fLxa84Z6atPt5bTb9Bo20bH6o6SFGyo81c4yOLhEeew6VyT/O2ao/KhrX7mrx5PSPmSEyqNjj9HSqfvYGu4xUu4KHS5393hCfhzcX+Yu2ayy0GoTP2Ll0ESJBcXK02Vyf8wIad3zCfEPHSR+EUPFH+eu8GHSImqk+IePlFbhI6AbI8EjcPy0tIh8SlzRhlvAlvwjyCOaXdg67CnpEjJY7u/aW7qPmy0nIU8CQK7tZsY1m2WiqCKWlVR3qJtgL+sPh4sxCtRpxj1p8x752SO9oe9D1U+0h13Qnwb1NNym52i91jF4hIaux4ZLp/gZEgQb6tD9SQCSYfK9h2IkfPzz8kV+tb7zXJHpDCXlX4IFsUJWAbtsBOlvEGk+mpCHWuaC2fpnljYzALDaLi/lAD/7Gy5iwe70NSfKJWz6m9Lmd+HS9pFEuSt6mLQOHSIB4U+pvRn7o76NkHY96auels49noZ/wnHoBOkUOkbugx97oHtfWf75MZU5fT99ofWHnmwiYP0mj71INZFyk7lkGl7IXCfx4z0f63A39nISAC7KNd3BSVmpsigtRdZvhW8GNjKpqla85Jn2a4iYi/nRQLojAJA1C6pSKayV+/lmLMuTdxcvAgLOluQlabIgO0mFkcwxgMuz5fDxQyo4A/ysxtUh+wGvEuLlbnUzINUqrSVmEs8VAOLxbmNflC5dB0s7gLqAyMnSMmKK+EdOMxwxXdkv0oS8xvvtE2ZKYMREaQWw0zZ8tPg9igK933QZsmidjiW8CO9HB0ijYfsoY3Pq/Gl81wBAt6FYmVmRkr0oQ095kU1+G+BKZ8Q0cVwIncy600Xyq1g4juAh0g5Ar1XYeMhnivhFTUJBPlFcUVMQPgOG/HBMUNgFYPG1dR+bQcZO8jXN9oNeTr9GgPqjOlRbFkoKACEFTlapNJuJUx4fnyuV/y9uhNzXjbIYK4Hhk+Bcp4CngafD+c40Ia61jZgAgPi03NfzSZm1bKfKkmNw9BteTXvDiWB4+TmRexImagHjAqhxxYwRF85dUePFFTcV+kC9oJ546EoM7zkcw3NeBzezsGXkeGkPO7mn2yB5DICHY7EMADRLC3GilAWAVi9VZfjHrbc0Iu8RVwFgLFgZYOXmvS1fyvcfGyT30FfCR7Sif1WfOlP9asuIabAX2ApshmGr+OelTb9XxRUKmXRDhSkK9oKK9s9Qoej97FvyJUyPY9Xoi4p0sH+FFF+GFaFCVn71As69m/4Gk+alCehzCXVZ1ST4YyWgoPCSpplgl4s7sxGQ8mZZw5a/DyCYkBfTJOAPvaVT2HD54aDZ0ipytLh6DIN9OboWW6Nz/pGTkCcTIX/yJJSBUyUoYpJ0DhkuP+4xSJbsOanytgBQ9c0JPdnoXSOQfU2E6lANfiGWOXnuhKzksjAZi3TCa1JeimKfxXkZsigzTbJXLpNPv9gjV0vY/mrS7tkaeA1d97s3R7cNANaNkD2106LJ3Atv2fo18l5assxLXywpS8z6OO+kzdPu38W5qbL94+1IPFWRIrCZDLYvtNwYSOPCuJk48pSxJrvjTYvBDToQAsDHxr2iNc0AGIIrZgaMYzb4WcNxz1/L0bPEP3EOQjgxAJx2vfBc8ChxPfKk3IuCbPyi1e7BzAQHLBQvlJgaqwHPVvpknFv58RZDLxI/7xk7U2OivpgByATNTNcp8OozRfKL+OGoQT4lAXDSLjgOVyzkFw/QFz8dsoIcEyCvhBf02B9OpmOPofLyuk/dAFA/yMwxDbbm2KsyYH6YQoXE6NhoKfF6JaTABWsR8h6d7o4LlfKP8WO1Ft0GILhV1EwwHG/Us+IfNVdaRBv2x3nLqGckIHSs3BU6TJ5Z/pHKkg5Wv+Hl/G8oUdfXQPm/Hz9NK1QtwyeIfwwK/IRZsJeZ0IPnYGPPQhbPq2woI39cbxFDfTHcIobnM53rzSsMiJqOitIE6dR9qDw6/mUFgJQpJ0pxJKAuMA6ts3pJVpXhHwUFNCQalveIjSCMl7bUgd/adgSAdoh0AMAg2GP+u2Ln1jDO/aNnI+2UAX3GK+LX53X4EzwXOlXaxs2UjlGTpc1jg+WuR/rI8Lfz5DTeewIioT8yNlsqxRe+xsc59pBfb8Lk+AAG9L/G+xL0M2+Nb6rSdfrMMyzH7OShg+CEt1ZI+whUpB4aKB16AWDHwi8DeLsS4JsTYIMJkHEi5QyOJ+NarAejfGsV+Yy07zlKvh8yWHL2ntZ3UwOdqHkcmEPD1Dvv6l4tqomYYSd+3MnKgMAK2fPlHknJS9OxgCnL0nVnEK50kpybKQsyUyVrxVL5/NABpN002+iEPfs6S57fqHXj1qjhAPA6EeIhHUd+KfvCAUqK8mX5pnXyZhLH+2VL9urluj5O5upcmZe5UJtFl29cKSfOn8BvoYIVZah08JdORl/nO14ljQvjZhSxpgDnOY60AGcXnlFoCwDb9ngKhdJkGAAKqngUUsoAeQQv5PiXahiFlise11CDdUXOkMC+L5gCrucELdi/FzxEJiStkQN4Px3VGTCdONfzMmJijGqM2cpOo24OvUb8PmNHpuxMfcesEEUnxAHJBLUKAM+VygMJI6UNapkt4aBd0XAwBH2JkAvlQfCX+KK4er2C47niFzVNW74sAOSyMe4PUhz2o14VAnWH+cIImSjZFlwl5lcFASAK4nJuXGZm023Hn18nTNYhAq1RKfBH5cE/5jnwHPGLgc7EvAzdAse9gEoDKhBwyKydT11hACALSyZd1dTbStAAIjxZj1L/J3EztCtJWxQAatiq44qaJS3iAIKjX8K1lyQw8gUJjJojAdHPSUuCANgemce81hw5EKA4EKCnQ48R8vD41xQAUqZl1SzmcVRFT2K6oqiXZNUbEsFfIwCAtgWQoISt238BAOzc7UlpFwEfAZBHG3AlwBbI9KdxsJFYRwdgM65wAD9Ullzxjr3A37ZBxaEzKpedQkbJD0KGyaycHepbT8KJUwb8YlUxW8a+AwDQIdtSZaAHmX4JYVWV5F+4ImWl1Zp2jiGmPz2AbJ+YvVkCuw2VlpGTpFO/uRIQDz/8+CjIdKr496fMUaax8cIyzxMg8wTIPN5h5AV9VJvQMXJ/yJOS/UUdAMg/lj0ODXtX92pR7YiBGDeua8gZwqYnzqx5vFZbAFOXZ+h6xwSAqUtzAApTtGFs5ab18tWZk5C+yYlriqhrvtMw+qsDQCbiclGB7PjsE0W5by9eKJmrlknO2pUKANNXZmtz6HtpC+TTg7vxPABAtVkLiAtyugHWdb7jVWI8mM9OfEx6jSEZAwJzKQXcp/GcxAOPjn9F2gQ/BcVHTYkGQxBjWwHjyGz5g0OyDEftSgCwYU02/Bk4NQAfthxGT5fAmKnSOXKstP59oozN2Cpf4huol7qb0IuK+W0aseOsFWhQGRnHepTrDhO/XTsejty0DsTZv9zWyxlncrZYfp44CgBwpLSKRs2ezh3OQ8Efa5UE0Ilw8L1ehdxe1O7hjiFPyavrPlGHwn1wVY90Tzhc4Ec98s47hAjY9RtBjBb1hKHGi3lXiaKNWwhW5Ot1Ot8tF0X+ttc0HdMUGDUFBdl0bc1oEQ0dYWEWA32JJVN/AITCDQB8ZvmHWpCxsHQL36vpbxixRWYjEvRz2EGXkLHSFpWi1hFTYRewp/CZ0jJ6jrSKfFECw1+UoPC54OclMAKAL5KtpWw1nanHAZG81vxYZRE6Q9p1HycPjf+TAkDKtFKHHQAA6o4MNQCQPkV1k6T+hFdoRF4i1WHakAGutI2/bD9cBwDCBuJhC8o4pp+FfrSC/yS72AoYhhD3W7DyGIrf9JwprWPnSAc81yFkHIDJMEn+/JypYEMA7BinJEqKWZXyYvpvEzE1LBMMoEICtcwAU7ZcUJ2uEw9dxiU2MBwHv7rlM7kv7Anx6/G0tGRPTATLpukS1Nspq3o+I36JAIG25dXdq8UyDjIns0UQcmZ+BIaNk/t6PuUGgNQ3pTpjTRlQHy07l71PRogeTFka5s5N2qiFf3uOfKHbwRHzcHu4xdwlZFmupAAELsoBKMzLkrXbNsvJ82eZE9emse53Gkh/FQDIwNQlDIr9aO9uSULiyOkrlkgyErkgKw0oOFvm5y6WpGVpuvzL2YLzKqSiEjoevIFK2IQAINNqACCPHAfJwbNQYGbkKfwhAGwNYKLjk9hMHgtDiSY7wI6FlzLADTmSIBG1VrZu8XoYwA8KOT4fGDtdWsdMkg5RY6XNYwNkTPoWbZZnt6nW4QvwbRqxLhGDY3XYpm6hM2Jx5m1R6vf5R5n5bACgKXhMNzAd+/ozxfK38aN0gocCQIIdOBR251F+CgYB/FzxcOJwOBw72Tn4SXlt3YdmDA/XSmT6OalCx6wa4/KuAJhexqs2AHTniwWA5IoCvU8wvBEe8oHeKKR6jkdBPglAZrJ29baIgq6wwgDg44ohU4dmiH/4WOkS9pRMX/6+/r6Y76be6vAEHjRNom5sQKn8QPQk5PVIHeDP8ZABtKPw6dr12zICIDB8jgSEPwcG2IswXU4qL+hNq8gZ0orXmiXPlpahs6Vt98ny0Lg3dRII/UZVFSRbbSodxl98AwD0qv7g29pIYOJGv/f2tgNyV/fB0i6S40AB7OgXWDkk8zhmlvoLjr+m7bRl92RPgMWIGdKSFUhWnlBRcEUAtEQ+L22jZksX6NTPIsdI3qF87WamVLiof3FFiXfdx20gxt8w8xFswZ+zfWLZBeoBXAUeYroJgv+0/Qv5Zb+R4vd4L1QuxwL0QV6UYfBk6dL/jwqeXY/BDmNfkBaRz4lfFBlyRmWU8jdDn+izTdnGci0gfILcCwCYuc8TADrxUTZ6xrjSb+OKho1G/jWCdJhxN1xcXCjlOoa7Qi4UX5INH22RZIC/97KTEAL0LcmWjJVLldlItig7XRvMCoEdmEYtpyzZ97MMY9neQPqrAEBTlzAA8ODRI5K3ZqW2/LHrN2v1cpnPlsD0ZEldmSvzuB7O6mzZfXgvMt2ZAGDXn2L7vmcNoM53nMB7xAgwD5x8oFIaAOiAGHYRlIORUQQcBgC+LIEeAJBdwcYZTUVhNFVaokBqEUWmo4KBRKBGGm66+VonPK9jd1hzDYLxEAC6UPi3jp8m7eGg2vyht3YH00hPX6XR4MACQAuAEC/GjwN92cJWS7m8QVZ+5GvAKuNoWjS5TtffxY2SjqGjJDCKLYCsyT8rQZFTdBAxB3kb4EMn/jxqlBNQEAySN9a+r12eZRxLx3aCahZuplWD+eVdHUJ6FZTWAECmtxYAZCFchRRUXNXrrIFvuCzykz6zJIDdnpFkTiiaBFDDigF0hq0aCv6gQzHQq/CRclfYYJm1fKuCaX7DjObGkVcL8IYRW33Wn6mWn8aNh148LUFIZ8voCdKCY0IB8NiyzoKnRSSADipStC0D/CZDLiiwYicrCDT21vyYMvEPfU7adntGHhr3tvoN1Q0OO9BKB/QOtkJdvAYAKvjzsv7w2/SvsB/Gi3b+7rYv5N5uA+APxyLvp4gBGbAF7WnBMeyhJSoMQbCZthFjpEP0RAUfLcImqY9tmYgKZNxrsCGEUfAlYQCAqHz7/ddA+cd+02QXPncEH+O3CJa97j8bQFo8OFwLANI3cENoZrrDdM1M89ID5+W3IwDg/itYOvcZC9A3UoJ6PSftEueKXyhkG/IM5PqctAlHeRU6S4Igv6CwWdI6fAYqX7biBT+l9gcbJQCEndYFgKpnzF+CUWXGrSbOvE9WP+lFcn+fB56s8XUYcq1EmUZsQ4xz8PQRWbJxuWKfRQCAC/MytQUwbXmegj92By9Zu0o+2v2pFHHHp4qahaY9v9H4AKATmJY/s4pU2pIcBX4c6MgmTjJbAIl62fzJgZB565ZJMdwLEXJBkWn9U0bC3UKs8x2Sx6F3iBFwomqVsmYcheMgnenzBIDsPnhowssSAEVXABg3A2AOAAYgToFM5DQdnMyuKQ7U5iDZlolwXj0n6QDlIDgovY+CjEDQFQ4HF8/WjrHSNh61r6hR0v7BeBnxdo7WhgsZKcZPrQV/CK4QL87w4z+u9WQA6zWirbngyUomwSaHedwA4jsd+RnGH4IhAkAFgdQI43gIAH8VP1o6hI2CDAwAZJdn64jJ0iZsorQMA0jmeJ4oM47HAsA/rXnfjGuyAFBHFhoAaNPtPWJ6kUKkk/HQbAIzXnpBHSDjzVZAsyg6xwBugof8SZ9nxR+FVpvIidCfidIKDtU/ZprqTQvUqCkbHtPRGgD4pMxetq3GuVIXvgMAcOPZKgBAFObhI8QflSCCO3+2rKOQUdvgQHPKw2Ez+WOKtIodD5lNdGTGySDNj+lL2qDA7tJ1nDw29k9auYBG6LglnXhUwQoTfYbRSbduknhd73lRf6i7WsE2AJAVxXe37tNZzQSAnHGq+W+7HHHcIhY+FjpCm2kTBR3oOUY6Ql+C2I0JH+KKAEiMBCghR78IvwsAgwplZ67E8Phg+fexL8onEAIrUlfxeeIjtw9Rm/VgJ6DMPNm55XHQALLfsnxDxDyzbH9qzyFJBYE4plDBVy9WKtjdhcrWI2NelDaP95VO/cZDRiMA/iDfrpB1xHTp2PtFadFzqg4r6Bjzgvh3n6ZAMCiCDJ+MSrqO0UWZR3/FvDCtspy0Nw4+ynQB099TTqbcd+LDqDnp4z0najee5L8S1fq+EaTDjHuVmUDjyJYzq+nDr1YUyOaPt+kYQGKghQR9bPljFzBwEfESu4JTcrN0+BznUXAjAPe3PL/TQGo4AESC2MTJkErEtfvYvchdPDZ8sFW7ed9OXQCgl677+3JfPCY6Y1WeLMhcLClZaXL89Nf620pktHuhZ5Ai3NuY2NtOjJNj0cxmsokrM9yqqEkDL53F6R8m/1ECUSCr8sfMMAU0W/Eipmotid0y2oJDh8XxbRFwUn2e026rVqFTpEUPthQ+L67EV033MFsNe8Ghx06WABSEQVEjpUOPgdLvtXTtriiijyYDQ0CTEF+An8oryKMC/LuCOJuxdpS62znxj9HZ2qx/qIiszRSDCSb1xq0Rv8OP4hXGqKlDToRZCCH/OcGcDmHd2WJ5IHGUkR0n0ITDmUcS6Ew1SwtwzJcDACk//4gJ0rHHEPnL6o+1q7CsnF8oxz/TzuxOoybYS8Rv6/cJwk3rtxLj5WQGr1LOVWwFROyZlg848aHPLGnBpV9Qq6ZumNo0GDrF1h128bHFyxXzjPhFsAt4mMxe+qF245jv4lvaytqA/PMyURZbTpXrYr4tUYC4UIliy3krFirUkXhUkHpRLgB90A9XyHTx4+B03Lu3Fwqqrk9CZybCxljwNz8ORMXph6Fj5Ae/T5SHB09TUHMejoC+gFtaqf+inlBHrK7WZW8Snaq2AJqeAlZ639p2WLp0H6JdwFxGywyrYcsfGbYRbVqhLNvKdZvEl6Qlh09w6ABbDEOmSPvEuXI3J+B1HS0tEthjMwHXn5Tg13PlM3zM7jWsu2ZoYwVOKK4i+Eg6XpxTiowbdZXMY17TZxvqf/hbJ5s0rPM+HtYwb1p28lWBFc7pZHGd8ORKeT7iyRSZhecLIF7G+SBqnvHT3pE2D/ZDGTNeWj8BuYRDHrEAyIk8nqaNEtpwAb+kE7EozygAafpkhNoVzDHJ8NlsheVkvpYRz6kfd0WPkw5Rw2TpnrP6PRtx06CCONp04hpv8ZTM40ZHTtw1rh6tdNxa0VyukmOnjsuKdavkreR5krt+heKheZmcHJItaStydH4EsdLSDavk60tnND8oi6KSQmQZBYFzlpENpAYDwHK2cCEyTBTHWTGiBShYPv1yryYkeVmWzM8BumVfNxKnfd4c+Lg0SxZmLJadH34g+flaLGkzp+f+d+5mz8ZKzE1HKY0jcK5ppptCXYmKgEsEgA9O+aMERIzUgftmTMRUBTQsyFuHc1wOCy8wZwYn4j4KehdAImdXtYNzuivhZfELxTU+1+91FG6oXfUB8IlEjYxrBMaOE78eQ+VnvSbJE2/kqlO/SPFSV5hVun1esZy9clRBoGkLNGMC3QZlol9jZfZc/7BdlwCQ+wWYdcJumVRWJuRbTDwIMAn+cAX3KDdCnzVnS+XHvUYC1IxU0NzCAYCUH9d5qwGA7AbGdRQAHYIBAFd9qo6Xm5RTRwl4tf3Ppk8T7EVSuTIqjBUzCGnnNSSfrcbUKcqlsppSKNW9Tj8+Wy0/6zNT/HQ9MwI96EMcCjq2eKGQI/BTXVIACIZudAobKbOXfKStZrrXuhbsxnabKlE2204CAMYA/HFpoCgU3pFzpFXMXBwTAIIjxqj9tOSkmChc52zEh4fIvbj+47ARclfIKOnYc7R0Bje38N7gp+WBx/vKPzyeKLFjntXWZbYQU650F8Y0oB9uoEB2blj2JtE5cJFixI9xpq/78/Yj0qn7MJ0EogDQY9wZx03XdIGbITacKR7U9zWAQPjjUFSW4nCdPTNxrDCMl6AeE6V1zwmohON8AGypJ5demigT5+2Wc0DKtEr6F1qTygbgT4WHoKzQjOGildHuyIynPkvZWVneKvG3fJnzPf0Y3+kQb/OScXO8QcaDCv7wI4TVRQTQ5h4bb9gYwN1AroIv4TLjfBQJHPlGtnz/scHSOWy8BHJ5F66bCIDcmrLrCtvrjgr3wFdVdq7gsdK634vih/s6FjmalXIyjwkAAb4BANnwwXG5LdWPj5N20cNkGQBghZUNSCsjPGEiHKXkbabHTLZs3MTdQSx54pnCwkI5eOhLWcChcMBCxEULgZOSgI2IleYBAC5wGst27P3EvS0u08y/nCTrFlIDqMEAsKyMKm0AIAfFMpJfnjqq05uJaC3wM33d6ZICQMjWwKQcLn64pNaG254CIhBsHFt1fQMxesxfhJQCWa/dDACM5XiIqbjGQnt2DQBkLVRbAMdJAJxPFzikNsGTpFMkQE4wHFsIuPdLAH3PoAYGw4qcgprXGGnVe7oExIwXv8cG6mDop99aql07NOQy4wmkopTNgTB8XDVgzkwMMU4CxDSYJNRm/WNaAC07N26NVFYmpKR8APB2AEA412YEALUF0AMA+iH/awHAyLHQDxQ0sS9Ji1hUnvq+KC3jp0mfeRskedd5ydt9VpZ9dlqWf3q6GYanJPODQ5K544ButcguVAtSYC6GaIDfGQDoOd7T2E0LAL8ufV6VFt0nqQ8O6Ps8fOto+FYOGZgurUOmSGf2yARDvyImil8C3vmHwfJLXHsxa4/6Vp1kBla3T9uiaZUYWVFEBDG8T+YxH9EbVpa3Svyt/R6Zx3ynQ7xt2dwg40EFgIYr2ILqvICNOXyWZ1fwhx6HMh33Xp78OOQJCXp0IPzKeGnF1StY5rCcijTLT7kipgMYztYhFa4wlFlcniucvhmysy2BCE0LIFtfJ8M/odwLf+47DQA9G7TqErt1V2xcIwuzUuS9jCSDjQD4CPyIl3jM62wd/GTfbilEXtkWUS6TVyuzb5FuSxcwI1SGGgUz6lLhFVm5hev9vafolYlIWZGjrYAEgGwVfDd9kSTnpstHez/VzLRkAR+BYHk5c7uRE6NLa0FoDVyv3SgApGPiWECAQBbarA0RALKpXJeGYaHec4xO8ribs4X/a4jcBSfVBg7MFYrCjYOau02UoDgUelxTKXqatIThtYKTahExWtpHjpLO3QfKqKRV8iX0kFA734mScA9DnXxAEOAAD8aX8b8eK/EFZOf5high30n7QMg33ToA9OwC/m4CwIoqFjM3CACjnNZkHwCU1gNmA/BxvBv0IhR6EQZ9CRsvU1ft0zURKQ9Kojky5Uetol8gc81NyoP7sBqz4AGeJBP8KRjUGya0x96i6wBAbptZGwA6dgDb8ASAOgM8ZLK28rXvMUnahU2WNgPge+E7Xb3w277Pin/oNLmXawSylevRMdJ+wFxpHTtNAh8eJn8XO0H+snGXDrWhj7pQ5PgViKv0MiSpDRpmaIdZdcF0q9L8bov8+Ht+gi8k89h5p329ZXMTbPPTMvyNjtavKgPD9+I9BGCUJ7vUX1nxkfwiejhAb6Lc3W+6AjdOsGrD3ieUV64ez8jdQ97WZahcPcdLWw5DCRmJcmk4fPQE9UXa2qqzgGcrAFQgzm5g3PuuA0BLnthG9wzGOa/sP3ZIG8veTV2o2IggkOCPE2TZe8pWQTakLVuPMvzEV5pm2wrYKLqAFY0CSDBS+aWFsmXnNh3bxxY+i2gJ/JgInmesyJV3UhbI0nUr5Uox18dx3uMIiETw5zkWsNESo0wbQkiDIeu1mwGA8SiQAALplDj+Tw2CrYAEMXBabfvMlvYxU+THKNxb/Fs/uR9O7S6ue4druv5dBAAfCryWsai5cv0lFvphcFYo9Nv2BRCIhTN7OEZGZKyTw4gKnaTGin+uABpRidwz+njMG4hsTXbUQyZ9hhtAKisT8qs+AOgDgDdDlM2WU2U6BrBeABg3Wfw4DpDbTkXOkdZRXOIDdvfYMBmTtlNnvRovQ0fa/JhqcLbY7HdLvbhYWqny4HUtXDyBgoI/Mm6SEHrbdDQ+DQCAbPG7K3qGdOg6Wn47/C3p1GO0tAQQafEE/Gofoz8uAMOO0J17ol+RtqhAcLIDd7sI4M4zj/aVfxowTjL2HDW7MSE6BYwITQpcVcSeFsqaLWuUN8EgG0xuI/Flzvf02Hm5Pay55DxEmRGYsoyC3NiLU1hO34I85mWKEyFHDSVvPwzwN1I6cYvF0GFaoWrJFlIuRdYVlasYtqq/CDDHVlMzkZF7snNZsgeefEHuToQf4vjsSFO+EfwxP9gVTxBoGj2++wCQ2MYN+pxjYhxqQnFlqazfuUVbAbXBzOklTVuVp7iJYwI5HpB7Bq/dtlFOnjvl6JDBXQ2l2wIAGSHy7v175K1F7ykAXLpptTZfEs2y9Y+J0IQty1bEyyZNZiwHz1Ionl2+FFCzAIBswUsEgEkw6/pZAGhaATnB4RnhDOH/ejZNpq78Un4dP12C/nugtOsxQtr2xu8ixkorLrxJ4BNGB+cMvNW1AgkQESZOEL/Yp2GwCTIic40cQnTo7BE5ICtEjGMUuESMzrw1BYNJlHFUlt1kL5gk1rl5k8TfKhgxX/QBwOsDwJvqAvYBQKSZFSsU4Eg7xyRxEejO8a/qgPU24eNlZt5n2sJBCVRDQ5ojc9g/bcPomClsqRqk0pICqSojGoA+KlNPjK7QZCx7lRinG+oCduzgGgD4jHToOV5+2WuWvLrhlDw08V1p1eNJ+OWRAIDQp0QAngTo0uN8bq7cHfMKACF0iuPgek+TwMgR0qF7P/nvEbNl2ZeX3GsE6sQ7CKeyBNamE60QR5Uw2fjW2051MuPaPHLyjzLzAIBV0IASnWBGh4NbCEoRrtt7Vf5P3xnS5vEhEsD9s3s/A3uCTcHnuCKnOzvJzEEZBfk8Nl7aRs/UvZddD/aXqDdXyoz3T0jH0BHIhzEeS1QhDzxAoOZB+JxmAQDrdgXrNeQF07bv6JfaILYoO1XmZy1WIMhhc+/hmACQ4wPnpSdJcnaavP/xTrmqDWcGBDaUbgsA5OSPw8ePSN7KpfJ20jwd1Ji9dpm2+tmuXyZE0e2STNm+6wO5XHRVM9DMNkP+QkCeQvIcPNloiZrIaCKkAyLrtZsCgDCsBDCMggCwdRgXrGWtiAU4jKbr05I4f5Psx2tmLdkj/wjA2PbhftIullvuDBcX9wZGTdaFAt8v5gVpGf0C3v2C+HEWFtcJZCGYMA7vf0pcj8bJqJR1uuL/Kfb5UNyMos64BdcCgARiRsn4GJOlxAMmjxcZum/cAqmsTMgv+gAgCwjmAwIk3wcAv5komy2nSwAAR18HAE6Rdv1hS5BHUBhsKxT6ETJZ/B59UqakbNfxW2yjKYHkmyeb7b0KSs1yS/TFZkw3bLAcoRv8kaknRldoMpa9SoxTAwAg/at/t6Hyt72m6PaKOXuK5Q9T3gSg6Q3AA50aOEOCBr0mrm7wz4/NxDtfNj6H69gBHLaCX+0cM1rXXw2b/a58eMV0m16GfZXSxigvNwC0IJCSrpHj7SD7Hs98seymuje0S5++lpUBtlASjEAXEO81n52VmGfmS9Dv+ov2NoVPAiCGX+0Lu+JYSJRbnQa8ruMnueNHi7Bp0il6mtwLP/OfE/4iKy6LrIAs2j7cVzqGj9Q1F9l1rAv2KwA0XcGU5U0BQEYQ90wSmgYAtI1a9RHvMA1Xygp1ONziPAA9p6eUPafETgR/CgJz02Ve6iLJWZ4nn+373A0CG0oNAoA2AacunJFla1ZoBHPXLneP8+OyL+8iQUSzWWuWyvyMZEWxh04e1UzlrCMrHoI/z3F/jX4GMImRd5SSDohshMK43wQAJCsAfA4AcI6CQC7jwaVh7omfAqN6S7tvj4KfQyH+wx4DpeVjCdK+H4yRXVwclNvrRbwTRtpjJsAQ3sEdMbhYMpvsI8ZqS2Dr+DES+FCiDPlzrlkixkTTxNepEZoE0TEYZv6SbT7pgf7GCd03boFUVibkV30A0AcAb4Yom2sAYOQLAIAvugEgdcUVMlEXpW0XxnUjn5H2wSNlTs7H7kkPLJr5ruYWMvepCkUlxU5BBVsvhbVAN8oKIR03+KOuUE9qegX4O6+bTwMBIFul2sdPkLaP9ZU1hyr094s/OiX3hw+WVokj4J9RySZIjHtJgqJflcCoV3TWsK4xGTVGWiaM163Q7oudJPeFDJOEl5LlK7yDdevT+RywT6L8IGk3G1laOTaU7Huux26q76aCejMB8HJJmdrCYUSxz5wkCfy3XnIPt8pDhUln+nKNxNCp0nbIn2BX8LOPjJA2Cc9KOxx3Yln2H73ln5+cIxlHyrSX6e1PTsqPw5/S5ae44DZn/VL+ZkKOWaCdQ52+6wCwbkOWZyMX02Enzh4/c0KyVnAh6FT3WECOAWSjGSeBZK7M025iYiwuH3PkazMekO9oCH0rACwpoWkZ8gRoxcVmR8RLBZdl846tMn/xQlmUmaIRZeQ5eJEJ4Fo2PGer4J8WvK2tf0wwWw05caShCfAqMfKOUlJKKileuykACMdERq2IAJAGUQMAJ+vOF73+vFyNioPWydOzNshPYwbhPQPF/0nU0MLgqODM2vV+RVoFz5S2oXOkU9wfxdUVDpBdw72f01bGlgkTpS0AVJfug6Xva5m6LZguFo34lQNZlJSa/CivLNO4l1axjYCAzMPQ+ABP+TuGPL9V4m+d71NS3wYAf9J7lA8A4lpDAaDJNyNxdwSaIFE2205dBwBCBq7YadIidorunEPw1zZklrSJmCYdegyXWWlbtbuOhY2DfZpdqLpP1otkKh2ZoMWyc01/8N0CgJyI4IocJj/oPVpW7SuQS0AbtLJXlu+Unw1CpTn0CWndD74EwIdbxPklAAj1xHH8TGk3AO8F6PMPGy/39JktLR4aKB0f6yfjUtbKEbyDIPBKhRni5JYpt6F0ZMnuv9shO5sXNl8sW2JDiudwKu1p4wRAPFRRxriZ39MvcB/5J/6SKa0f7CXtI8YD9LJsmSUBca8CBL8CWT4HAPy8LpXj4iLbXLyZC0E/2F9+0/cZmbfrvDZSEAT/adM+3bmJizsHRY6GrFERYx6wzFMAaMa6f9cB4DcR08FGMM7uZRo5LO69tEVuAEjwxyF07Apmt3D26qWSkpuhS8es32rGA/IdpLpAk/l+I41oN9QCyJd7IlcSX85pzB999rHkrFoq76UsNAs7OxHXbl/OZEECeM5ZLuzn/urkMS3qtGVJjaEJE6XvKGWDAKDuXAAACGMICHtBu4BZeHMAbYuH+kviGznabXsM9souBm7G/dzKzdI5ohecUF9xDYUBccHbx0dLRxjVfRyw3GOOtA1/Ce+ZKwG92CICZxg+VpeIadl9iPy01yQZ8KcsbQk8D4TEuLNlgJCAsT576ZzGnwDQXEECmDaySZ5hnt8qqaxMyC/4WgDvDAD8LrUAEgA+EIMCJpIAcEZtABgHnY+d7AaAbVA5IgDs2GOYzE7dbGRh9YDiaG4h0079V4DiyQQGHufOw/oomD+3zHOvUQMBIJffcsWMkPbRQ2Td/gIpRrIJPk7BLCbnrJF2PfuhEj1YWvfiqgxs+YNvGfAqQry3+9NyT79nxT8cwObhYXJ371lyX+wEubfHQJm17H2tqHNdRQIYlsPcEaKyuFjKi+mNjCy5zVdDyQIhmzf15QcBoAUDBJ582j5bUsp1/4zshs/LlvsBwu7pB7kEj1LZBSYA+IU8Ky3D5upEKlcwF86eIC1R3gQlTpSWjw2Qv4kfJ8+v/FTLJaabDQtL9l2UH3brpy2AraPGqB2qj6JvBnOPYNvj1VwBIIkYiOngX/akrtm6QXtKiZl0zeTl2bosDM/ZFcwWQmKt7GW5sv3D96W4lLlniK34nqDvtgFAz1ZAT6R54MuDkp6bqTNU2PrHmb+KWp11bAgA7SwWAkBOeS6Fcyks47iD2zOLxatETXSUkhJSKfHazQBAFtpcfBQ1IgsAaRg6Qypqgu5xGv78PJ2xSAjAMUsMj4EnLlkp7fsMg6E+iVraWOnA2WmPjpHARybJ3REvSpeoV8S/Bwo+1t64pzAMN6j3DN0Gy9X1Cd0xZPhb2ToWis6K4JKtIqy5mmQxHTyyjHNjfcZAGTaEVFYm5Nt9ANAHAG+GKJvtJ2sDQO460DLmZQMA4w0ApK3pllQ9Z+hMxQ7BQ2V22kbVC81/qwvNMVR04sE0OAV+CM0DDhtRkflTyzz3GjGODQCA6jsSJ0ibyCHy/skq3f6WvbRMF/f7HTovXVr+PkHu6gP/3At+hevaMYSt+XUfpePeWqJC4QqdIkHx06V97CTxe7iv/LLvOHlt4+fqs9WfMnJWzypMCxx9EXvBGkp8j/HTddhmFog9dxWVBvTBDUpZlanWE1wxBhwK8crKnfLjmKHieihe/BImSMDAF+A3pksAl8DphopTz2e1ccG/21gJjJgobXsD0AUPkk5dE2Xmki1yEJ9kYwLfxdbPtA+OyU+6DYTfGS6t2DrP5WE4VInLm0UT/Jnx7jcFAAkXcI+3mebvEgDMLynQdB49e0K7etmDSuxk11AmrlJsxYkiAIjcRCM1O132Hzygi0qTCAA9W3tvCwCsOzGjtNQo7aVLl2TJsqWyMDVJBy9yeRc70UOZU5rBbBHkwMaVm9bK1fIiTSz7vbUw5kDjpkzURFoSQqZEU8NrNwoACVTYnA4gqDUiBwCyaZyzpLix/fd7T5CQWW9prYoF1mX8uVhY6QaBo1dtlrt7PQ3DjZX7USPrFDpOAh8bK11QW2sf+jxqp1OkTfRL0jrmBXV6gb0ADLiYaeRoaRs5XO7p2l/GLVwl+xC/k3ifdVrWZ5kE0vLAWjDoRQ2cw1snvsApRfgVHwCkbdUPAH3LwFxLlM32U0Xy85iR0AWuBYi0WgDIAecOAOS2i9yPNBAAMDBqsurFrPT1RhZ8kep1c2TkvRv8UQ74owLxCEE8tEzV8WSv0nUA4I0uA6OTEnrThp6U90/DWyOB+ReuSEVJsb5vX2G5RMH33sfFxIPH4FkD/vieDlFTpeXj0LuwadJ5yJ/F1YPPjJDvD35OWjzST37Za5ws/SpfQZEutoDQCrG8tExKyjiEysi3YcR31MPOt0gst3nI/CI8KKziBCDjV1npT/7gqPxd3AhpFzJYW/VcofCxAwAAubYs/Cp7pNqHPouyZbp0iZgqHbn3eNgwafV4ojzx9mI5iMQR9J1CVtDXsvxI3nxQfh4yVDpydyqOw6VvSoBf1m0a2fU7WydmBYU2bwDIRjCmxQJAlgJr39+kQI94ij2pxFF2iRhiLU6kXZwDMJiWLKvWrJYvv/zSPTyPoI+YjWDwmyagWLqlMYDcum3btm2SnLJYJ3UQ/GWtWqJgj82WOngREeYsFoI/tghy4ofumVjNJCKSMNrbsZChV4nypWUjpJRUUrx2MwCQrYAe4/9ahQOoAQzSYfnFTkCh9YTE/THZOBJaA98P5pvZasexgbPX7JBfxA2VFv8ZIffHAzT2BZhErdQfBZ5/z1m6/lnr6Lko/FCDo1PsCWcWMU7aw/l1BhAM/O8EGZ22WQ7iXWzGN1ADjqIIKWJBwZZaMruG8GVjfMYmGZ1bJpWVCZkeHwD0AcCbIcZ+x8kiXauMm8lzDGANAKQ8oOvcDYQL9wIAcpP6gOjJKOiGyMyMdapXfIeRffNjbQei/pOpBvbYIXtqmWpTl71KDQSADOk72oYNl1VHrpoWYcpEraRUCpHoPadL5dERr4jrdwOkRW9UqJ+AboVPlMCQcdIFANIvdKr4c8UFtbOJ8E2TAApHASiNlH8dMku2oEZNcEQ9u3TRkTfI7AvLbzXU/hxnoXlJxrkyLjnfYrcv84pPMY2UFUOWKXmHr8hv+kyWwEf7SVuWBYkAtr0hs64jAdi4pNgz0i7+Bd0RpX3IRPl+zDQJeGiA7rPec+578gVeTM/Ed7J4yndA4Oq9V+RH3YZKu3DYJfcpJ/jj7iFxYADAoLBZ0q6nDwAyoWbMvQF/TOtX504oyCNu4vg/BYAWDIIJDLmUXmoerqemyIYNG+TkSTbfGCIA9Jyv8U10Q13AJM+mxV27dsnChQslO9dEwu5lp02UTr81QSD7rrkW4Iqt66SoGrWeqjIpKOX2Y8g8BX9NPAOpibQqhDQAsl67UQAI4EcHRSDDWpYOiI14QbuDtUCPg/F06yW9305T53Yp3zEEvhYAqRTfoatiqx1XpP/7vqPE9e+hEhg5Sjr0h1OCwQbp3sHPil/wDC0EAyNnAgCyljdWWsBZtY6ZIG3DR0ngw33dIJC1Qk1PMT7EtOgSMXBhuqSBKTjMyvYmubdMKisTMkk+AGjkq9eQfE8A6OsCvpYYewMAh9cCgNzyTQFgAs65dlncdGnFWYcozFrFTJS2PQfL9Mx17ooOF0GhrTa3UAtQ6r9lEkLPS2SqS33Me14lOocGdAFzmI2r+3j5ceIzsvZ4iZyBSVToSGh4wMoLcHkoq/CJZTtOyT8PfU1cDw01Y7bZJdx9tHSKmCat2YPTYwJ0bZYEDILecQHy6InaHRz4hwESO3ux7ALSot0V4NW2V668kjvuNrQM5G/pKDy4VouuYZuHRUgMfSHjQm+y4+wl+Y+JALePDpIWwcOlY2+kLXSCboEXwNbOkEnin4CKE7tuu4+SoJ5j5V4AuqDf95bfj39DtkJMpqwgbMEX+CF8twRh5vvH5YGeIyUoYhIAIH5P8NeLrYoGALYFAGzfc5YPACIN3NaN6SkqL9ZSgFNC1mzfqJiKewITAOquIMBXHE6nE2sBENOXZkvS4mTJysqSjz6Cb3e6gkl152xcj24IANrBhWxKPnbsmCxZskQBILuA05Zk6dg/Xa2aCJVNlWDtt0bIKcwHTn3lAAYYaqVZc8jkcBPPQGoibI7hrQJA44g4HsJ2/3LTbAcAxo/D+SCJfn2edgHrXr7EBxdRp+Qq8wrOTBTo/P70/l65J/4pgMa+EvgEjWoKHBMMrud0aREyW9pFzgXD+FAYtub3AZJcURN1in5Q6AgJerCXTEhao13Bp67gQzYtuk4gikoFgGbvYIISbhx+Y2p2HdL3m5Bp8AFAypcZjADJ9wHAbybG/hsBYCLOdaed6bpVlX/4M+Ifi0pR6CB5JmuNAkBKQcnqQXMM67A9pJpcj2lLxo97kRoIALnSQkC3yfKLhNmy6Vy1HEeir0IrCqs4l/UMEgofm49PIMFvbTsv3+8H3xw6Rlz9npXW0VxDcLQuheKKoA+Crg18CcyxcwA9IWPkrqhJ0vm/+8uYN5bJYSAl6itturwcJQMq1BXVjHVDZIjfKvCjr2YIpr+2INDJSAbU84Iqrvpnumg37/9ChvzxLXF17SsBfSCbkNEAgM/Dj0Jmj4+T7w99U7jmX4tEyo+LP49F+TRS7gkfKX+Y8KYs+vCctiBegPyr6VUq8eYSpBAfKsWn56/eLz8PG6srWei+9pyISI435VvbsBnSMWSWrljR3AEgmenhZrqmFKiSI2e/1oYzBX0AfO79gXHO8YHEXGx8y8zOkpSUFMVkn3/+uRQUcJbAjdO3AkAFf4gehX7h0nlZvnKFpKQtBvjLk5SsNN3ZQyd9gNnyx+ZJHusgxqVZus2J2QPRZBjfY7uVb2SQYqMmJoaWhZAp0lTx2k0AQF0PCQZgWgDN1HhtGdQWwEnSMnSwhL74tjo32gA8ByyMhoaXFcHwaPuwEhbsdFsvf7RPfjBwrLgejJOg/jNhuHBUETOlbcxcCYqaK37Bz0gAAWfC8ygsp0orLiTdc7S2BHaJGiXtH4yXp/6coTW7YqaFSWEy+D1ttSUALNV/JaqyBgTyUbKb7AVPVjKycXd/8BT3eHbrAHCKDwB6AkAAv+YAACmbbaeK5IFY6AUBYKRZBsZMAqE8UJg5LYAtqBMRpgWQY51mZqxRvaIoVATeYkaAoaOHbnXkgb1v9dSTPd9hz28lrMOep/bTnlxzvykBQAMCdQ/aOgCwLWynY/cRsuJoofq8IimQkiouiHIB74a1qPNQOKj7RwfFj0cFe7B0QcWiTSTAjU42gm71gj+NBFACkGqROEM69HleArqPlfvCJsuPuo6QaQu2OO/n2m/4o7KjP0VIgXpQjYxr8zWkN/h7vtCDLRjkPfg9Pse847fZHX0El6elZEur3z0uAYlITxSAHhd87jlFGwjIrgdHSrs+AGwREyHD8dK2nxkrSVv788YDmpYreKk26pRB8tXIB5R7hRdK1EetP1Qqdz86RFrployQTyLeRY6do2VeUPgMaRc6Q4LCOOGRfryZjgGsYAq5VI+ZF8E0sSQgZvpo32fa0sdhdGQ2qHGJGI4HtK2AucvzZHFqsixYNF+WrVgqR45+5cgH3t2Zr/FN5BLUCpTtrxyyBm5nqZy7ckFWb1otC1IWSQaQaPaqXFmYlSypq7Jlfl4KOM20/gGhcqBi+tJcSc3ORObZN9V6+TXfa5LE+NPmEN4qANTWPoQsrLk1EVtvdMscFFh0WGyZi3s9RWtb+rYqfEW3beNLca4zycpRay3XAo3dwS+t+0h+ETtC2j4+UO6KpeFOwrtnoPCDk4LT00U9+e14fDvMzGAL4HNxMHQArI7Bg6Tv6+na6ljAj9L4iBwK+F2AvqorUNAC/LuigIo1FqqxLSD0jxFBbdY/1AiCSNYcYdF8FszPfBsAvP46gD4AWAMAZ3wrANT3a6HB7zkRaILEtKw9VyI/jB+LytMEXfOSLeito17W7t6AqGmwM4AAtkKwGwqyaB0+Ue7pMVTmpm+UC1RnJt9bTP0rxx8UAoQwJbCoYnApWIvrSlgVK3x4pLKyWh/nMJriCmq0oyv6IpDV45sNv4H4SF1uVHTTANCCPwMA1c/C77WLHSPrThQZ26Bcyy9D4Azxfry4GI6b/o3+cNCCTLkncpDcHToM4AWVDoIbVqY5zi1sPPzSWF0Spksirj/OiXazJLDHJOnSc5LMWnlAl0lhC5wKU8dWV0lFCSy83NgifRSr1dQIrphB8ONZyXaTR4aUlpvhVfxNmf6aelGOYgJ6YhCUiuoiXsINBaat/FgCQwbALwxDvAHwEgD+2PIXPFXaRjwn7aNe0OFCbeK59M0UVJ7GiV/wQPle9BPy+vqPFESyh5HbxnE4QTmFxLTQpSBgXmTsPit39XwKAHCS8U0Afq4Ygr/nVPYs57TMY6NHMwaA7nwkO2RPmeRVG9ZJcnYGMFWWpC7LlXczU2Th0izJWLcCYYZisKTsxZIO3JUMkLhk1TI5ffGsyoYTjTi+kLIi6aQQD6xXVVEJAOicuBnEljmK1wqZ27Z99MUnCvr4sdQl6YgMmyKTZf6yNFm4KlMBoC79sjxbFyrMXJIrn3y6Sz9qPuy8vy43ZWL8qfQIqfRkvXajAJBAhbt3IOSq9DQW3Tibs9MADGkobXqOloTXUh0AiJdU0/kXaz5SQcrKCAwIpirkYkmxgiU++8aaT+TvIoeL/7/Hyz0xU6Qt164KhrFzwHLfV2GQDvCMmintOEA3ggXoGPHnEjHBQ806gW/kKKA8z/JIPwZmfwi+d/bKUZyysOI/Oh4PJ2WSb35Dtuf6h2MICQA5FhROjz8AU1LfBgB9LYC3BwB+V1oAWZCuPl8m9yeMlcCwidIiFJWc8BckKPJlCQx9Rtf8a5tgWn60sgMg0LrnBLmv61Pyes4O1QvK2OrgHWeKniCjknlfjPgUIk0FyHMaHFtUoAu87xR8zDHTmwJDrCqUqmIWxU03/xpMDQSAahvxk6R1/ChZ/3WBNpap3+EevvTh1kQg7rJiM96aizz3+uM8afXbnvJ97uAUB/DU/0Vjf+HjdduzgB4jpGX3MdIx8QX48uelZexcrYA/0Oc5eXvH16YlkP2kRFH4TmUpchV+tRqGyckhdqJkDfjz8K2WHB1SEeCQekE/can8ihRWF+AWACBBLH8IzoeA+N1XNxySzuHcOIDgFeAscoKO8+MQCVfodF3rLzDiefHrOV2HTHRInKmTQzqFDJSZq96Xo/jmuSLqH14GBEj4R5+qaWFEcEg5pX1+VrqEDtWVLBQcozyziz/TX9EmmR9myTP6cR8ArMUO7d33hSxdvVIWZqRKMkBg8rIcmQ8AuHB5jixckSVp4JSlabI4N1UWZCyS5JwUef+znXKlOF/lo3KCfbiX77Pvdxr+rgGABH8K2uyPwXu/3CeZK7IN+APqTAEAXATwl5SXIu/mLZakNdmyaJkZ96fLvqQuUuRaWFyk7/JEnddwUybGn3JF6C0ASKsoLb2CT2ixoLU8Fgscx/f6+j3y67ix0uJ3vaV9+Di5m46q6xg4qmckYPBfYPBwkCHTpEPs89KC41hCx0jr3s46gY8PlI7dn5Chby/Vd7FIMvtbIh6lTgHlgDiCF36f+qJEGRgR1Gb9Y1oAFfzRonkJz1NSPgB4OwBg8+kCVgB4oUTuTxwNADhBAaBpAXxRAgAAgwAA/NmFxb1ME1HxSUDhBpl1fHSIzErZIpfxe0rBPcv9TjMrUw7AoNZzCHghTpDLUAjco0FTAWBuHH5bUMCnQPzDriMCRBpIc6WbBoC1u4DVNuJQOY4dIxuOF9UGgGwapp0wDyhmHNOPsEK88UKRxDw3T9o+PAD+BvrVF36HehYyRjoBMOm4t65jJSDueWmV+BIq1JOldQyA4n8NkH8Z8IxsOJKv7yrFp7gphyWWuKWlxch6fFA1k8z8rSePGVdwWRl0Ao7CAMYKKSjPx1/6EqMrhSXGq3C861vr9stvEqeI6w8DUdkfK60ASF1hkyUAduHHBoHw6QjnALCiPEAZ0SpiEsqNMdK522AZ+u5SOYBo8D1FeDF3AmP8TA8Q4nuTAJB+ygcAQSYx9TOIGGrnro9lQXqKzM9MlYw1y2XBsmx5KytFklblSOryTElfkSmL89K0NZAgMAXHH3++S+VDObEV0L2aC95bzUqHsxuM6QL2+CDJnBoBc4+6dVs2yHup82V++sJrAOC8pUCey9Mlha2DSzPNViZLsmTflwdrXmnfXx83ZWL8qfQIKV4VMa/dUQBYIRcvnQFAIHQSuVBSJieKKrW2x+4Gbsnz86gR4v9ffeT+3gBNoXBUoZMlsP+rWuNzPToBhve8BMU+q99t5awT6IdaX1DUSLNY9OJVavxcdibfSZJ6LhZi6l7IjtNi+q/HSnwB2XmeosI9Xrl1APjdnwTiWwbmWmJa1pwvkR8kEACO083pW7AFI/pF7QIOjJqGig0BIJgFHApkLtzLMV+zcz9QG6F8KQ5vsOqeYwaMB/Wcucx0abbwngMCaQcXAQSZa/o73bYCF72tv96k6wDAG18HENdip0iHmDGy8VihAwDxzjLmgCNbiLk6H7mFY37jUFmJ7sq0E8rzrwNmSkDwMOjcOPXdAZHwq/ChbeKfF3/4U46pY2WbANQ/cop0Bhhq99+95LERc+XTs6YCw3cyT1UnmB4lhOz+p3/lNWVcdvLaHuop/mj3sbNEF5mVcR5dRQWDDQLU82X7L8g/xgP0/a6PLhPmCh4nrRPmAgDOkoD4F7W8cYVDHgnPiX+v2dIKleoO0eOl3UP9AHYXyn5ElLpJUVAluYsJv8IZwD4A2AAyiamfneD4mVOSs2q5vJOaJKkrl0jS8hx5M3OxJK/OlfcyFioATFvG1VgyJA1MrJazPE++PHZYZURZuQkv1NZm6jmOXTyxH7PEU/6IS7as3rhWtx1ZBHRJJtIkAExekioLl6QA+AGNZgP0rVkiKSty5C+L3pWNO7dKSQUKNKvQ5oX1c1Mmxp9Kj5CGTNZrdxAAssuAM8qMQZjosFinEfI3rLG+ve2A/B1qua7/G6UgUFsCe0xQANUidJZODmnNrgo6gSjUVMNgtFHjJbDfNDiH0eJ6JEaGZa2TL/EujoPRVPHPFcRFWyHogBwnpMDCKNf1ychHn+EhQhNvHwBUL8drSL4PAH4zMS1rzxfJD+NHSlDYGF2UVxdUj5kr/uFTJQCFWNs+0IU4x9ZYwIVPl85RU2Tmit26kDoLR0rWG0wAUIr8pH4SvLDCRnBBG2PaypA1rGeVgPnseTxLW7iMUpH4QEtHb+uvN4nOoaEAMHqadIoaJ5uO2hZACt1Zqozf4B+aSlWl7tnKfKNfPQLTWbYvX/6/wTOkddcnpG34aOms4/7Gaq9Ky76v43vwp93Gyt0j39ThNW0jxshPEyZL+/9MkMhp78keZCrzk3EnWCu0a7cxXaVIl/pAy7jm5DUDRknjh3hWl+FZxE1tGuUBW3sKK6tVt6lLa05elf8zbIZ0hj+8Jx6gtNsoac0W0JAZsJO50jLmFciB4xhxDeCPkz5cPZ+Su8KHyUOjXpC9l42O4pWK89gTRNXLRzlUhJj4AGADyCSmfnYCYqmPdn8qi7LZ8JahAPC9vAxJXpEtf0l9T9IAAAn+iM2yVuZoNzAXiV6+dqWzpStBoHkX1wfUXlnngss2BVpyrsvF/Euy//ABnfTBVafTgTD5gSS8nAAwZRkiszRVUlfnyNuZCxX8cYYKpyYfOn5E36HNxPaFdZl519Tzj+mg0iP0BgDk27mtDz9JgzCryxtbKSzjKDvTHUwn8OdNexUEtvp9P2nnTM9ngdk2AWAwDMCJziDqeXwbjgDXdeA8l9DoDQOOexpOIwEgcI0uPM3CSD+iS9wjFhxrohNTaKFkxqxG6chushds/vNRnDPwAcDrA0DfMjDXEtOy/lyR/Ch+uAJAykNn1TtDGtiK0SIWBR4BYCKXn2Ah96z4B4+VbrMXycS0TTIrd6vMzt3kFX4ue6u8mP6hzMn4WJ7J2ymTlm2Xicu3yjNLtsqczO3yStoOeSVlh7yQsl1eXvqJTE9dj3CzvLlso1yEYlA/mjVdBwDe6DIwDF1R0+SuyHGy7atibVDVrl8AQPpagg/tjeV1fKO0qhg6V6U9ISfhBOlb/7z+c/mHvuPED6CubRh7V/BN+qE+AIAcV9cX/igBOhgDYNjjSfl+r2nSJXiktP/9YBnyl5VyBLZIy6YuF+A7mqX8U4R00beyfFYfi5uMG4jma4ARCTEtxa91SAD8RHEpflquPo9lxg4IpuucP0tA997SMWE8ABfi2GOSdIx7Ufy6QQah8P+RLyN+sA/OZGZcgwfDnobIvwydJiv2n1d/T1FX8aUmCnK1nJOWuK6gDwA2iExirsscu8ekn7pwTlZuWi8LCQK59B5AIIfdzc9dLKnLAQZzuUXcIp2fQazGFVqS0hfLB7s+lEsFl92vdM8MxglbAV2eS7GYsX8odMpKZe/BL2TJyqWSnJGiAJAvJvAjCExekiaLl6Y5IDBNmesAckmYD/fsknxd7Jn6infbL3syL5N53JSJ8afSI6QDIuu1OwgAyVSQCtRQdewIHFVZUb6UoQbJqFwBYqCDIQh8a+t+3TWBIPC+ONRSe8IhcFJIGOISNls30Se3jIVT4HUaLndSSByHOD6F2m2cjExZZzb91qlgYI0AHQC4FgAkkDPNz3yMcVHiAcXDi/b3Tlp8ANAHAG+GmK8bzhXIT+I5I3OUyoOFbguuOxY5GboM3UVh6+JM4L6vQI9fFr/eL4nrkad1e6/7ej4lHXsALAQP9wp37D5cunQbIZ3ArXsOg/4OAQ+W1mGDpEv3wXJv1yFy3+ND5a7HhkiHHk9I0OMJcm9wgvxT76GyCwiQGsFcbLZ0GwAgn7k3fLxsPwIroymAK/FOWgbfWcZZ2nS2eqVYLldclnxO0sAlXuE3n8vaiMr1OGn9yFMSFIPKR2+Av9i58EXwUU9C37oOkhbwoa2iR+uCy3fHz5Q2PabJPT3GynNLtsj+ojIFkxxZrfnJzxXi7ZwAVIYrZJ0sBMY9mi+/reCoErGsANNf8sd0nQioG5/jgfi3F+ObidK6DwBozBjV/c79Xpf2kS9JYM8XxC/iVVT2uW4m4s01DaMQx5BB8u+TXpTXN35sWsgpCH7+Kr+DY8Th5Nkz+H4VZHQHASDfj3u8/Z0BgJZMoq5hu41fGcr3zw8dkPTleQoCFy/P1TkXnASyCCAwKS9Vcdmi7MWK0bhI9OLMVMlaki27932uYwl1Rxjmk0PEZ+51AAn+FETgoQtXLsvm97fIn975i+SuXqYAcEEm9/wl6ONihPxYqqSvzNI+6Kw1efL24vna+sflYpgxZpAoX1wPU4/JPG7KxPg7SkkbIeu1OwgAOZmMXUXqo1iys2DXsSOlUlrAySEiF4srtOuC3cEvr/5UWwKDft9X7uYaadHg2Fnin0Dwx3UCZyF+cyUwgd0CiB93FOFemL0n4NoYCXg4UQb/JVfjU2SSadKrzokxMmwmhbD2YgyV8VDigf7GYT5u04K/PgCItPMaku8DgN9MzNdNZwvkp3EGALq46wDy3o8zfqMAAGInG13hFl69oc8ogPz6oMALmyL3oGIT0HUwCqBJ4qfrB9559o+YLoHhqIhFALhyOY542BmHXMSOkkDu1R02VoJCRknbiHHSJmGCtE3k8QD5cewA+QzZx8KZBWSzJTqHBgBATpZqiTy4L2y87Dhcyl5evAuvrDR7AVO/eKm8DGcVbAcrwHkxGMLHp1nnpQWdwENj560CoBsuARz3F/sCdAw+vD/CniMkYMhMxGOEtET+BsZwkeiJ0j7+NWnZdbz8sEc/eW/bJ1pB51qDtE/1SczYEnxEHTy+Vw8AJNOnqRxwsbIIf3DI63vhLmYu3yaBPRIkoA8qQahcuHpPFb9e8I/dpkj7sJekdeiLqCy9AbsAWKX/jIQf7fGk/DD6KZmYsVrLC5Yb9BRVZfTJeHlxCYoWfAHxKCopxLd8APC2kElU/Qxi8s9cuiDL1q+R+WyUA7DjknsEgO+mz1dclrdhufbQEqtlLMvRuRjvLHxP1mxcK8dPfC3lLFNBOmkI+aUAkO8vLuUihOZb5y6clw1bNkt6ToYiyJTcDGWCP9v6p0hzqQGBBIAZK7LlnZQF8sm+3ZopnHbs2c98XW7qxDQ4SkmHQdZrdxAAGgNxiB8h+NPp/3CM7JbVdYBgyLjFWibHGb2y5jP5dZRZJ7BlH8QjHo4SDpLjAANC4Bi7zoAjmwPjhQPj1nGcLZYA54FCqE30KB1L0ve1THVadDb8QGkJlw3SQ+gTahuIVQW8Qa3ZwSQ+wFNqtIdRM/g2AHj9dQB9APBmAKC+/zsCADefKZAHYodJGw8AqHuYRk10A0BXLGQQB12Oe9kUzjGzJCgSlSCw7uDArmFvcRR0liAlHvHgDM1EpIHLc0RPUWDIyQOuiPHi6sV0jJSAqMHyt4PGyU4k3gcAobsNBICtwqfL/dcAQHZv1gBAYyNs0GAbHRk2SvOhqeJ5joQ5Bu7zao50CBmndueXCFDFlmcAGwX2ieCI4QCEo8U/fo607vOmzlrvEvKk/DQ4URZ8dFD9Ka2cFXr9JN6vGcwJP2xQ0cke9KxmDQWyiR8eK64y6/IhHhfw2/nbD0jnxxLEr+cg2AMqFf3gJ+HDWfnhzlBte74g7aJQKYqnTaCsCX9G7o6eLD+Fnxg7f4WWN4wL5cByh35cI0S/wfKNp5A//bUPAN4GMomql9kKyLUeKYIvvjoEgJcqmSuXyvysxR5YzOmZdXCaxW1pwHHsxV2+epW22trXWsynAJAtfwz5kc/3fSF5y5fVAX8GANqP1Hw0VWefcNbJ6i3rdQFCU9hXSQVrDPZrdZlkw6ZMTIOjlDQUsl5rLAAQXF1CM+YSAfg+LrPQYM2O6wT+HAWn6+FEOIdpqJ3CWXUHUAh/Tu6Nelna9AAABAj0j3lBWnBFeBZE4WMkIG6CtAyG0+o1Sfq/kSmH4A9t2s/ml7jjc+zUcU2/cRxkxh0B2YinllEz8LUA0qUj7byG5PtaAL+ZKJstp4vk5zHDHQDI1hfkfSIAYDQB4ETd71plQOBHABgHXY6dBSA1Ttncw/O0wzsdklnJYsjdJLjtFveaRV6ycGS+6vpsyE9Xb14fi0raMPnNExPlY9gdW2d8APD2AUDtAqYvAgCkz3ADQPoI7nShnogAEHZD84Gp8h7z4AQisA/Xfj/+bXE9OERcoeOMT4W/9O89WVr3n4rKNgEhOAKVaoAv+tbAHsPkh1FD5Z/6jZctF6rla8ThEj7KLmbdKY7fYOsfxwES4cFeudQzx9/xuxzrzUZC3inAs2ynzP34a/lxt37SqeeT4h+HSg7HHyIe3MPY1fdFaYXKUJuwuRIUzgqImfTXKXaqdHp4kDz5cobp3QHz/ezmNYtLmx2g9Ess3xgvhKzm+wDgbSCTqHpZ52k4pxfyr8i2Tz7UxaGTczkZ95sBYGp2unLusqXy0ae7pKDIDM8jE9YrACRzpsmXXx2RlWvXSFJqig4gZD9yfQDQjPszADB7dZ68lfSOTvxghlToODAoaSmyzr7cky3h2PO0SRIT4CglbZWs1+4gACRreQ5Wq2HBri1/DiM/you5MKgp7s/jYbYEsrvh1Y275P7+cA6PJUrrqNG6PECLP4yQtl2nyY8S/yT+j08Xv5DnTHdwBOILRxEE4BEYP1FcXZ+Q9t0HyMBXkrRVkcCSTAdEV8l4cf2hmliSGT8EZCMid+R51wcAmUNIO68h+T4A+M1E2Ww7VQIAOFLacI9WAkDuzNALAMsBgNznWheC5iB37hHM8a20NxRMAVFjICu2Ehqbu9MhgUircFS07P7f6g84Nm0W8m+2BIVxi0hcA0jhnqx+0eOlfcQw+af+E+ULGDFzj1nZbOk2AEDbBbz9CEAOTYG+qKJM30e/oe6BfxQA2hZASJ6Cp406LTN8lt9//7LoWnttuz4lHWMmSKto6FgClyECEOKkOm69iW+7UNFu1etVCYwYL21Qob4/fLj89qmZ8ilexPdchOvUvKWZ8oBlitosfEElfRiBl9GBy7hPv0u/nr7zmPx2wDPS9uF+0ipkmNnnl8MLULa4OEu511z4A1QsuCVoKJ7jLPmew6Tto4Ok3ysZ8sUF8076ngoIhGUYV6bkP4ZaoefYfhbzOLyjAJDfxD3NDlz7LgBAkxYPshcss6Ang4pKOPwA+nH1sgJAbgVnAaCdi1EDBA1uS85Ok4y8LEnLypScpUtk9xd7pRx2wzeyS9jFQ55cvHpFNm/fJslpqTJ/cZIkZaWagYT2RbXAXw0AZAsgt4jLLyHIAAB09raz68xcww7VOW2axARQ6RHSYZD1mrcBoIJAAgkwjq9cOAsAYVoBuU7gqaKabePm7vhcvpfwtPg9GAuANVna9RglQV3Hy/fiUUPtjjg+NlVax7ykq9mzthjQe7YE9sL1yNHSJuJpuT/4Cen3UpLshtfg+77GR+iMqAUmTvwqLdfExbloAv5xIs+nfACQrpf5hoCiQtyoU5SLbxmYa4my2XaqDABwNMDSOKSTLS7Iew8ASJuiPExLGwBgjAGALVA4B0SPhozGQ354LgJg8Q6HrQBYW4c+K4Ghz4tfBHSXBXPETNXlttwoP4T3cB0FtR9bBSPGSicU1v/Sa7wcgkNQN+Nt/fUmXQcA3ugyMAz5DCeBbD0Cz2N9EbvccOj25ypnXqkDAMnqr8zzvMNK8NL9l+R/JkyQ9o8OkI7R46R1HABY6GitQPv1hh9NhI8CGGoRD52Ev++UOF3XCGzzUF+JmP2uLrfFmcb0W1wsWodTMRIczlNlK9XwZbhOe+azLB8+APj8jyeh//+/MPnlMFTaQ1G5Z4tjHGQQDz3iMi9clzB0qgLfdpBHx9ix0j54oDw07mX5DI6W7zt/0fggHfcHf8TUmeXJ6aPMt2sCHwBsCJm0eJC9YJkFvXPMGbw8pMZt3rFdUpdmOZjs+gCQDXgcC7g4M10WLk6W1evXydmLF8x7qirFVcaJHzg5euJrRYgLUpIlJctpPszj0i/1A8CFy/jRVF11+txVu9YMM6TKDJp1Iu1m3mLokL3cpIkJoNIjpLNwO4w7CACtH7KydzM/SNBXXqo1RmMw5jc0KjosOiu23v3l/S/k13HDxPV/QxQE6kKh3cbBOGeLP0AVxwK2jJ4j/lFmsWhXOArbCBgsnm0fOlyCHuwlQ+atlM/wAYJAvveSMyawNhilBVN9TVz0PqPrpMUHAJkrlBUCJN8HAL+ZKJttJ8vl5yhkg7jAOVupOQGEy1k4ADCAA9sjobPUi+hrAaDpCp4grSPZInhnQy7F1DZslrb0tYowLVIBETN0o/z2PWeBZ2tLoF/YdPFLgL5HjZHOoU/J/+49Qb4i2mkM+utNug0A0I/LwEQYAMieVpoDu9zoI8nWFnXGB6yHkEvtlHLHPfqUC1fPa8jsOHGxUP3Vwg175IEeT0jnHohLNOLCcajcDYRATMeo4pj2iXi0jHtO/AEO742dLK7fRkj/N9LUL7OXRn0XmG8vR1qr2btDH4FIFQMpXUA8OHZwJ8BfyIy3dI/iu7hyw6NPSSB3vwnmEIjnxZ9gE5ULv8iZEoQKUtvE2dIucqy0/F24/OdTU2TTqWKVH/fHZjq0t5ny1cSz/KB/MgCQaSVRBPRNPgB462TS4kH2Qh3WBjXnlC147ArmBN0aLFY/ALS9uGk5AIsZaZKZmyN7D+zXd1CkLl2wGQfcuSMlI10fylm+1IC/HC77QvBnAKD9SM1HUyVjeZZbKWz3L5cg8Yy8MuNvj2sfNl1iAtRQvA0ADfg2bKJgqaLStPDynlknkHkFh1lWCHuqVgdDaPHuhk8VBPo/FC+BkaMUZLFFJZCzJ1FAuYKnI37PSiAdahjuhY0DIEQhGz5aOsWMl8CH+8oT7y4XLj1AAEhZFBfRMSDOukQMnaZxXvy+2dMU5OgFj30A0HHuvIbkewJAXxfwtUTZbDtZKT8HoAoKpb5SBsh/zvoFAGwVMxFAizs0wKYicT0K4E9bAlH4o8DhshwBKJxbRU8DKJt2x8OAqOkShEI5EHrsHz1TfUKr6Ok4ny7toM9tAP4C4Ad0ogry2xU3TjpEDZN/7T9RjsDItHz2tv56kyiABnQBM+Q6gF1QCdj6FfwC5QmuLjO+iaw+gsUa/RH8LmcBsyWMYiezTaawgm1/1sdVSTEqv7Sz2YvXy/e6AwR1G6X526IXQRjiBLttFTcNOoh8TXhJXCEzza4ceK5LBPzpwwkyM2ejfI13sFuX/ou+n7s9IXLmW0hzMSJM330QcR7452wJfDBeuiRMkg4DoDMPP413s4WRC/y/ABtAGIrvwDcS/LlgM64/JMo/xj4l2R/uU599DgmygLO4hH8pDDoi8z3GQst55xnK3LcOYMPIpMWD7IU6rHMqeIhCQZdzwfHKTWs9sFj9ADBzea725mYuyZWMvBzFeB988rHu5MJ3uAEgJ39w7F9qdqYCQPYd2/F/dQHgQvdHDQA8fPyQjvdiprB0qWb1gRH3aL7UvLLHtQ+bLjEBVHqENAayXrujAJCgDwBBv2fshMx75r5zXoXYOLXHkpLLUlaGKiMMu7oAT+G1dCR/3r5X7k8cDkfUR1oMYPxQqLLLglvGBcN5oBBtCyNuF/0sHMl0AJAJ4s+lZEJGoWAaK+0f6SeDEFfuZsARM25ZEAByPKICQLN3sAF7TI95jnH1AUCTP3oNyfcBwG8mymb7iWr5BUBe4HUAYFAEW9rY5XUtAGzJddF0FjD1BnzHQ+QbW4IAQrglmXIMOHqKLhHDpWK01SgWOt4Px4mjEOch8g8Dx8peIAMWjt5WX69SAwEgAYjdCWTz0doAkCbCiRjqmFj2KgCkJXI0HDs+za0TVy4hH8rlykV4vSpYVwUZT+E37Jod8McVci+/3WOKtOjzMirOiFPYRGnfa7oE0HdFzZUW/d4WV0/THd05dqL8OH6MtP9dd1n00R75sqxMfXMpIqYNLQoy6SPKtcv6GJI/B3bd5dE+EtB1kLRi61/PsRIw+I8Am7MBLF+Hb3wB5cjz0j78OdgJvhk8CukeI/f3nSDvrvlQZXcBieHQHfLpkkIpUv8AYdB/cwIKheOUa9Q7Psd4cclsHwC8dTJp8SB7wbLFUAjNUACKplqOnTxRqwVQMZmDzwwQrGkBJADMXrZE0nOzZVHKYp0MUgY8wFZAF2f+8rWeADBjWZ4szFjsDDLM0AUH7Ytr2IwBXJybKlnLsuRyIdecQwHL1j/NMHBdAEg2aVDyOGyaxARQ6RHSiMh67Q4BQC3Hcc206tUPAOHLwOYpBVbKLPiLpbwA9T4YdsWVUo07ux1mbvpIvtcPDqJbf2nVF/Gg8aKQah07RwIBrlqETEf4rO53yUH3rTioOXycaQmMGCH3dhsgT7y2WE7g4/wKo2wigz/ajWJmk5l/NTVpGjoBoZEZn8UPkRCONyb0WXemVH6SOFICI4aj8J6Ewp4ygiNh4YgC0wcACX5MIceuxObWAhjAXRiYXuipi60pUZN1IWh2AbMFkAWPXyTAH+0qeioAwkjpGD5cWoaMFf+QSV7icRIQMlICej4t/qFPi1/YUwifkpY4DwwZrvdcyDcXrrniRsDOBkpgz17y695Pya4L5ZIPXWBWNlu6YQBoQCAnA9UHANkCuPkoPANNAVxdXgPw9A/dlvr0awEg/dbFQjbHwpaKAPkqC3ADzxRXqK0dRB49Mm2BtgJ26DPXdAXDX7XrDf/PcYExHBP4OnT3WR3/2Tl2uvg/PEAeANj/UUiirDl1UY7gQ3yXfpNxYVTwXvq1P63ZKz8JRXny+97SPnqstEwAAEzEu7ncSwwrQi8BfAIIhs2Re+JeksDuqPQ82E9+8dQsGbJoiQK5UjgVpoPtmJcALPletmzSX2q6OTvGAkB81wJAeiQfAGwYmbQ4ZE882QNDXUFlg4dM96oNaxSjmYa5mhZAN2ujnQGB2gK4fIn27s5btFA+27tH38MNP9wLQX8NRMm1YhamLpa0JTmSvjJX3starC9auJRc83LTzGgAILchWZC1SD7c+zEyikAE2aXN1MgcoEwtwclOIpS/K8S0UOkR0gGR9dodBYAkfs8cX48NmXgZRmQIArhcDGqUxQBnNGiO4Xtp3Ufyi1izTuC9Cc9o4cpt4zgGUFsuuDYgl6fgkhtwNK3jADqiJ0lg7DhpGzlSZwcnvJSsXRgqE0aUHkOdVzkU7wIMuwCpKND7hCHUGD6mxAjzBNEEbtN4bTxVJn8bP0rahA/T1httnYyHnOIQ+gCgBwDk8iHfDAD1/d8RALjldIn8NBb2FMFJINO1qzcw+kUcw47Yoga9bBnH1uLnoKuzJDAROvLoIPnn/lMkYtKr0n3cK9J13Kve4fGvSPfxL4DnSNcJNcxzwy/IQyNnS/fJL0qPaS/Lw2NnSbexM2TMW4tl46EzalLMxWZLNw0ALfgzAJCh3Qpuq90LmLZWWaj+iNZhbVF9hWOjZn1TkNqRw1rGwXadXg76GsaJ4/M+gwN6ZBzA10O94b9GSyB7TThpicuy9HZsl/41dJq0C58uHSKmSmuAusDuA+Xv+oyRtSdLtCuYts8VQRiewDvTPjkld6MS0TZ8KniStnZzTCvHtyro4oSoaPhDgsDIudpzc1fIKPnh431k6KvvmneCSUwCk2iZ50o88GQnMN7j1ncCIRj3AUAPMomqYQc3VZSYBrWyshIdtkVZ7D9+UHf8SF+Z7cZh1/TQArMRu83LTpGsNUu1UY+Te7OX5MmXhw/pRCeSS5EEiJsEs2+YgwWTuAj00kz9sQF/BgCSDfhLk8XOh5PyUuS97EWyZP1yOXLmKDLFAYFs7aGB1gcAzSebPjEdlCNCGjtZr91xAHirBMheehmhGRt4EcpGmMFvcZ3Av4scLi3/I0HuiZkibRA/Vw8Yc8Ic8evPrY44kHmWBMDBtksgEIRDQ43WP3a87nn5o/jx0vuVdDmAaqXKBZEtvoC4q2yK5diZ/XAchbhnHKUjRvOHj/ACQm6Wz66GTQSAKOjbhw6TlgSAXNqAC5v6AOBNA8DvSgsg83XLabMVnD8XdUaBHxA+B5WQF4UL27piAQBgU1xCJUB3Z4BcEmfIvYkT5Lns7YIyX7vpGjMT1LCgJvP8DPKfoILnPgAI3W0gAGQ3u+4FTACoL4W1VV1Rm1O/Zf0E2bFRAkC3n7L31Iz4h+DQDHPhcBbq6HH4nu1nCuUfE0ZI55Ch0jbGWZaFALAX4kgfFj5ZWvWcLkGopLSBPetYUdjt9+LGy/8ZMlt2wwlewuuZ58z75QcL5ZfxEyUIes7KDSc6BUROxu8mGNDF7uVYpHHQG9q9HNj7JYDEyRL4/2Jk0PPvyNdX1Qs2yP0RgFEaPgB4G8gkqoYVMxnWIXWQAvHE6atnZe3Ojbr928Il3BEk1cFi1wJA8vycVElZZjAdWwC37dyh28LxG7oXsH7MIS4Fs/WDHbIwK03ey0iSlBU57hd9EwBkRN5NnS/rd2xEhrFLGUpRQtWvSYQ7YZa/C8R0MG8Q0lmow+C1JgMAGc9SKS1l972Z+XYRL6WDOQl+ff0e+XXcWGnxu96olY6XewagJvn4aF1GIGDwX1CgPiP+KFQ7xc9VMMJV7lv3hlETBD42QNp3HSh9X03TlkA6hVJGmKQtxNx8PV/T5IgQhPhQ8Sk/Rg1cGwCO1lnHrTiAmVvY+VoA6wGAzacLmPn6rQAQekC5cJtDV09c6zlGWnYbJDPTN6teUaosVBsrM460R1bTPK8z3ufLzAoOzZboVBvQBfzXBYB8rgJezuQV/WnOlxfkvp6DJQAV5PZcnw92qZXY+GkKhtgF3NKx55axM1BpgX33HC7tH+0vcXOS5AuYLH3pdijEvz0NQPVfiShLAKSiUH7A1jn2t0W03f2G+o9vhE+VNv1f0lnGgY8MloiZ78jWY1fVdhjthri/hgBAXxdwHTKJ8mCkzeH8fFM+89/WT7bLguxk7Xmdl5P0rQAwdWWuvJO2UN5LS5aN27fKuUsX9fX6ByBCAWBJSQnKXQpU5NyVS7Jk7Sp5N32RZKxZek0XcF0AyIikLEuXd1LmSfqyTDly8ohGtto9GcQmxPmo5e8CMR1UeoRNFwCWy8VLZwAwWF8VXSfwRFGle4mYP27YK7+IHikBD/aXH/RFfEPgtILhTPpzE3EYcvep0jHuBQmKZdcw0tALtddEOtoxum1cl9AhEv9akuwB1mBBxuVhlBTk8YscnWjkpaCE15RxyZErf2cBYIeeI1VOujsCQY/uZwy5fccBoG8ZmGvphgFgODgU8oK+BqDSENRzqExP3ajgiu+gFBo7M575sJn8ymoFFbzGwtHb6utVolOtBwDe1DIwDgDc+hVXRSDB2m4WADLUjKAvMwCwphXQAHa23nJy3GtbDuhWmu0jRwEMjVGQ1ypuurSMmw2/T/9FP0r/hTiikusXPFy+lzBJt4xLfHu55MEZPvrsfGn5UC+5K96UF35II9mdVgI/XXYGNhA8Rr7X/3kJeHig/OuQWbL1bKX601NX1AuaaN8i+QDgbSSTKA9m2gwXF3P5oQo5n39eslbmKNbKXJ2jrYDEYBYAWhBoASCxW/rqJfLmYjy/fImcPH/WnedlJfAgOFAAWFRUpIsM8ibzcN/Rw5K3bgWQZoq+RLkOADT9zgYAMkxZkq5rAq7ZvEYuX6W6QznshBCyO2EOfxeI6aDAENJZqMPgtSYEAMvL6fDMmBWb/yxcaMT8Jmuub287IH+fAOD322j5Xq8Z0qXvXN02rlXM8zoxpG3Mi7qPsBkjOBPAkGtPTZSgAdORluHieixO+i9aIrvxAToftgRWXIU106ApKq0g4MtcRkiXjCHTmTKlZlmZjacqAADHSoeQUTqoX8chUn46CcQHAH0AsH4AGNjvOVMA9YQcwmYoAGwbNky7gFkwWxDlXTa6Xl9otumsOefq/VzOiZP3eK9ZU2MAgJZ5jgNt/MB9AwIZogDHPerqSbyDLXgzl30kLf49Uu6NGav+PTB8kvhzkeY46GocfCsnb0TRh0FvQ8ZIe/ZywJe1iR8tD4x+UScLtUucCDsfC56sQEpbOTksJw7+jyG7fwEg706cKv7/HS+/HTpdFu08ICcQF+o9LZ8eQKN9i+QDgLeRTKJqWNMGfXIaSQqLr8qOXTsUY3FXtrQVmW4AaLgGACo7uG1eZrJkrsyTTw98odpIMZZVlEtpMbQb33FV6fLn5pt2w2F+cs/h/bIgkx/4ZgDISMzPWiRZq3IlDagzGR/ce5CzTJBBOuvTJEQ/4MnfBWI6HCuis1CHwWtNBgDinVrA8D12nUDzXu4xSUMm+OKYoze37JO/ix0jLf+7r7QNHWOcFgrZDlwnMBwOJ3g6ACBAINPDBXk5ZjABDjhutPj3Hi2ubgnSd0G27IVF0wHxI1XsG+HHKC9d9oWOhDUTMsc8GGdSFwC2joB8IiA7yKi5AEDfMjDX0o0AQA4T4BjAwDhcY0HD3RH+0EsmzF+pLYAUhRE25dH4wuryEqkoB8ipcIrsus814fxrMF0HAN7oMjCeAPCWu4DJjg+hf7EA0NgWnzMalo9o0vbYq3IIPPCPaXLXI30AVp+W1iGcwAQ/xh07uFZgIjh2LsqBZ6VNAnxa8AjEfYz4D0B6/jNKAgej8hs+CqBxMp4hAKSuQ7cJ/uJfxLFZ6ogz4Nt1HSQPhPSXN1ZuNT0wUJlCxJnAihXxhrg/HwC8jWQSVcOatiqpAgBkWo98fVgyl2YqACTWIu5akJ3kxmH1AUBit3dSFsgn+3ZLCd7DZV8481dfD9IxgJz8oSfg4tISfYj5eBGIc9unH9RaB7A2mw8zEgtzknVLOAsAV61fKcdPf60RJ7tz05PcCW3CxPhTWAibIgDUqDpMIKiAHc60rChfF/PmfTbUEXoQBL61db+7O/i+uGm6jEUrLgcThrSEAnDEvIiC9mUJiH8ZjgjXuQ1Rb6Ql8mnxSxwpfj16Se830uUY3sVasfvjyhCOtv4R/BnnSQPn0gR07OtPswuYAHAMwA2ceRjkxhlu6lx8ANAHAK8DALsNh35MlTaJr0jr+BckMGG6uwVQZaFvot6DG3MIEFhVjhRXQCNoIzivLKUEmm7+NZiaBADEewqgaYwqrlzCew6jBszVFrqPfVF+HjZauoQDJEUQKCG+3MawNwBc3AsKmO4a8EdxPQKQ+BR3sBkrASPgW+Mmwf9N1AWd7V7WBgDid/S9sS8quGofPkZ+HvGkPJe+Qk6XmfX7NNr4A3fY9AAg3497vE1ZfycAoElMPWSwE/lSwWXZunOLLExbKMk5KZKxItvMvQDuqgsAa9gsAbPhg61y5uoFFV0pylhOALGf40xgF8f+cYFBGw/KmVwKx1MIR2MXg2azY+0PmA8TibIbmNOSk3PNwtCM6MbtmzWDyCYhdch+sCkT4+8oJZ2FOgxea0IAEH5Bme9TZEBgwC5YgLDSAg4+ZWWgwowbAb+6drd2B7d5sJ90BvByRXG9qZnCfS0507Jl6HPSOgpAMOEVFMioqfYnEIQTiBstreJGScfgQdL/9Qw5hs8wJQQ5TJayx7fpSZheAkCm3QLATsHjdKacK4xrvbGm7AOAPgB4fQDYInGG+Peabfba7caCE/rTc6hOAmFhrNlPWTRSZgtgrWsVpVJVBtCjdsJrTEAzpUYEAHlqQIkFgA6zC49rt1DXEBTjEvX2OP58Aef2v3tNkp/GTpZW0eMQV/jJeJQL3C4umhVrtv5NkzZ9XsLxWHENwrVIPAOf246LSncdr2WGmfRBHwDfF0egOEeHyXBbuBFvpsvXpYwXolBWKJUl8ACILJf1Q3Q03rdKPgB4G8gkphZ5po+8e/8eyV6eLQszk2QBmMPt2AW8WHtkrwWAxGrEbMRuF4quSCEqi9RKipBIjI09xH0kl/2+J6uy4FEK/vzVi7Jq8zr588K3ZH7GIsleuwSAL1Pm55qZKGSuA5gEZMqmSUZuAZ5bvmG17D9yUN/Bzjz2O3MLE4JNIk/ut2hQRxMmRt9RSjoLdRgqQArXOAMlXGusAJAxdGJpIqnj8AAMuD6gtjSU6Ld0kVAwQeBLq3bJ/4gbIy0f7CWt+sKxciIGnG0gDDwoDAAw+FkJ6DkHhS4cVgTu94YjS5gqfgkTJChqpHToNkgSXkzRlkA6C6ajBE7KEBxKCTuJDVCzLYBcB/CXcePqAEB2d/gA4M0CQH0/SyP9npV706MbAYCuOLIZnsBJIP4xU9wAkFpGFTAy8BJT/xrCzZkaAwB08oGBKbDrAYBcSNk6WueQ7+YQhI1fl8lvAAJdj/aD/U6QgKdfg96i4txjirSJeRl2jLKB9k2Al4A0xDM9XNj5Od1HOjCKS8iMFb94+LyeOOazEc9Iu5DREvVCkpYbtHL9y51KtIeF8TTxaIgKMb0+ANhAYnqAFywgY9o4zre0ipMyq+TUhTOybvsmBX8Edtmr8zScn7lQWwEJBJOWpUnKMk7GBRbDc8Rpq7esl4NHD+k7jF5audXmegGgYfNDRmTvl/skG+COL0/K47oyGfpRLv+SjggszE7SFkB2AxMAMgLcgmTtto1SDDBBs2EEiD7tdibuDzVlYvwdpaRBq8Pgte8KANRFog1I4DOniio1Huy+eHvTHvl1HxS6j/YWV79p0jIezrbbOOkM0Pe9mFelTY854h/CMYEvSIs+XJh3ChzVGF0ipkX3wbpOYOKrqXIA3oIOg7I7d7XESVOVfH3yqKaX93QM4OlS+VXMaAWABDeucABALvjrA4A3DQCbVRcwx4g6ANAFHakLACkFqwJeDfHnZsNmT40FADqBecz6fRow2AJAvpzs+BwGtMXDMMHsI/lyV/RQVFCGQUdHA+jN1Al2rSNRmeZ+0FxtgekgCIRv47p/7VDBbt8Tfq77SOkyGD4PIRc87zLgZXE9NEQeeeY9WX+iRIfvaBQJ/rhLSZWRF7/vqfu3Qj4AeBuIBblHJvDQJLVKiqrLZPuuDyRr1RKZl75Qe1jTl2cpAExyel7TV2ZpY9zCnMWKy3iPq7F8sudTKa5geVrTA1sfXwMAa8j+sEoKSgtl14HP9OPvpi/QZsaUlQB+AICpy9I1MguzkvXjCg4BEhdlGz749REpKCvSRPH9lVQUEk98LYBg7wJAvqPmPXw/IslaooJAMAAhu6F4n3CB65HZlsA/btktPxg4Xlxde6O2OlZ+0O958XtwuAQ9NkV+mPCGtOw6Q/xD50hQL9RqCUZCx9esE/j4IGnbbaD0AwjkTGOCPL6XMjR+skoHrtKZ8PqmU8Xyq9iRAIBjID+8K4Kz5XxdwD4A2DAAyALGqkFTC8nNmhoDACQ7GcFH6KPJ9DV6k2WBBYA0OT7k/IbWx1bAw+DXP/pS2gT3gx8bAV2dKO3i4Mu6TpCgcK7paRZ3Z5wJltj61zH4BWkf8pwERk3Bdeh+CIBgr2ckqMcw+Z9DnpXcL69qmaFp4AcJ/AgCPSbYkRuiQ3ccAFKGuMfblO93AQBWlDm6BNLheAiZVA7B+/rCaUlbwkWc08wQO+KuJekGZy01M4HZDczGOGIurg9IjLZt1/ty/soFlZFbDx0ysqvhbwSAlilorkHDRQj5cX6IH01ebsBfcl6KolMyu4e5RQl3EpmfkSwrt6yT4+dPuXWfM42V8DHtBq790aZFjDsThpCGpsbGa00dACoIhGI644yKrpo9CJkapvFsaZU6Lt027sMv5Id9RkmrRxLlp32mSlDX4TgeLffFvSytgmeiZjpD2sa/Kq04QBlOzK4T6HLWCbw3ZKj0fjlNdsMvcaLJaXyS3+C37Pf4rc2nCuXvYobrOoBc/NQVCblx39dmAgBZKPHIBwBr6HYCwKbI3lZdr9N1AOAdXQaGoZMRfIQ+2uxpzptgBtaZkfmQ8zueXkFIP3oEPD57k7TtOkC6xMGf9RwHcDRFfV0NmwXeg8Jmawtg29DnpEtf6PWjT0inuAnS+rH+8qvEcbJ490ktL1hl1GhTTurLCf6YSsbP3HOifkvkA4ANpwpnPT6yDpPjNfCZqxdkyyfclCNFsRRx1eKl6QoAU7nA8zIAwSWp2vqXviZH77OHdvXWtXLu6jmVTw34qy0n53PKbgDoJvcF80PODDXCrpCvL56U9Ts3aXPju1kLFQCy+zcVyJSRIgAkEmVkUpdny6LcNJmXniS79n/uGAXysBLZyf5ufIN937U/3sSIcWduIaSzUIfBa00SAJo4u5kRBleUG5BQCSdbWMqdHw1syEc+0sGwJfCdDw/KP/YeJf7/FiY/Spwk9wHkuR4fo2MCAwDIODOYOzFwnUC/KDjl8HEAahOkY9/p0iZslAQ82FeGvLdaduPldOJ879ViYwz6LfC2kwCAsU8DAHInkMmQD2QXz3WvUMD7AKAPADYAAFIFmio3a2oMAFDLMj3APTPT1oAWJ3/sc7xA9vA5PORILxv3/fhhr1dSpN3jA6VL/GRpE4+yIGYS7HmyTupoHYEKtrYIwrYd4NQqepq0A/hrGzxYfhT+hLy1+TN912W8vIzfJfF7lhEZU54bdqJyS+QDgLeBuAyfSRD0zgyVI+LiMnwpSwj6MiVthQF4xFbaxbs8S9IABom92AtLELgoN0WWb1olX548DHlxHKrZP9gIEsxveJDzyW8HgFyIkKImmKGyfnnqiORsXK4AkB9mCyAjw/F/BIDzs5K0hXBhHiII5irUq7dtkGPnTmu0+GoFgLbvW7/VRIlxdyydolaHwWtNBACSrCExNFz7naVlzDWTmoKifBzzvALHVzR1cL/aQrdgyx75h8QR0vLhBAmMHKWgjAVyUN/XxAUj5zqBrQAAA+mQwzhwebwWxn7hE6Q9wsCH+8vgd5bKPmASAkAafkGxulp1KO+fyJffxDwFADgMTgXvjpkpLu5B3EwAoK8L+Fq6HQDQsdAaPbjToRLz4Fa5GdN1AOAd7QLWRgxqkfGj9Fu0Kob6E5LnO3js5D39kXmaKx6IXMD9vVDqhyf/WVoDPLnCn4buct/zSbqmXxDSxDVQ2R2sPo5jAuE/W0eMlvvChsqMvM0qA8bbNLKQcQJmwG9YZtlEP24idGvkA4C3gUxi3OliMk9eOi/rd27R3diSuY8vQCABHnEVMRaxFhvdFuUk61C8N1Le1tbBgwB/xGjM21prMJPtdxyypy5+0ON6zR2nVkOuqDD7+/JfQXWx7Ppqr2RvWKp70bEpMsVBpmRGdB4ixk2IuRghdxNJzk2XTR+8r3sN229V2+7fWh9vYsS4U+kR0ujUYfBakwGABHzGEdCY+D7LjDnZnvM7xmGU697BZWWXcQF1lQJcQ7QIAt/+4ID8uB/HowwQ/4FwUlETxdUL6QtFWkNmSVDUXIC9OeDnpDXTzx1DuPhpz7HSIWqcdHy4jwx5NUk3vKcsCYDoDJjiHQCAf+8AQNaKFfD4AKAPADYQAFIUjnJ7hx2bujXmb5tu/jWYGgMA5CQPBwDSv1gASOZVzWL3sw6D9DqfqIYWVoDxfto707AVpw8MRQU3djh8HPQ6fpwCqdYAgboLEtLhSkS6EpGm6KnSIW6i9J+33L2qwoWLZ/AdyKWEkz7wQbzXM14GnLKdiSl2InQL5AOAt4GQGA6FY28o01VQUiw7d++S9OXc6s0s6LwA4XwOtXPGABIELgbO4jhAHYq3MkO2f/6BYjOD0sprWv+0EkA237LEQ4r0W1sAyXwZd4kwrYBVcqHksmz9bIcu/cJ1/7g4IQcp2vF/SQCFjPji5dm6GfGfFr0jKblZ8tVJLg5tyO5FVy+TbNiYiXF0rJziVofBa00QABqDMu8kM+ZkHheV0VmQKqS4xAARxqGyCCCwHBWEK6WadnYHv7Bzj/xkCIBfj4HilzgZgGwKCuYZ0jp2jgTFvCAtQ2dKa6StDReKjpgqflz0FECmVdh4uStslHz/8X4y7OUkHQtIR0ImuGQX8G9i2AVsWwDh/BIIfAgA8XsfAKwBgJR3MwGAm88AAMYNR8GCgjLCAMCgKAMAW3gAQBf3qo4gAJwm7YKHyay0zSoLikJloHrghZD5bfP9pkMy30Em3XxIm6jNTtS+iexD3/rgX5luGACSAfbgV28/AMQfNwA0PpOgxQAXR0RWVpbdh3wC8SdYK0dpAYVmznJSXNLxIrm733jxixsJux6DSu8E9Xvc3k0BFcFf/FQJ6Pm0dHt2nnyCH3IiXX6Fox+VeFklUnBdAEifb/Xn1sgHABtIJiFSUgTgVsH8EDl98bzkrVsl76QtVOy0aFmmLCDoW54haatztPUviRNCHOz1XtoC2bZ7p2Iytv7VNOVQNh7sfMsSD/mUS89ugLh8S3klWwJNxnOWyWdf7Jak9MWyMGOxzlRJWZal/dVssuRmxJbZjMk96ZZuWCVnLp3T3zMDa0XsZrkxEOPhWDmdhToMXmtCXcA1SmLedT02ZJ8lIzF0fFwqpqJEiirKtOuWA5rf2Pq5/OOAyRL4cF+5vzdqso+PgOFPl7a9XhZXCJxyBBwvFzINhwzCUWjHPas12w6o4d6F9N7z6CDp9UKyzo4jqOTWSVuBNX/TC04ChXdrAD5d+R4Fvg8A1gWAZsbgNwFAff93BABuOFskP4ofLkFhKCRDp0MP5uhC5NymkGDPj9sR9oVesCUahX3LiCnSJXikPJ+6Ta4g6VQBY8SO0O94SGbJdiuhJ9/o92pCApCSqgL8NaDGtB5UShmci9vu7QF/ZplCI/NYH/IS3TQAtODvNgJATT8PDFlxWf4m4n0ra75CV9zCd/jdvTD3RXvOScewoXLXAPjJh5+QVn3g15xKXtu+L4rrv/tKjzHPyuenLqotFAA5mW9WSXlxAV7Il+oFDWwyeOwufxtADQGABOPfBQBo4nItX0P1PURmOrSHtUpKKkt16TxipSSCuyVpygtXZEnKqlxtUNMZwZkpkpKZKmnZ6bJh60Y5df60yoISKSopVqx2I8SnvhUAupdtAdnFCklErOcvXpAVa1dKWk6GidSSTAWB72UtlnnZKbJ4ZY4i2BSAwoU5XMMmR3Z/+QWcDvccNl3LGgu+1rIVzLdxYyDGg0qPkEarDoPXmhQAbAghQU58WJicLypUEMi4ztu2X/65zyTx//d43TauDdLn6j5eWvR6Qfz6v470Me2cxPGsBCVCBj2niF+PcdIejjvosaHy85iJkvBqpuzGuwgEV+KlD3AdwLDREsCtk0IAMAe8AufiA4A3CwC/Ky2ATMv6cwYAtgkdJ/4AgC0j5uiWhASAHCDv6v606oIOF0CB4x8+VTp3HS5z0t7X3xsL5d/mx2wBMoCmWIqrC6SwokALobIqaCMeKSuFstE+qCKeTP0h89ib9uNtAGj5Fok/LWISeIKwugRXGAl8i9/+Cjdmr/lcXP8ZK9/nVnDQ5Zbwd23ip0sLVKr/bfgrsnE3q8eGSktpz4ZKSjT2f1XyAUAbl2v5GqrvIbKmwTSIHTlxVNf84/C5pFU58k5eqixcmS1vc9Jt9mIFgMRQyRkpCv6Wr1wmx44dq5XvxGWWPLHb9ehbAaDnC4ksPV/K+H959JCs2bRO5qdxmxIuRpjl7rdmSyBb/xhx7k3HKc0rNq6Rkw5iLeMG53UFcrPsTeL3KR6ENDc1OV5rNgCQ6YQLQMFBAEhjJUzhun0nwG9uPSh/GzVSZ+W1D4eBcxX7MC4IjfQlwqHFELDNlMDeOI6APHoAqMTPlA4R4yXwDwPkrkcHysA3l8hOyG0HEvuLxIm6zpWCyRDIKQGy8wHAOgCw+XQB1wcAW0QSAM51A8A2A58Xv36oaLAFEHpBANj2kaEyPXmz6irLFBVIM2QCwGpYbWVViVSwJV/9laMPtAseMqzLjYVuGgDe5i7gBsqDP+U39dX8TgnkX4QzBMwJ+tED4AGLVklQMJd6GSdtw0eoLd8dPEyyD1xVGyCVlZVJcTHz0JBnuf3XooYAwO9KF7CJSw1/K9X5gZ2scfHyBVm3ZYMunUfclLo6T97JTVEg+FZ2srzHLt9VebrBBntd2fD2xf6939jad1sAoOcH2AJIRbMtgbzDTNh3+IBG7N3FC4R70GWvXabLwLybmazgj4MZU5c6CxpmpsgHn34kReVsNcJ7HEHcMnuT+H0qPcLmCwDLpaCQ6wSy+8jI4DRwBcejsPv2jY1fyD/0mSQBD/aXexMATsIniysYToHgjQAwdKr493kBYO55ABWuGfisdIidLh1CRsk9oSOk7e97ybjcD+TNzy/J3/SbJq2Dh0sQZRcx0wBJBYCQ23ccALJQumEA2EwmgdQAwJEKAFuETXMDQI4BJABs1Rvp57JBHC4AvWjX63m5N3y8zMr8QMeWsoBp3sT8twztKy0zY5JKuOcwdJH2YVnJtFZY9ipdBwDesWVgasnl5ok/dbsglqlcMLoUdlkIOy+t1m0wOaRmLzhkzrvS/tEE+UHYYPlR8AB5ed0evUcLZpnMViCWyyz0b6Tgvx3kA4A2LjX8rXTNw1U6tI7D6RZnpsp7aYu0x5S9p+4uYK77tzJX0jkmEPiJPa6793wmXJrNEvPeYjXP42+jGx4DSOKLLfgjcW9fZkJ+aaF8uGeXpOZlmgQ4YwHnZ3FiCIBg+iIFgBkrcuW9lIWSvXKJfHXyWE0GegrlZtmbxO8zDxDSWajD4LVmBQBZEMAlQok91wlk4coaLJ3Um1v2yT/2niT+/9VL7oqdIp16A+yFTkEaAeK4ll/vuQCEuMaB+lG4FjpJAsMmyP0J0+TusBHyo+gx8r+GvSQ/SpginWMgn9CJADVw4O4WQB8A9AHAGgDYMhYAMAL2xLGisB8XdEnHjCbOlXZg7iYzMWWbVlAoX4qjuTP9Cbt9dQ6BMWtjG8qOQoJNt7FlM3nMa/QdAYAK2NgSROGXOyGThnvceYk+dA8eeWTUM/LD/w6RV/I2aVrP4xr9gSfgK8fvbRn91waCPgB4O6hKzpw7LavWr1ZsxBVT7OQP9wSQFdnaKsjWwcU56bLtw/flsm7OYIAe89yzxZfHN5r3NwQA+RFP4GeJRb8ZOmxAIPet44SQt5Ln6TZwuoAhgB8Xg9aWwdVLZUF6snYXb/9oh1wqoHo7ZHL15tmbxO9T7gjpLNRh8FqzAYDm+2QCwKsFZpkfxiu/pFwdAWELC9r3dhySfxmINP+/OE1Tl14Aa8HjJKD/y0g/W/NwLw4gMB7yYMte2GRpEzlZ7olHIf5gf2kXPFzuiyPgAfgLmSit4hyg10wAoG8ZmGuJ+brhbIn8JG6kBIWNEz8AQD/kvycA5B7VAf3niv/A16Er0I3QaRL4+AiZmrtL9VJnTkKmzZUvQRcuQOUuQx2oDdQKqkcV/hQWElzhxCokdNOOGzTMcy/qz3UA4B1bBsbyLRJ/ytfqKzgcimPiNQRXUt7G/ulDmbYNB7+W2e8m6/JFvO7goVrkWfB7jg37a5APADaMmI7S8hL58NOPJCUrTZKyzDwJO4yOE0EIBrme8lsp8+Xd1IWycfvmWtu8Mb/rYjMCwPrwWn10QwCQL6vvhZqAKk4+NvsfnkPENu/YqgBvXuoiHdBIxErwRyYYTMnN0PtZK/Lk48936TvI30r2wbrsTeL3qfQIaZDqMHitmQBATSqYqaQ6qtXCGVeVFUt5mdk/+CqMltCF27zN/+CI/DJujAQ9PEi+nwjn22OM+HMpFxTWrkikOXGuuHoDEPZ6UVrEwWGETxLX409Lx5hJcjcK8g7Rk6VF8FizxEccng3F73wA0AcA40a7ASDzn7rRAgCgVQy7fieIXwIqGAr+YHOQVfvIKTIibYfsQEl6ACXMoebKyP6DCL+Eyh0GH4FAjxXAVhEWQc+oITXmwTPDZuwgmede1J/vAACkBPXVNMpSpKUUFlqOsLxUqstZthofQLs9W2w8xJXCEjyKq0w/XmJbgdgV7Ek32g14q3THASDfz/Rq0EgAoInMtVyH6nuEfPDQAcldnqfj+jKX5ypO0iFzHDoHEMhxf1xLma1/nD9x9NRxTTfTX04dqZPHnuc3kv833AJoiUDQNjHyKiNSVm0KVWbUiXOnZPnalbIwNclsZAxUyy5fAkFOEuFYweTsNG0JzF29TPPVvKeG66W6D1n2JvH7jlLSSNVh8FozA4AFJSwMSHAIBaivOvtOVhRzcghja2qxXN/qvZ1fyf/qO0Va/FuctuhxJxAuZurq9Tz4BcjiOZ0g4tf7JW0JpFw69Qawe2yYLifDiSS6En7INPHjWoI+AOgDgA4A5JJCWtCwchA5WQJQYWArYIt4AMBo6ErMXGnT73Xo0nB5oNdU+benn5P/O2i6/N8npslvm2H4v5+YLv80cIb876HPy2+fmCH/kjBGftd7lDw9503ZvOeI6p7j3hyirljmHS/rzncAAF6G76QVmtfgY9yr1+7ZW1UpxSUGBFoupwPgw0WwZHYbUwZ1iGXzX7v1j+QDgCATmWu5DtX3CJO0fssGmZe8QHES8RCBHnFS5uolkpSXrpNn2Zu6ZO0KnWtRXMGGFabbsiFiNM/uf9KNdAPf1BjAusREVKCwR/GkmUFmBPce/EKWrV6uIDCH6BaJI+DjGEGdxpxrwCBnBW/Z+T5+X63CsMxNkfluhm7ylJwne5P4fUcp6SzUYfBaMwKATKGTSpNIgr9KOB/OKqxiCAdWWa17U3JMILvd/rx5v/xL38nS9g99dc9LgjVX5BQAGAC4WADAaIRIP503nQQBDeXCtQJbRdKJ4zqciS4l4wOANw0A9f3fEQC46YwHANSJHtALVgwsAIRNcfansbMXoStzVJc6ho+Uu0Ofgo4M1bUlO/QY3uzCtiHDJTB8jPiHjIA8Rkunrk/IfY/1kX+Oe0p2XSjX8WfUP5qJ2gmZ6mLZXvMWNXEAyFfSAvkdAh39hH6QtsnQ4zP2QOODPwR/1wGAd4p8ABBk86UuO1RURC+F6COfeFnbz3HM5Oz+Yq+kZqfrxA42kGUsM0PmLDYiVuIxr7O3lBNnmWamvYo70NyG9DcIAJJsRphWQELBKskvKZBPuZ1JToauV8NEMoFs+SOaJbLVTY6XZQMgLpUjxzkhBLoDwZRW8h3XyLHmQn3sLeK3HaWkEavD4DUfAATDMSsIpFQ4REDkdHGVjrnioGZdJ7DvBPH7r3jpHDdJgmIA5IJRiCfMEf9+r2r6XUg/l3CwIFAZoMYHAH0tgCQLAH8aO1oCLQBkBYITiriBPgAg91ClPNwAECH1qW3kaGkXOVwCwseJf8TEZskEya5Y6sdUXV+uVegI6dRjsPzP3uPkwytmfCRlrPZNO7E2Y5nn3rQf+psmDgD5DcqYlmjADq8bsOBme+COCw4I/rSnhRe9Q4xnswaANl+uxw7Z0zKur4n8YlJOnDktqzeu115SDosjNmJDGRvH7JA5XrPzJS4XXtH0Mt1sdGtUANBGitvF2fPLly/Kjg/el8WpyQoEM/Ky3ABQwd+KHOV5uL9m0wYpRalEzi8lykVeQ1geMqyRYn3sLeK3HaWkIavD4LVm1gVcEw/GD4msIgB0mMqqemGcHFsV7Ozgd7d8Ln+fOEpa/j5BOkeOlfsGzBXXY6N1bF/rQW+IK4wFN2VkQKCn8zYAEI7EBwCbNQDcfLoMAHCsAYAs8AkAEwkAJwIATtT9U9lqzJY/AwA5zGCWBESNwX3oGiseBEHNkeNgJ9yKkYCZQzCiJki78BHyDwMmyYdQFPoc6ot6MdqJtRleIPPcm/bzHQCAtEDqsbFzA3hqgCBej/crAGQ8ajGeYDexnniH7jgAZHIpDw0aEQDU/PA4t+xQeSXb/UTyi4s0GRTTpve3SXJGmoI/bqChY/+AjXiuLYF5mbIoLRkgca17pw+m2Yz741uqpIqVgAZSgwEggZ8FfQbbGmkQoRIErly5XDIB/jjLhYljs6Yd4MjFohfienJ2hhz8+qgbBKoewbgpODfVFa4ne4v4bUYRIQ1YHQavNXcAqCAQyknGcXH+Zb1PaVBGZ0urdGIIHfY7Wz+XX8cNlzZ/SJQf9YVD7jFGXD1QePd7DQX6TEdGcBhOd7CCPx5H4XozAoAslHjkA4A1VBsAoqBhgR8HANiLlYMaABgQAXuiXkRzxjlB4GxpgQKnRSx0jfsEc+hBc2QC5b6wswSAwD7sHp8ibcNHAQBOUQBI+6wXAFrmuTft5zoAsCktA0OAQyv0ZO63T5nzk/p6xqEuq/2SeeId8gFAhxkNy/Ya2SE2ZjH67N2kiE6ePyuZS7imX5pZ+DknTXFR5so8BX46Gzg3U/JWLlXwx55VLbvKS6SsjFppPlbGSUMNpAYDQC5GyMi5JYDShXvbmVKmSo4cOSTrNqyVRalJmjCuBcgWQG4VRwCYiUTOz0jRDZAvFnNfSgiK70BYwH3tECp5CrYue4v4bUYYIbNFHQavNUsA6OS/ZSaY7Jx7rhNIoy7EPToKdjMt2rFf/ilxjPj9W5R8r9cM6cxWie4TUTg7YM4BgHTidBo+AOgDgCQDAMs9ACBsiq1aHgAwKMICQOgUAWAsgA6ficXzceNM4aTn4OYWcg3OXq/ifC7COdIiAjbTc7j8j37j5eN801JP/aO6qJ2QqS72mOxNauIAkMSf89XGL6JQx1EZ3k+o4JY742Dj4f4my13+ije8Qz4ACLb5wpBsImcYxIkZPCwu5/a3CCvLZf3WzdrolbEsT8f6cZYvh8Nx1RSOB3wneb5OpN1/+AB+6zSuVUHryuGvHVxFVpzVQLotXcAs3EsVjVopgD0iuv/gPslZlqtrBBLtcq+7+XlpusBhFieLZKXJm0nzZc9XX8LoqqQICeOvS5zJICpLe1Afe4v4bSo9QjoLdRi81kwAIMkaolVUxsczTva8Zp1A47iKSvLhOKrdIHDeli/kHxLGSqsHB0qbsElwzDNRoNNpU0ZwGLUAoAGB6tRjJ+Pedx8A+rqAryXKZsupcnkAhYcbAMYj7xUATpCAmPEKAFsDAPpFEgAC7MQCBLKVMG4SGAAwBiCB61ByUfJmF8JeEl7C8fO67FJA6HjpHPyk/HOfMfLpFdNKTw2h3RiFpM4YfaEKed18rgMAm0oXsJLzDuNHCfz4fg6DonekzHHfMw7O91i2kE3eeId8ABBs84Yh2UTOMIgrpvCQWIaPHf76mCxMXawAkI1fHAbHmb7sAiY24mLQnC/x6d7PNIfZwMaU1nzAdP2a7l+eN4xu3xhAgDaNFI3SYYNQAehKCuXz/XskZ9VSeS8jSQEgwZ9yXpYsXpIt89IXaysgu4KJkplksluW9sAy026PvUX8NpUeIZ2FOgxeazYAkHlvAB2N0eYZmSkn22M+qQ6NTq6iALUZtmiVS0FZmToMpu/dHUflbxKR/keHSwcuCdOThbMPANLJ+gDgtUTZ1AsAe38LAGTLV4IDALlbSNR0BQLNLwQIjJ0rLhTCQQCE7YNHy/3dB8v/TRwh+y6jkgb5UlVMyUtdMfpJv2Zaq7xsPk0dAPK3XLZDB/RTtoW4VIBvcPksWiquMY2eceAx/hiwaIZfeYt8ABDMKHjmjYmcYYd4yNuc+LFqwzpZkJ4iKbnAPcA+HA7Hrd84MZa7qLELeMdnH7knfbDhxLy4homrGg0ALC6lmzARq4YiV7CZkucOANRBizgvKC2ULTu3mSnPSzN1Xzt2A8/LSJH0FUskZ80K+cuiebJhxzYpgkHbJlO3HD0FW5e9RR7ft+5Rzx0AaI2Tl6jUp5Gghya/Jm3DhklQ1EQFeuzKJHOgems4rYDIyQoCdUP/iKnSqccI6f1qigIkqoJU46+uE0XpeJtqAKAxyBpboC8g87ighDpAqpDCIk4DoaSKpbyEILBKrhQZEMjFot/Y/KX8ut9M8X/kSTiEabr0CwGNmyEXw44Dj5kK+U0BAJgOBgjEdcqSy1vc1X2Q/GX1x/ruYkSGcST8UwdOx8vIOfnnNXK+b2r0iBeBmVEfvWf0ChWsarP+E9vZPwEA/FUvgL/QsaojLbiOYhw4Hgx5sDJBuZFbRKMgDB8pd4UOk9lLP9RWHWBh/awB5EZHmyLR82w4Uy0/iuXWgROdWcAoXBJNBSAwarICwCCuJxmBikGUMwmE3Z+sOOB3lB3tsFkyQFDL6DnSApWnjiiMOwePkh92HyL/r9dINwCkhpiS19gsQy4CbfSV9u9Nog2rV1Qbp4/8y/bDsPvB0iFiPMCFyV+d6OOw+guHW0I/uLPQD8NGKAAk4FMfUVWsNmf8Ldhtj8ZGPSv2DSJ9N17sBoCUL0Ggeiww/QHv45C+SuMAxoGRv3dbAI3PJzyDpAgAnaRwp5K0z0/KPT2fkKDI0dCxSW6f3SrCsIJw6GBAxAz1U67okdIpaogs3XvG5IMjW0pG08gDc6LEa95MuxLjonnowfaaO54ot50xgB98+om8k7xQslYtk/TlebIgM9Ws+cexf0uzdMbvqs3rdEMNbVCBvpk0mi7gkpKiGnzl5oZRgwHgdckRgF2dnKfnL16Qrdu3SXJaqnLeyuXa/MmtTtgUyiZQThT5/NA+FQCXltGMBtghuHR3K9vwNgigIcQ0MSbUS6aSx3pRjZrxNEEJQpo0Z77+51PTpHO3PtIheDCc7jgAlWnaetUaAKZN2BRpGzpJ2oVOlA4o3O8KGSHfe2ygPP2nDB2Pow6Ze/4RJEAZjOPwrgzM900cmPTrsSH7LNlJRxUgWVE+ajSmRYfp/NPqT+S3gwD+/i1GZUBZtEUBT/m0DpvmBnutwqcD3MCRh0+WwNDJ0qbnRGkfMk46hYyU+3o8KT/p2ldeW7JZLiACfDdblgl6qipxRhDNZWqcuHuLrHyoO9bY1ek7N5jDpfCG1K/LKA/oXPdcFPmfYU8hjYMlMHIUgMxYAECHcewXPRaF21jcGy0dcd662wDp/Gi8vLBypxaSBIHUpUulJUZnmyhRFptgWF1QkLh+N9iM9QueJK1jZopfzwmwLeqL1RnqC1uJwRHTwVOU/aIAGqNMq1jzY1S0wp+VgPDZAEzPyD1hE+R7XZ+Uvw8fKgdhIhyaweLG6Ah1k4DEk73rf2giF4uLVJdZlaR//dPmz+X+Hv2k9aN9pW34CFQGR4s/7MEVY2zDk1tFjZD7Q56SX3UdIDuPF6s+FeCltLUibnaA0Nqh2iTSShs1tmq4waQvMe821u7JuOb+vsMOabmov/EmMX7lUgX/LeUAxuWozJeAcSd11yG55+Eo6dJzkLRH5bNN6BgJQrkWGIqKaSiAXygAYRiOUVEPihouLbomSqducZL9xUn1UdQ77k2tpJV1h3msaa8lDi8SZcB4QSscHfFktuARyxw5cVRn93KmLxu/iHuId4iBUjMzZFHKYlm5do0cO3nCrV8FRawMmGPP9NrwdtBfDwB6kO4a4kD6kydPypo1ayQlJUUyc3N0CjS7hLn9CZkTRdZt3yRnLp5VwVkAWBv0OazXvEdMEZ2FG/yRqARuZeW5UWa2ex0oEAkePUt+GT5Q7uvWW+4KfkI69Rgp7XuMl449xoJHS+fuI1GDfRr3h8gPuvaX7/93lPSb8YYcQUF3kbiF36ARsCZgu9ybKjHuNh3QkYuX8rXeSxC4aMte+Y+Bk1UGlAVlQll1gowoK8qsfTCAYfAoMEBij+HSqftQuafbYPn+4/3kp48myt88HCMZO/aoQyIALHGchygAxJe8DACZl9QbMo81b00GIzQFAO2G96lDLKDO4da2Q5fk36OGyo/+EAuwO1Bahw8BP2kYwLBN6FMAwk/h3hD5XsgT8iMUiL8K7iMv5a6Tr/Has3ghC03qrX6uiRLlkbo/X37eZ5Z0CRklP4qbKp2DAf4jxku7x5/SY7agX487Qm/a45l2qDA0Tx4tbYInSOuuY6R9V8jk4UHyQPCT8p99x8te1BLsGED1bVQU2g8rnWSu0EAf50UF4qcVrIFpFyfBb67dIf8reojqPHWfNkBboE3QNpQdW6Ht/OThePnX4P6y9vOTahesqDPNtD5DTCPPEDq+gt+lTMhN2X4aTPTfqERKAQo26AZlQT9L/53+0V75lwT44q7xcm/3PtKl+2D47WHSsTt8dfcx0q77OGnXg757sHQJGyg/jBgg/yN+iGTtPiLH8BK+R2WrwsZ3qG/aCGTygZcbh+ytXtSwXabFVBaq5EL+JV3Lzy71wu5eToAlCMzKy5VFyUmyZNlS+erYUeGC0Zw1bDfD+DZuKN0xAOhJhw4dkpUrV8oCJJyzX9gCuJDjAiEQuyDiB7s+VOHV1HTqEbS2gHmPmAG1nIBeQNzcjHMEpYjmFWAcApHMnftk/tZ98seNn8mfth+Uv+w8Kn/ZcbyGcf7mjq/krR2HZd72A/Luhk9lzb6v1RnTKFSS+E5VIdweJ97cDi3wGkE4ZQR/CJGOgmIz7oZpPYZLOZ8dVxlQFpRJXVn9aedx+ePOr5T/vOMIrh2Sd7bvl3nb9sqirZ9LypZP5NMTF91OnS1pJNUbdh25x1d4h1RdHOaxxk7/UB7UbTgQ2A53UinGJcqGoIcOdskHh2Thhj0yf9theXf7V+Cj8s774O3H5d1thudv+0rmb9ovqVsPyMKVO+XAaU68QSFXolrkfKvpEtNyAvzO5j3K7239Qv68bhfyf5+8seZjeReViPnQh+vxgm37oScHJKmZsurOx2fljZ2n5L2PT8tra3fLvE27ZeG6D+Q8VIT65vawqqBQQgWBzrkNvUnO9/OLzJZqX10sldT1u2TxZvhZ6D5twNqD2gfY2AtsA+lP2vSFZEJvTsEV0LaYZtpaWTlKH1th9AHA+omJL4bgOL4J/ykPgnH6788uFcpf1myV997/DL57H3zzQfXRf37/GPhr8EkTwq+/jjx4F2XiO+s+ksPAkueQkSpxFTn+2EqHrRSDG4/8rV4YZletmxFDYphP9nyqy7qwxY9MrMNl8Dj+b+HiZMnMzpLPPt+taSGXlpdJkbMCyrdxQ+mvDgA5DdqSbQWkYe3bt0+7gdkCSEEQFRMMcq9gToPmFnInz51CIhsvAFSyOWGjVQsAgnkN9wsRVRoHuyPZtXIGzDFvDMnsviBzv1zLPOfAZj5PEHMVGl9YhhfiHVWlOLHfbqpk4+8MSmNu0gGfKanWdJPrkwm5rszsNf7mApgtrgTclyAmBX8QmxUZqZL9C/bES8TP04kx3TzW6Ogf5jHjxztUII6jLNeCiYUUmWmjo2WXVTFeUoR7BbyP8yuWeR+swBFC4Lf0/WV4r61RO+9visT0MG3nkQTah00v5cNzT1nVF/JZtgFziAbNqrmFTD99ELdnZLcb/Qx1irKhzXAEktEPMMGfMk492auE+FCHocuVxYgx4sMiphBFDvXC6gRtgXZBpo3QVmgztB2mV58BM92sEure5lpWMb14fx0ASL2zzKeaLTki0myAMK4Wl0s+jq3cv81/W399Bu/h8xfxW+ZbCcWNa9VafoLdeWDHmtdZJ9GrhPg5rEPVyDwGM57syVy6erm8u3iB7vqhrYC5aWbyB3s/kxbJx7s+qRfw3UgrYEPpjgJAzw2qr169Kh998rFOCiHwIzKmcDhTmNeSM1Jk0/tbdG9hz5bASvfsF8teJOYAtdBqozLipIqLi24FhlIDffCxIvyhkl92QjocMiXDc4JEz8KLrT0X8ACv8RnOAuVndZvk26EB3iamAcxZzUybpxxsYURm+nmN91QOHszzutcoa08m+DMzgT3k52ViPKz62HiZP9QZXPUofCgfHrHw5lAAyuMyBcLEWqFYIfBBMl5ezAfxunL8sJqlPnWS40fLUPxrVzjOmyxVSXlFEZJEQZQif/PhH4ylMKxwjr+ZqQjNk+lPC6BYF1AZoiS4Dit9Le9VlkF2OtmMjOdVF3ELxMC6O+eSd0hbJBE/DuVgb0gFYsRLTB5CXYTCGhiv8ZwJJdNmcH4FP6OWnC+q1st81KQJL6hjg4Zr0u719DcC0k4UCIF4mf6bpxStgm6E3+S/KVW6I0ABM5rLYfoqFTWdtMqemUfwZyYesW2NV8l40stk9aIGm1isUlpVJts/fF83weASeFkr8kwLYFaKgj9e27Bls1y8fEnTwY0vCouL9Jh8I62ADaU70gXMFj9PIEjiZIaSslJZojNiclQYBH4UUubyXBUa9xA+8vVXqFnkI7FGqFxuxvaxG/YiMQesJpKtEnvWWmghqB5VOc3krCm5o87HymAW5Zdw/zLSdlXKKoukBA6tEI6tAI7XGovbYMD8bGkJFI4XmjjZhgX6bjYEMkk2vVfhACgDyoIyoWwoI8qKMlOuQN1RGTqiXKiFf2VFMZjupso9EYmNfnQ4mm34HkNvEr/P/GSaeazx0T+4ovqDgrgUAEdn2ptbfJ4tgdQLbaRgM8YVXL2KUJs4cI2Pc3QAm7fwrLL+GHLQwpyFJb0uH+TXmypRRpQEwQqLmDphJdJYdhlJhr5cJ6wqv2p0qpmGNYgIhQ3sxy27MthUFcIqKhLuqz7qf7fOknnuPWKcoMOML3XaE6g6eq82QMYj7uZh2gptBrZDG9LU41mmy6anurxEt7DUdxKAaEWJbJ6z7N30e5+sWDjKi/KgTlCeV8u4miHFXiFF1WUAQyUAOCXql+mjpRxcCn9E10w3xJCi5gtYEKAMrSjnG4z8DfizANA81jjkbwRATEIASIzCOLLh6sS5U5K5JFsWZ6Zq6x9xDTGOXe4le+USOXfpoo75YzrIbPXzPP82bijdsTGAOnvVIZ4TFDIBhwHw1mzdoELi2D8KhrNl2BVMULh+60Z9xs4IZt96owKAVuttlDRXeKCa7DCPcQ33quhpUNvUy+wXZitFFQqkKjpjeih6KiJ/s9wAFy3hq686M4IKi9hqg//ubzVxQjpsayaTQ+YSQNw2h4ZEGVAWtbw4ZaUyc+SmjOvVvIdntDBgoYXfoUAoR63KyqrcaUJtKgBQucIUwAX5V9R2CgoBhqlO+mM8x3GU7NYtpzBxzUM3WKs0EkRlAoW5WWCW+kV9okz5g6ZKptZdWkbAT7DPGd6lAPomXZVsHdL01c+2RcFsvdX8QtpWccE56A7siJUq2g+ZFapKICUFgdaWIDNHSa3Okh018xIxD2t0mbpdVl2Cv6XqQ1iQKjGStAnW/mgjrAnSZmg7jskUl7BhAW8qgC9hWt2VJTD9jw8A1k8QCf0QxA1bNPLwlE+N/6YtUo+gT/TRLPfo1wjETZFnHmFmsAHF+Z0pB01ZaJh6a97dOGRv9MKz+5dx/PrMCdn6wXb3FrhkYhsu8kxcs2LdKjnw1ZcmLdAtpsXyzYDAhtId7QJm4eV5zsKJwuIgyaylOZKRl6UgkEIiWmZIxMz7hagN8FltCbQAUEMvEnOA+e9Ex+aIUVKmjfCtTIrLWO2EZtOJlCD9LL0pBnVGNAQ4HbICmXykr1CqYChVcLyVqD2xoCqjsfDd1sr4U84uaepkNRnMSgL1Q/MYaa5AAU4ZUBaUCWWjMrLyKgezoFJGwaUMsMcuQdQ4UYXHey0AhMDwDZUZQpYN2oLmReLnqTpkHmt09A/jynhCScBVpUg7zouuckAA7oFUD3hMvSDgYQh5VSPN1BmjeWbBXq5pxgVbudIZoDX+Fcnl8gu4YtbobKpkZVYCNG/lSIvILzbL27Ah4duY9QFCx+YYMv34C2ahTBsBkCq5KBX5Z3FOe3PAn7Ont9FNE1h5O5e8QtRd6nChXKWXVc3mosRmcWIDdGkDWommH6U/YKXA2sw1qwBUGRtjWlmhsACQ5/qcebaxpL9REESiXe5WGGAn0DLLgCLKkLKHTKlnFWD66nKcF+NJ3FI11HKRB8gz6F45btCT2a3x+K/xydzqhcEmLPtLoGe79+9RwMeWP/KC9GSd4Jq9LFcnhOz45AN91kE0ylZuBISe59/EDaU70gL4TcSkc5HoPQf26sQPLoZItMxu4eTcdO0zX7lprXyO+xYAckHEmv2GvUweOcHY0FVYx0NHZJTX1GT0Lp0J+25Z+9QaKFjv1WYCILJ5o2UomgIZMHXudmmBt8jGnzU+7TZnosg1aTZycGRXR0amULoeO++7hvHTuuwl4qepMx6+0/nDeNp0MJ2WnWsqI7KRjd2dgGz1jgUgC3rDPCbbezVOlfbUVImiojRYftwK87eafDIzoTmGIKMDlh0du4Zxz9oPyYZeJMabOkxdrgF+XEnA6rvRf1sBom1YOzEt4QCCOHOn3Z3Wb7I5nIIpPnIjEIP3iIm3YrFcRyA8rbnkPGR1iT7f6iHPcaAVfyc/Sxw2/orX6a8csi+uebmXqEqKiwoU6HLhZmIUrvm3fMNqndPAsX6c40AQyMYtNnJt+2C7nLt8HlHHb0u5wD/8UZ1WPzv+zwJBDpfzPGfjGcOGktcBoHbpIlncJ5YDJtkVzFY/Co4AcH5GsoJBrg14seCyPqubIiM07F1iJpCpx3QTLFhM4VtT4NJB6S4Pllll4oBRBX81zqQ2G7B7DQi0DsljgkmTJcZdwZ9HushOWg34M7Wq+mVUm21e1BKJ+yJlZWWG91vAWevhO0/8vGfcDdm4WXlAV+yxJ0M+1lnaws8wCzx3p4vqpAE8VpZWt/CNJkxWdkYSN8/aAswXOGbZ7BhpZ/ItGCZbXXSTVUxrP9ZmLHuZrB5bvTZd3NYPe7IBgYaNzdB2NNXX2BWu1zonG1uxyb5GTs2RKAAFcWBbFln2OKSs6uOax5l3BuCxrLTAj5vzkXlsAKDJA/0RD8k89ipB5xw8whZPnfix6wPFL9zlgxM+CADZqJWUvljWb9kg5y6c1TQz1VYGWtIDALL1T3tGEfK6BYV2RrAFjDZsKHkdAHJSh0m+mTK9YdsmbS4l8OPuIAuyU1SIHBfIsYAqOAVOVgO8R8wAKrJ1ETVOp6bbjYpLJgA0LVmOS2LXCp7h75wrytZ58boxEptO5yu2ZkoZWKNrqsS4Mw0WAFI+Hg7XOIYa2dbIt36+VnYO8cBdeOGulZ9+i7L1HmnUPNgQ4+TJjGvda4bpOI2OmcLPgLw67+OB/QlvWqHWElIzJKbdyqI5MvSB9lIENi1lte2nlnrwwG1D4MZQgfLMPxthREnZiZdGG2weswDRMG2n5geejOt17a3O+yw3b6JcICt3BZ7ntWVls8f65ro+2zBbbQ0X1WHbiGL8mvNuMg6VvZ4JjJNRvKLyYjl7+byuZMKJHrreHze4yE7V7l+O+/vqxFFE2US+tLRYgR7X/bPJIrP1j6Wf5zXLtuXPAsSGktcBIAVhETQz+OuzJyVnzTJ5LyNJMlblmcUSIUgiag6a1EbWRgoAa7NngcxYM+Nqg0AqAo2ipqvO3PF0wtcCQIcbgwNuKDHumgaPdNl0Is11ASBl4ykrTzYSrXE0/I2RnyUrL95xQLQe45oXSUXgwbXJ5u/1QyMjI6dav+cJk0a2QqTqWaaQGNb6UVMjysEjP28pxO+bK4OoBvXZEO9anXKriJ44Mle2eugl4reZjVaXLdvIW/33SAQD3qLN1PhWm47rhTXEU09u3kT5UA887IjXlI18rOthFtXnv1n5qA/01fSe2TLUya+6GUD2IlV5LEvH1r8zl86Z1r/sFG3AWrw0U95NXyTZq5fKoeNHNB18lmsY23WMbWueZc/1/3jPs2uY9ywIJDeUvAsAmQI2eyKRtiu4FMq09+hByduwUt7NTJbkZVnuRaK/PHYYymCmW1sheptsRnhyDVljcDIdsSebWU3sgjAAsD7gYpyvdVKehuXwtR9rmlRLcJ5pNPpAtvKwjsTKzFNulvlMbRlaqnmvsjorMq81HvIUh4379UI32Yc92VNolm0BaZnX+GyTJeSdFj7QhFthaBArZGZMWHMMWbjWVhHLnvbjVhF7osDPst7xDvHbjGx9eu2ZEJo42R1/hx2yh98UWvaRJ1GonsImW2HXyMzTFVk/bazPAkH2lhmuC/iulbl9f813vEk6F8GJC+PMYWoEgMQsKQCAxDDc+/fj/bt1coiWZ8AvFSWcYIX0lpXJ/oMH5PO9e2TTls26NvIX+/fpPsCnz56RTz7dJce+Pm7kiOe5XRzvX8m/Wo9sbp68DgCryuiMjQBLy9nbz+G5VbL7q/0qPO6ZNz9rsaQuzXIjaAsAten1dkjhdhDjwWTY0Go92bbW4YYBNGa8g1F08wjHI/GnNcnh83UNq+aZ2s82Xao/Pd+Sdvxxy+2G2ToUw+ad5r2NieqLu01nfem95gJZu9XBHJtTL+MZMg71+SZLSIAC+boI4Ma5pgu9+TH9j2a/p+6A65wq16Lr3rjDxO9Th60+16vrYGsPnvF22PPU2pcN62Mf1abr+1VybfKUI2VMyzWAsE4rH8nzYU92nlEcoMdepgr6EcQfQJDxuVKcrxNX2fU7PydVMczOL3bJlQq2beI5nVGP1Lsxgci5C+fl6PFjCgAJ8OzC0Lyek5erIJDnXCT6/Z07ZMWqlQoOb0favd8CyGnfjjDKytjwa2oC50uvytbPP5KkpaY5VbuAjx9WIRvlQuazBdDbGsDvkxklanVN2VLD1HT1KkZ56XqtA1ZioO/BgXLdQo3nRtn5Gms8+kpwUyWbHpuWmvRQIHVkoF0MVj7OIwz1usdzyvytZSNz+y3LvFPzPW8SE0I2pEkC1xdXG1quHXf7HrJNe202rc86iAJ/G4kDbSBZefn45llJKwrQD0+wdM1D9V7yOjEunrpshtlcq/c1TNtw2EmIeYdhPuEZevK1abfvar5kZVcjL+Nra2SDO+qfHa7lo9n+x65OxwdZAfNnfJnno/wpr+uDJq9NJaYR+C8HAOrKJAgvFF2ReelJCgDZeLXhk/flZP55xTSKbbhjDUK1swpcQcgZvmzR2/HBTgV5dnzf4a+OyNr162Tnhx/oM2fPn1MAuG7Derl89cptSbv3ASASy1ZAz3GAzNhC/OUMoLx1KxT8cU0ddgF7KphpfvUyaRrAjJK1Bk/ltQpsvQjjDbZOS39IZVDH6xhKLWPhMdkohTG0Oq9somTTY9NSkx7KxabbkYOnbDzlpTUqtiI7XI/cyJ6y8/ym9+Vn4meJ8bHsGd/6uHbc7XvIpiCsGXJg2P6zzpM66P303zrdiIy+jTX9/NNcmZVo9qgQBGqFmiF0yN53yPMnnuxN4vepwzX6bP5Zffe0AU9fYNgQ31GfXnhy/emt/Z7mSFZ2lGyNrDxl7OiTMv10fb4az1nh8if2hbxFti/nPTzD91uM0Bj8l8UtRUUFiE+ldgG/l7JQh6xlrMiV88VXFMswvow3l4vRcYO0NzZmgJgGAjy2ALLrl6niNbYK7juwX4Hh1ydPyMFDX8ruPZ9rdzHHAXKySEPJ+5NAmFKPXLSnVqHOXrwgS1cCBKalypeHD+GKIc99hb1ONtI3wh6HzqnHCRXiemzI87f6kyZO109PfTJw2P1wPfeu4Rry/I77FY2Y6ouvJ1+fasvA1LLr8re9o2mQpzxuhX0EHbEt6zzWcwRNRDgmqlafa+u4Oz1urp9scq/HPro+fbOs6suDuuxQ3RfVxw7Vc8lrxBY8LsrPXWQYH3bhLkpOkhVrVsuJM6fdOOaa+DoX+DsS37FixQoNLbY5fvy4fPTRR1JYWChLly6VnTt3ysWLF2XXrl1y5coVfaah5H0A+C3E3SH27NkjGzdulAMHDrj3dfWRj3zkIx/5yEc+8jbZHc6OHTsmK1eulN27dyt2+TayeKakpEQ2b96s5zwmEDx58qR88cUXcvXqVdm2bZseX758Wfbt26dA8Ebe/23U6AEgqaCgQAVLRMxjSxY9+8hHPvKRj3zkIx95g9hqRzxy4cIFBWqXLnHbzm8ns6WnAZBHjhzRYxJbFtnyR8BHQHj69GkFgnyO4K+oqMj924ZQkwCAJCJjJtoT9TaqbmAf+chHPvKRj3zUbMjiERsSuLF79mYbp/i8Z++m5+/ra+m7XY1fTQIAUqieCeYx0S+v+8hHPvKRj3zkIx/dabJdv56tcRaw/f/buw92K4plDcD//w/cc+6JBsQECiIKBgRFAUUEA4I5YiIrghjmzjvwbYt21g5s2Mqlv4diejpUV1dXV9f0rLV2ypZDYpg2yKttnQAGc8HgenBHBIAGXQdOObfi+LOjo6Ojo6OjYz0QnziYQgneVhOsqa9ejWeka9t6MljTtwJ3RACYEz9X6Cd/HR0dHR0dHX8FJGATo+SjaYlXVkJ7mDUXOK6W11rxlw8Alxt4/wxgR0dHR0dHx5+BBGv1UGo1r34rWh455RP7hJdr+7r4VhyE3TFfAuno6Ojo6Ojo6Lg16AFgR0dHR0dHR8ddhh4AdnR0dHR0dHTcZegBYEdHR0dHR0fHXYYeAHZ0dHR0dHR03GXoAWBHR0dHR0dHx12GHgB2dHR0dHR0dNxl6AFgR0fHMOTnNtd67ej4/4DV2nt77ei4g9EDwI6Ouxk2svVQR8edjDmbXgt1dNzB6AFgR8fdjLlNbS3U0XEnY86m10IdHXcwegDY0XE3Y25TWwt1dNzJmLPptVBHxx2MHgB2dNzNmNvU1kIdHXcy5mx6LdTRcQejB4AdHXcz5ja1tVBHx52MOZteC3V03MHoAWBHx92MuU1tLdTRcSdjzqbXQh0ddzB6ANjR0dHR0dHRcZehB4AdHR0dHR0dHXcZegB4m/Hbb7+/J/j555+nq7ya/uWXX5auV65cmfLBferB1atXl/j9+uuvN6RRoB0KlOFT67fl8P3330/XH3/8cbpGpspbnvtQEN5B2lbISz1tM56MOf2GbzuO2kfVC9SyivD+6aefpv5uFyLzxYsXpytEJn0nTYYq++XLl6+n5scgb1F+1X8gX3+t7t0v4jMHvDMfLbRp26kf0tecbMZdx576gXTsFLXzVe/Tru3HfdVxy6/2n/xAW/ZS64A6bTv30bF2La9FulsrKk/96beOOenIVOVMWc3DwxjDl05Q5QnK5WlbfVLylMemogfpyjv1FiFl+q+6jCzJg/RT+bHzAI+Upb2rPHJUXhXW36KyFuGFqpzrwUo8MqZc65iTdzPQVt9Vb/RQ52IOtf/Uq2Ogm0A+3vFxsaO0W63eO24fegC4QbAYFi2U5VDr1QUjvzqA1hm4RxZ0iyqLxVkdfIss4hbJa8eh/mrHFoRXZK3jnJO/Yk4+93MyV2h3KxxQxhsdXrp0abrKX0n2KiMe2gocWv2ph1+ohXL91zLp5cbX8soYqoMH9mEcylHlKR1apO+aL71c3ZY/0In6bZs5PawG4aUfYzW+Vt/BovzVoB3HzWKRrkAfoeWgnL7m9FhBHyh1qo6jM7Qcj4rVztFK8q8Graxz0I85Va5+tfXkB0mrs9px3AwiU8i9/kLyIP4lDxbyq1zWKKpjwEueevJzH56LoFx/8WXaBbXPyFvLK/QFkSn9rtR/x8ahB4AbgLqQwYLIQppbDFmoSedaF3fK64JsUevrhzOri7Vt+8MPP0wL3ynWahxF5V/HVKG/1cqYMZEhfafcNbJLx3mrV3lI6y956d99W+9WYiV+5Kj6lM54cl0J+gifUO6rjqssi3QvXzs1W/rp56vDj1cuD5d/ujJbHlJvDlXOOSibk2tRfhB+6sVWgowHKcsGRhZl7fy096Ae3kErT8ZV29a0srb8VgBP9m5MrtO8Nf1WfUhH7lb+ejKpXtYRzOkJ71yTBjLkvvYBeKxWB63stY/02fKvdWBOH/JguZNY9dgw0jp05eoYCJe8USvD1V9G/znmuf786yjXb2OANpVuDNoxB3P6WQ2msY9zr23WTJ3TgF49JFX9Jt3OsXs86nxU2WJr1b93/LnoAeAGoDpkqIssiyILEVrHDNrUBRenuZaFpI920WbBrgTt5tpzDmSNA6nlaSO/jlm++zqm3CeNb4W8yIlnqx+Qj4LwrrzSR5VzPagyZ6y5Qq7tmOpYEnAH8sinPkofc0i/gTTdaMfRtm3bcbtD2dBCybfhucqrG6P6gsQWkd01Y3Rf5ZDO/XLzsFxZO67lUPtrER3pi7zu61zUdtLKWn2Dthlz5K58FkHd5cYJ+GZ9Sc/Vl59xtOXtGAIBcr0HfNiPwMlHQnIKlLEFkSfAJ7z0r/5q0NatwUHmppVRuf5Tpl6L+IfoDKmrXSXBXLX3RZT1Ie2a9HpBrna+5GWMrsZS/Z360VHbVj1zZv2ro5x+8nBfMac3aGXKPIB85SshddIuuk+afK3sHRuPHgBuAGL4kEUdrGYxgcWSBRMHsQh1YV24cGFpEQYWNErfeHEQrmiOv7zVLtjIumhsc3zaurkPL45trl2gjG7rWJOuzjPjqnOyXlS5yD0nA2QsLbSJ7O0Yql6kya/cmPKZzbbPira/yg9sgO2JB7LhuSrLJlk3wVDlR4a58ZHZuGrZIl0EyvCzmRlrnUOYmz/9IG1d2XTFSn22mNPpIh7Rg7KkybAS1F0kk3wyzMkRXbd6qbDJgmBu7iQsAQA+VYa5/kD9tr/aro63tbPVospSec8h5ZF3UVvpOqaaVgux6+8vjT5wtPXksf2c/LV2H7qdmBsLzNmVOivpXHnsLWSNsI3ah7T1NddPeASp09oMnjUv/Xb8tdADwA1AdZr1yefbb78dTp8+fcNGVRfNN998MwVwQRae9rWeQACf6tDrIpX/9ddfD2fPnl16sj9//vzE2wLWv7IK9eTrB7WL15icXH366acTffTRR9MV36DdpPV17ty54auvvloKXoL08d133y21S5+ulZfx0B2Z6zjVqfd4Gge5guhozrndDPA5c+bM9btriNz0Y17qF0Nqv5mDFsZAT4i90LW50I82dYx1XpR9/PHHw8mTJ4cPP/xwaT6qrVSQxWveiz98P1ECQXl1I6xkQzxz7uxw+uyZacOsaG3OHLFhcz1nQ6lvjuiJLmqdKrdxGD89qOee/NLyUOYWlOm/jr/tX3BJx/R0/Pjx4b333pvWSXsyVselTB3tKjKv5vrUqVNTus71IrQygTx9am9M9IcvogM6jU21OiKba5U5UNfa+/LLLyedB+284f/5559Pdem11rXGIl/8V1D1b20qU3fRGBF91vHAXH1rIPZU+4HoWVnkqTzq+NRV75NPPhk+++yz4dPPP5tsX21UAz1rwHpQfu7C+eH8xQvD2fPnhu/OnJ7S1sKtgLGxp/jnRTCv0WsQO2nnm674gXfeeWea79YXt/qxjtq1pA7e0W+FMvXNGx/Fb9Or+SRnnU9ge3hWWartdvw56AHgBqAGgHFeFs3LL7887Nu3b3j99denRQcWEFgcBw4cGN5///2l9hZqFrqrRajd0aNHhxdffHHa/LOwtVeHQ3nllVeGTZs2DY888sjw1FNPDU888cSwbdu2YdeuXVP+9u3bh4MHD97Q9rXXXhuefPLJSd7WAVj4H3zwwXD48OFhy5Ytw9atWyfejz322NQX5xNkkeMtXz/PPPPMtOEqk4+/tLHQic0n+UFkMybjpLdnn332DxtC9APSdPPcc89NMkNORSLXemF+XnjhheGLL76Y5ODc6NycGcv+/fsnnXCQkLk0tmPHjg179uxZki3j5eCNj54efvjh4fHHH5/my7y99NJL08ZVbco4bfx0q+5DDz00tTM3hw4dmjY7MkWHoC+OesfOJ4dHHts6PPjoI8NDWx4dHt66ZXjiqZ3DG2+9OZweNztaujxugj/ZDEf65IvPh+f2vjBse3LH8PwLe27Qd8CGbT7mhw4SEIF+61wC+dgvm4uewByZL/NNT+x0586d0xiNjS1L0wtd0Wd0ydaMnZ3NBRfq2RzZOL5ox44dw+7duyc5ssmSMfNCHnafcQmQMobUEUQaC33frI2lT3NMJnNPPuO01oz9+eefH95+++3rLa4FZuQhe2wE6tqgR2uBv2kfwOjZ2Ngq3vRiTb/66qsTtQEvnbJ76ys6SF9koXdyGMecHuQpe+ONN4a9e/dOc5e1Wdvkaj7onO5PnDhxQ6CkHTJ2fCAy5UqXxs8m2BK9Pvjgg5P9v3TgleHzr05Nto4ujQ9AP1y5PKWffvaZyda3bt82PPbE9qW18uSup4cDhw5ivS6Qm83QeWzYWMlLD3RJrwI/ejJ/9NA+/IJ158GP3tkMP7B58+bJZsyVfqreAg/vTz/99GRX1lPWA3szv2wpQVtAPuuWz4+96Cf7C1k9rBiDNUdW9+ry71Bts+PPQQ8ANwAM3SJAWUgcqk36n//+17D18ceGr775enrq/OHHS0tPopzTwVcPDRe+vzjleQWXV3P+9wT68aefDFtGp/SPf/1zckj1M1rIqc4Xp74cPvrk4+HzL78Yjr55bHhidGhP7941vPPu8SkPj/c//GCJLxleOXhg6t/nvPI5MIQ/Xjb/Bx7cPD1Bq4OOjUHDY9seH54aneMnn3261Cak3SNjkPE/f//b8Nye55fGpU9XT9XG8tY7b9+QX8mYyE1n995/37QZZNOH1ikKpDgpDhOif9cEA+uBMZPF2KqcZKfn+x/YNMn57skTS/LnumcMpMxD9GuuXL/57tth59NjcDNuOh989OGkY/xPvHdymqvYSOi9D94fnhyDNv3RjblQxxzo+8X9Lw1fjhtc+KNLl38cTn391bSxvfDSi8P7H380fH36u+Hd998bnhnnZvs497uee3baBAV+2Rw/He3l8R1PDP++957h0XHcTkP0lRNDo3NC+PK4qf77v/8ZHnrk4SXbQnmtlrqurx5+bamuMaZubBn/D0f5jJMeXn/jyLDrmd3X7GzchGxsAs4EbdrIZ2vqOqkMT/27Z2MPPvzQcPjI69P6cOpJ7y+9vH/YPo7v0GuvTqc9aYeMUf7f//G/07xaS7UceSh69NFHl+ztZsCG2afgwGYqYBGsktNmTEf0QL6s8/TPHh8eAxRzHv0hbdkUG/n622+mPOMJBMyCK/299dZbky4F4wIDGzsdQx48BBuCqL0v7vvDfOqXLzKfdb4ryVNG1/fcd+/wzGhrTtmUkattwz/yDX/7379Pvufb0VZjc/rjS3aPwdq+0ZZru9QxfvZiTVkjTvXYgQcd9sze2Xbs/Edyj3pVZh0cPvrG8PG4Dj0AnRjt8L1xXZ66rsf1QHu2yJdaq/tfGYO7xu6Q8T46Ppypx/b5SvkZH+IblNHpm2+/NemXbbx9/J0pj6+pfooPcD05rnn+mO3HtrS39+iPTNZ57YuPIbc5sQ6sT/6Gn9Ff1ny1TXa3afMDU7l7c9zx56IHgBuEPMnWEwgB1qvjBvTAuBE9v2/v0lMncvoi7+C4ObrPCYy0J9TU2/38c9PT6DGLcQy+bOTyL4zOLXXqBi791OgkbPJXxgU4V4fje3Fc9J58q0xcstMgTtEpUS3jMF05Ue08VefkKHXOjk7L07O+d47OSB8pw/viuNEbw0ejI5EX+YwXL+mvxk2aszZePDg2AYJNoDqbBEkCWXUSbLa0Hmj/5ujMBEJfjhtUxuFKH+aGHuiDzGRXhr4bg6RDrx+e6mRs2iJzr/7+UfbUr0Sn0SvdOJETyNGfe/OXuoI68u0bnXu1G2kyP/Dow8OnX40B0K8/T8Qlo+df2jc8su2x4cz3F5byvv/p8vDVme+Ghx7bMhx64/WpfO8YaOAXec6Nev5w3IicJhqf+c7pCvnSf2yHnap7ctww2LFxtHVRHZON15hsxJnHbE4sQB2bqBOb148dnfR75bdflsbx8ZefT+M+eOTwDWtAH+Qxp/8dN2O2XHVmbl4eAxtzY10Kgqutsm/BuocgG2FkQ6tBfSAxHjYsYHlt1KPNmk3ZeCNr+o1syL0xs7lXxg08ddgIPdOdvIwrOnt2tEMBG73l298CCGmBg+Cxviolh4Cq2qg5xZe+D4yBMh9xfmxTdYjoyZV9kOn4GHTQqXv56md81a7uG4MHY8OXD5Kvnjr6li9Qk4+iG2WCOPaVU+3QpZ9/Gl45/Oqw78DLw0dfjA+zv1ydbCRr4dl940Pa888OQml5Fy5fmtLK9Pv7jK0d2tIVn81W+UMnjB+MAVjGjcz7a+ODTHwCn2FdKzPnrvTAHyr7bAx2kxc+8vj9HeM8ukfVp+r3rTEwTv3wJRufvGcM9OPjkTlSn52ZT/XlqVPnO/PoyudtHm3MWk/5evTXsX70AHCDsCgAPDo+ab393olpU3WdHMvokl2feu6Z4cWDr0zpSpyW62dfn5rqnPz4w+HsDxeHbU89Oex9Zf9SvTixuvlJ73x297D7hedv2PBrHf1ziI/v3LHUlzwBwOfffDVt/IffPDrl41H5nLv0/RQ86OPb82cnZ6ktPl+fPT1sf3rn8N4nHw0HXn9t2PLEtin40E452rH76eHo8beXHHF0kT6MVbvvLpybnJpTnjzVeqKsJE8AuG10rrcrABSI0scX3349yZfNwVh27Xlu0uMnp76YAg5Bk/FkLNETvbrPHJjLJ3Y9Nbx06MCUpw2+4R2dKjMf6pr36Cp1Ul8/bIMcKVfXhrd5yyNTQJS6iO7Jbq5seDX/m3NnJls1R/iqExnV+eHqlWH/qweH517cO7x18t2pLv7K1Es/Geuxd8cAevvj05jf/fD9YeuO7cPpi+ensmpXdWxffvfNpHMBYE6dEgBm47LR21Rt7tf0hce47q5eHl46fGjYtvup4dS500vy1L6M0XwZR+wfkUFe1hwd7dn/4nDxyo9TnzY/m6LNNCc0odVgLgB0mufUMeMKkYs80WOdv1Onv530b87N8RvvvDU8+cyuyZ5ia+YVHz06CRa0WivuBXeRmxxObpAHLEGhfIEh/yUwqHMTYvfmPnOuDttIOfnJyI94qHhm757pvtaJD0DWuzmhd4E7m5dOOb/Ddo68/eZSXujERx9MZfTQliF9sj+6yVjITHY6NN9tG/XMN13cLLQ1B2TWz/EP3pt8Lt8YvaHzP/4wBaF0Ra/GLi9zThb+x5p49eiRJZulv6SN0VowJ9ZP2iL28vDjW4c3Txz/gz3hwbfwua3/eO3YG8M9mzdNuk9+JTYWfbraD8yh+ZAX++v489ADwA3CogDQ06+nLk9mqJ4Sua+nZCgbgScqpxBOQmx2nuacxniizlPu95evbUz1aVJ6LSeAeZpTLu10xFOcp7nUzZNkyFM6Ob4YN5a05SydOHlydyqgTPrZF/ZM7fFRx5i9lml55kTIqahTInWRANDrI1pNMJCTQJvXRgSAK50AuqdvAYkn6tQxDz5j1M4T/Xjat7kqc4Ihj87ryS565+SJqX+vpGo+/aUfc2Y+3j7x7lIecnrl6V5b+jUH+pFvbsjORtLGlW051TMOT/JOr2Oz5HRSY36UeV0mGMopGdJHxplTG3rSD95OeaKzagPaJV1PAFcKAAVs2ZCmzfSnH4ctO0e72y9wuZZPnspfmlxsscqgnhNANpiTzk2PPDS88/7JpTpO9OmHPHkIWa2dzQWAXs15Rf7t2TPT3J+5cH6iBMnRZUvmx4kXMhYnSOb2D3XHsXoF6HW4jxuQgNz1NL1SXit7fepjB06kqlz6cCIkn57qSa41kbRAmZ6csrJxp3/mtJ4OxT8Zo/GzJevM6ZePLbDR8CQDW/ZA7b7OJ1/GJuupmXKyVf21dsA+tdWX+SYDWY0v/o8ubhba4sHe2Rr9Oalnt5GNPF49G7t+yaNcWWSnAx/dyLqM/O147DWbHnpw0nHaouVOAJH62vEjyUNs3R7xzZnTk7z0Y93lhBelf9d+AvjXQw8ANwiLAkCfubDoOEIOLK9UbDyCA44xi9I1aY5IAOFVi3sLNgGWACo80s416bUEgG3AYdHf/+DmqX4buMQZC0rufWDT0uumOBOO5p5N90+OWN8cjgAiwQsn4j4BQ3VeyvAzPkFX8n0OxemFz2/RbCWnFbc7ANT/agJAzlFQ51VU9CX4RTXIduVA2YL5t3FpZ9xIAEKPdIPoguOPTrVHmXt5AhV8bBK1TBBuLvXj9ZFNyOYS+wivSpy4NoI7m6KNo75qNKd4GAOdKHdSm7Gpk7SNQHCCV/jTj2DVfCcPVVtYSwDo1FWg9PtJ1DBsfnzL8MLBl4cffr2mh7rZmTf6yccUqk7JkMDGGAQITkCdzuQ1twDEJldPy1ZrZ3MBoNeyPofFBswh3sbl9NWJTHSJyJ17svEd/7nv3qld/ZJDxjtdRzmdoOckvcocnaL6eULkc54evKxnDyrm2dqN3bIRciZQCmUe6ZedxfbVYwsCoNhnyJyYT19QyjrjY9i9oMRY1dHfkTePTeXVXrz+FggnMDGn6psrwZ02+NBRnW/+jQ80RnYpCNIHfbINfmo9iC7ZlH6Mw+tfvtOaJYP5pBO6cm+t6d/4QurwofQjWEy7jCO6EBzSmT5q/koBoPVmTSp3n/mhNx+V4De055/YqboOJ4wnfbjOBYAdfy56ALhBWBQACiDidGzuFpKNWZ6Nxmda4iSrc7KIOdw4RM5KsMb5cnj1ab86A+lbEQBqm006izxychScWJ64w9sTrg0pAR6ZyasfaQ7DCZAnSg5IO7zTXmBr4+fIOXBlNiIfbPeazGaWzy/lBOPPDgDrZ+9sMhywzcs9x79SACjAU9+Vw+Xgq3MOT05cn8mPk8abrdi44nhTxs7YkE3Qg4RTIvKSyWYswAu/kLkxhx5YyKs+HpHJBoAX+1DHZmADSXlsztzRj420bhQ2PptEe9qQctQGgJBgJQFhAkD2qk0CQMHgg1sfHfYc2D9c/Pma3itvOqQzstF/5iQkoBcMGId2Ps6wdcf2KQhyT9fG7DN7NWhaDeYCQJ+9E2hZU8ZLL8jrcq+eq+xZL9IeOMyreeRTok/lmf9pLsb75QLA6HNRAIi/Bwtrk41KszM6qrZt/hH9siHt1I89sAF+i87jN0LkZYvsIidcfIm5sE48QOAjEGHDaUcf+sQ3J2zy1SUXmclIVsGT+9hpZNWWjRqTcv3TpTQfux5El96YsGc2q0/zxf+SQx/u4zPYszVGX+7Np3EmAIxvjV5R9KAOX5HgMrayXADoyrfh7Q2CvNgPHQj66Jxvwh9v93moSx+uPQD866EHgBuEuQDQV+d9a0+JhWYhWlA5ebCpeIrPSVuIo1AmEOOgPMl6MhRA2nw8ISYgQVnUSa8lAEzfyjknzs+GT1Z55K5tOQcycxg2oeSpx4lzdJ609YE4LEEfZ6KcQ3dilOAybfVt0xB8qCvw8JTpm2tOSXxY3uaVDSuB4O0MAGGlALB+SYLTtsHRjXLz5b7q2JXT5+TNsfuQNnG+5o6+BAXZIOp8qhd+7INeq+NFgklzXE/gkHv1c3pZybz78oM5Mn8cvjkRTJLHKYm0ujZLY41uyKONtDrK2KtAIPOZUwVypU+UdigBoG8FZz0tCgBzoi7wQ4ImAduufXumz/0po6uqO7anrcBAv5lTRCdOkxK04ulzgOShT2OmO99ozUPIau1sLgD0cOMbtXmgIwtZfQZM3/LIUfVjHuiSfs0TG6PPnPzgETsi43KvgOtr7HrvFbAHWPqgi6xTPNmz+aQnspp3tqvMvTn2gMi++S1BDT5k5Lty0hTS3oMof+c1ZvLZIvvhbwSV+pOOLtInWcyP+uEXnkjQKjDJF0hipyi+MmNMufmgh/WCnvlUazjrhM3SA9nYk7T+yGN89ocEs4hc/AC/XPWDql0I4IyTHdR8elkUAKLoJ0FoiL60o3v8yKF99I7Sj2sbAN4K/XWsDz0A3CAsCgD9JIGcPHn7+r2fFfGzIb6Z5/M/9akc+Yq9b7b6qY389IGv6iM/LeLnAnw1P846m2PSfirAZ4uqc691OCW8bD75QLjtgBx+jgF/cuWbt9l0kZ8rIJPTgfphcn35KQGbhjrahqfTO0EaXTjxsCHlJwrC+/jovAR6xmfcri/s2zuNw89CKMsGVjevjQgAzVd+xifyGpf583Mc7jMeP5Xgg/3mmdzmInrKHJCVHsgeHcufI7r0WSx6SB9IC/zwVqYfdVOuzDdWySKQ8g1P+iK3LzCQe+5nTvC4b9P90xcH1NeOnbCXN44dnb4ZmvH4aQi6yU8Cxd5c/fyKeRHAC3DMJ5uRb+xee0anqOrAFxLwrQFg1lf079us+Auy62bng/6+DCEI9AUkeRl3+NNL/ZmX2rc5IZ8xaisI80Ucm7ITNxu0h7j8pEloNVgUANJJ3VRRPlwvrVVsh6zmgYx+xkOen3oyL/SbnxjJXKDlvgRCBu3VwTvt1OGD+IHUDZHFnLLL+s1hxLZ9q1h/8Vd7x0DQWiAv/8BWqy3jp50glU0l36wcGYMQ/sbP/WjrGl1EVnbiAbHac+wE4c1WUp526sSX1fqV1gs8yKx//tG9b5Bbl3we3dBxxhSf7wQ2MpgXa4JfNofxdWTOya15UEbvsYGMycdntniIHP1v+kkZXvYXum3Xo8ML7WIv9FbXilTuXcnMT9efher4c9EDwA3CogBQ0JIFi6Qtes6O0+YcsogSNHHwNgZ/jUF+3byk40TjJLKok15LAGgDSD4iAydSHQnSHnG2HJENIPVT5zMnS6PD4EgiMxm0E1TYtMje/mYespkg6cikrRp4kceGpE0ckr45vT8zAKTHqmdEJgEG/aoTHWmL6JUesiEj40J4Od0MT3nmkr2wB7qJDMiGmW+SJg/RUX6Xy6u/Ov94k4u+o+OU2aQ2P/Tg1Jbc2uHtFSI9C1bCC195Anr3yTcXNjFyu6/z6Yo3O0kAg6otrCUA9DpK8JQgUND04eefTt9edDIUvmkn+GW7fp+zrp/UU2Zdml/8wtNJlhM3p21Ob9vAZzWYCwCNk05zQplx+Fan19q1DxIKHgQ7ZJSXdSa48VuLCXLUzXxIm2+bM73l9Fxbgax1xR7rmARo7EPgFvutcyRoYd/129BODW3+bKUGASiymHO+oAYbysjFjgWitT45jJfvcOUbY0ekIRM98nnGEJ8pXznZ5fEf9KysrkfBH1t1j8Ib6Xu9wIePMF/0o0990BHd8qX1NzwFzOSJ761jNR/GmAdhlHHyA8rpIWXhuVwAOL3hGGUgY/LwZCPWtXaRJeVkksYrNuHaA8C/HnoAuEHg3PMjquBX+/1grJOgLIY89TqBsFAECX4DrD6R+9KITTuLNWUWcxa0J0cOxClOHIQyS5Fz49Q4y7o4s/ARp21TJwOZLPYsbu394KgN47/33jPJ557TkRdnEUebdoijEagkIEiZvgV9xoVndeIom4kfEI2ccTJx1jZmPyibHxJO+2zYnJ8n2ZweCq7IsV44gcA7/YbozUmHvpKXQIfDNB7yqmNMVU90x5HbAJK3HDlhswFyxsbLfjhZY7WZGms9MUA2Gz+Oaz7oPraA6JTj1zbzmKAgAWXmEJkXfAQKTotSX4Dmx21zAhgiI/vTfx13SIBI5n/9599LX+6p9cirLycQE8bM/HBywCYFT/piz78Ha79Nr/O8FvfRA2vBWrLJ4icQyGaY/mJjyHzStbzfeV57beyV5t/++Y/pVWYNYNBa4Ieg8adDtot8Vs1rUkGrzwb7qRA/g4J3/IY+rVljYmt1DUlbq3xKfRhIHUG1wMLY6Z49803WM1vM7xqyG1fBoAcBD6vRT3i5t2bpn21Xu6dfJ/dVpyjr2nyrwz7iz5CHCbKw6/g8NoHYA3/H1gSQacemIxPdmDf6UYftCSatFQ8i+uR3Km8ymW9BE53ya9q6sqsl+1sH9MWH0FV0jPCnX77FPVmMhV7lC8zl1b1Bez4DL76OT7ZejY9+nLZnPYenqzoJkNVx6KAfaQ8NZHHyHztD5pR90Bu/ry5/wx7c02VsMHOQk2bzqK79yV+e8VdKjhw5svTXsCAPdB23Fz0A3EAw6jzl+1NM/sQSx5ZFlU2Wc+UUPJHayCzUODWLyGLjKDm4OFJ1sqA5cwvYws7iS7k2HKZFnk21bq7IwuVoOTvtwzdEPrzxEMhwHDZkGxWnGIdfZUo7Cz+vOvCO/AKUOB7OusqkLw7FuJKXgCX8BRn0ko037Y2BA+TgOCfEmduE6He9EOTYUJ1u6tM8kY0O8M+v3qM4UGOWb0PWlh60MxZlnDu56TJtF5G+tDVuvMwDZ8/RmhuBHL21c+jefHDCZNcvPmzQpsLubCY2bePKnNoIbC42m+gYf2O1IeTVJ7lsNrFVPPGmA/USmLVyIfogEx1oG73GlvWtP39XdPh1zBn/5a9nBP6ShTrsWJ+2E6dnOUHzOTWfRRJobBmDHiRAIJc1STdVnoxVYGhtup90P5blVazPAPr8ls80ap82aC2YxnLdJtitdeVk0ed9fa7UFxr8jqcv2+gjdkXfghMyyg/h40qXdCq4wz/6RNLWkPVnjejTRs1+1M86jY9yT1fKwyNl9ELveOEb+XK6modXZe38sxOnlOZOGV7y+Qe+g/1FlpAybfDmK9Kmtnf1cIKv8Zlr6yQ/cq0t/YRn2gkA1aEP66EGhNbBekEHfIh1wi/qV890ZC5zQCBPmXUZvcqLvIieBbTKycgH8AfGZ975iLn1po2+BG58pavA09owj1kLtT9zrR3eaUc3yIMEftnbokv6jS/2kDH54TH48xdo/Ik+f87SHsn+62l4x+1DDwBvMxgygw5q2t9i9So48HcTA3+z8dKlS0unhjndsED8TcUgT0r6yaLBB19ta3+p60/T5W+Bzi02G6mnsfbvf1Zoh78/F4VsuP4+aPoAfHKvPlIvUF5PRY2RXJE5cpEF71ZOiHPhEG0E2YRQdVhJu9aNYb0wvnryVGEe6t+hrQGKOdCuPvVWKKv2sBrQD5uiY/M/xyO6BbLP/W3QwFzk73XWv9sZRx3gqS9U88lT2wWpC1W+2Ahoy/5Tz33mnx7pVdvffhnrZ5JDI6L7GiywkXzIHQl/2IFx+lNo1lW1x0C/kVPd/Jk3bacvDODjfiQf1hdc6q9utouQMVXIwzvtXSO3ANY3WP1Ar/vamq7nxhAdAvmt6/Trf31lfehLEG8tCfoFj3Uc9Jm1I6Bjb0G1b3OnL/2kL+V0V+e0ypZ6bNI4ark0u4uNxE4CY2bz1Z7VYY/tGlDP3xA35+SxBtM3pE3yWh76mrOTmwU56apCf/RV/YN69JG6kU9+O0btPCAZZ8ubnbTrUvu6doOqF+mq98pDOvNf9SVddZV1C+YKP+2q7YD82lfH7UEPADcAdXFaEIsM2wKbW4RggdXFCFkk2mRxLmq/CO0Cb/uoSH/L1QFOKnKoD3NyrYZX2lfUdtmMQu6SlxMGdyj3qaverQa52rHKW5L3+lzNQf5aNxb8tGEf7SawXF/QOl11W32nfa27HE9Yrrzyb+ef/K1MK8IJ4PVTwNAUFBaUoinoC7XzTxZ6ZL/kaGVrx6W9mU4wVqn2eWOrG9HqIJDDZl310wauCTpry9bucs8+ah+1nlxrwtqQzn3SlchDFnVd5VW09ge137lx1oCtylVlD6rtpK/V2Iu6NViZA9lqEFOh3yrbojm7GbR8aj8tWv3WtpFxJbmU4xNdZszahofy8JFW3vbdAp86V+7DY5FMy421Y2PQA8ANgIWRBee63EKuzlq9OC7pLPCU26ikK788MUPyq1OrfQXy8A7/inqfvlAdjz498esn42sXt/wqR5UZ39pPlSP9BMrkpY1a9dTPxpQNzEZVN7Y5Wi/i9MhlrjLOzBvUOY1+KuhPnnrSGXNbb7WoOsMz81HzIfyVpY5rHD6Z5UH4RO+gLOkWydcmelE/Ngv1dENeZAiSzhWPat9TGisBXzkJ/PXnsb6gcISxoAQsSIqNyAN89T2HOr5aB08lJJu+kCEoGtOufg4jfYUWAf/aR1DbkvPaq+ZrQR8iiWta0lFrcwjInTmtY9AvXdS+6MWpn9eJPu+nb3WssaylSZ6xztTmuvzhD/QZW4sM5FMnSH352rumTe4rUhakr5wirQT8Mn5pcmlLZ8kPzyDy4t/Kc6ugD+MF8pAr40mfuZKvLatzDupYF/jgq757/rkdQzteSJs6ZnmREeRXuSFtgravgFzaIqeBfAA58Ep+x8ahB4AbAEafxWaRZCEnry6WuqgsBm0rsjBR2tc2WUwQ54BP8rSLk6ntwrNCHdRCu1BQ05B+KvK0Lz99ZTy1n7k8cN/m6bW+pqob/UqUAOB2owY9kHTG0o4paHU6B/Mdx1nTFfjM6W41qLKG95yd6Lvl39aD2GxF5KuQp69clScdTGniCfYEfdIjOQH85eoojzxZY7vrRX8gICdeWTvI2vHqrMrFbpWBcik9XPt7q9eCM8Gfbx1PZcUW14q0C+GfPlx9qs+p4LUexjqjXFXfkbvqq9W9svbzdHOkj7Ze7iE6qUhe+nef/qWrLskaeeVpU/UO8WXhkfK0rYQHkm4DpIo5W4S0r6g8az+3EnWuIPaYea3pXLWp875aZCz60D60Gugzska/eKV9lVP+WhG5lpu7jluDHgBuAKpDqwtNvsWC1orlFlYWoDq1XhZ9+lyu39RdCe2T5RzfONoEgHEe6imb60de6kHkbmFzkuu62uBPPQHjtdrrA7kiG6r3Sed+EVpnmvvobTVYjn9FW6/qv5ZJ13kNUqetOzfG5OGjn0rpczVo+d4ARSGngOV1sCCwxSjRUnVEluWg79QxjjzUyJvaj//7ORaaQjmpU1aDprUi7ULhHyJR+lkOc3NYUftwyoeio1ZXlZSh5bBo3tr8ej/p9fp9zY/e+ZsW6hln7A1Jt2O3rqyx1NUXvulTnvvlAo8qU03fLPCIfWVsGWt9cKzrJenavzGRW1vjRNK5d+V/UfprUXWGd+SQp43y1Enf8VV1HOrM9SFfvcyDe31Iy6vj6dgY9ABwA1AXg3Q19KSzsAL3gcWhLAsoeSAP1T6yyKA6sznH1i4697VvkId/5HBfKYizCVJ3elU3Iv2njfq1fcYYRB/ykm5RX//mFBAJ8mxQya9l9f5WIzpqYZxVN62OoQ2QVwO6pdeqx0UyBPqu9QP5c3LNyZO8OT7ykp++Wr5zGwSoV2Vv+YC22Zzqq1/p6dQv9yPVfvCNTYSCyh/cp23sV/lSvyPUJqla166//4UNZbciAPTalcx4po9rdO1eHXJW3eTeHCU/48kYshatA3LW9YGqnpJ29S3dG04DR36ZL+lqi9FVtZ9pDkZZAvepL131S++Zg9Rpv9AA+FWekDw8ax+rBZlbu2/7WSvPRSAfpL/4gYoa+EYGuop+bgbaV32To44PYjMt5LV9ZxyQdPi1umvTtS3cKt12LIdh+D+xXDDfzPd4IQAAAABJRU5ErkJggg==" style="max-width:200px"></div><div class="section"><div class="heading"><a name="d3e22"></a>URI</div><p><strong><a class="url" target="_blank" href="http://reference.niem.gov/niem/specification/model-package-description/3.0.1/">http://reference.niem.gov/niem/specification/model-package-description/3.0.1/</a></strong></p></div><div class="section"><div class="heading"><a name="d3e32"></a>Contents</div><ul><li><a href="#section_1">1. Introduction</a><ul><li><a href="#section_1.1">1.1. Background</a></li><li><a href="#section_1.2">1.2. Purpose</a></li><li><a href="#section_1.3">1.3. Scope</a><ul><li><a href="#section_1.3.1">1.3.1. Information Exchange Package Documentation</a></li></ul></li><li><a href="#section_1.4">1.4. Audience</a></li></ul></li><li><a href="#section_2">2. Basic Concepts and Terminology</a><ul><li><a href="#section_2.1">2.1. Key Words for Requirement Levels</a></li><li><a href="#section_2.2">2.2. Character Case Sensitivity</a></li><li><a href="#section_2.3">2.3. Artifacts</a></li><li><a href="#section_2.4">2.4. Schema Document and Namespace Correspondence in NIEM</a></li><li><a href="#section_2.5">2.5. Namespaces Used in this Specification</a></li><li><a href="#section_2.6">2.6. Harmonization</a></li><li><a href="#section_2.7">2.7. XML Validation</a></li><li><a href="#section_2.8">2.8. Reference Schema Documents</a></li><li><a href="#section_2.9">2.9. Rules</a></li></ul></li><li><a href="#section_3">3. Conformance Targets</a><ul><li><a href="#section_3.1">3.1. Conformance Target Terminology</a></li><li><a href="#section_3.2">3.2. MPD Conformance Targets</a><ul><li><a href="#section_3.2.1">3.2.1. The Model Package Description Conformance Target</a></li><li><a href="#section_3.2.2">3.2.2. IEPD Conformance Target</a></li><li><a href="#section_3.2.3">3.2.3. IEP Conformance Targets</a></li><li><a href="#section_3.2.4">3.2.4. Artifact Conformance Targets</a></li></ul></li><li><a href="#section_3.3">3.3. Rule Applicability Codes for Conformance Targets</a></li></ul></li><li><a href="#section_4">4. MPD XML Schema Document Artifacts</a><ul><li><a href="#section_4.1">4.1. Reference Schema Documents</a></li><li><a href="#section_4.2">4.2. Subset Document Schemas</a><ul><li><a href="#section_4.2.1">4.2.1. Basic Subset Concepts</a></li><li><a href="#section_4.2.2">4.2.2. Constructing a Schema Document Subset</a></li></ul></li><li><a href="#section_4.3">4.3. Extension Schema Documents</a></li><li><a href="#section_4.4">4.4. External Schema Documents</a></li><li><a href="#section_4.5">4.5. Constraint Schema Document Sets</a></li></ul></li><li><a href="#section_5">5. MPD Documentation Artifacts</a><ul><li><a href="#section_5.1">5.1. NIEM MPD Catalog</a><ul><li><a href="#section_5.1.1">5.1.1. MPD Catalog as a Table of Contents</a></li><li><a href="#section_5.1.2">5.1.2. Extending an MPD Catalog</a></li></ul></li><li><a href="#section_5.2">5.2. Metadata Concepts</a><ul><li><a href="#section_5.2.1">5.2.1. MPD Name Syntax (<code>c:mpdName</code>)</a></li><li><a href="#section_5.2.2">5.2.2. MPD Class (<code>c:mpdClassURIList</code>)</a></li><li><a href="#section_5.2.3">5.2.3. MPD Version Numbering Scheme (<code>c:mpdVersionID</code>)</a></li><li><a href="#section_5.2.4">5.2.4. URI Schemes</a><ul><li><a href="#section_5.2.4.1">5.2.4.1. MPD URI Scheme (<code>c:mpdURI</code>)</a></li><li><a href="#section_5.2.4.2">5.2.4.2. URI Scheme for MPD Artifacts (<code>c:externalURI</code>)</a></li><li><a href="#section_5.2.4.3">5.2.4.3. URI Scheme for Local MPD Artifacts (<code>c:pathURI</code>)</a></li><li><a href="#section_5.2.4.4">5.2.4.4. MPD Relationships and Lineage (<code>c:resourceURI</code>)</a></li><li><a href="#section_5.2.4.5">5.2.4.5. Resolving an MPD URI with a Fragment</a></li><li><a href="#section_5.2.4.6">5.2.4.6. URI Resolution Involving Reference Elements</a></li><li><a href="#section_5.2.4.7">5.2.4.7. XML Catalog URI</a></li><li><a href="#section_5.2.4.8">5.2.4.8. Summary of MPD URIs</a></li></ul></li></ul></li><li><a href="#section_5.3">5.3. Change Log</a><ul><li><a href="#section_5.3.1">5.3.1. Change Log for Releases and Domain Updates</a></li><li><a href="#section_5.3.2">5.3.2. Change Log for IEPDs</a></li></ul></li><li><a href="#section_5.4">5.4. ReadMe Artifact</a><ul><li><a href="#section_5.4.1">5.4.1. Readme Content</a></li></ul></li><li><a href="#section_5.5">5.5. XML Catalogs</a></li><li><a href="#section_5.6">5.6. Defining Information Exchange Packages</a><ul><li><a href="#section_5.6.1">5.6.1. Validity Context and Constraints</a></li><li><a href="#section_5.6.2">5.6.2. Declaring Validity Constraints</a><ul><li><a href="#section_5.6.2.1">5.6.2.1. c:ValidityConstraintWithContext</a></li><li><a href="#section_5.6.2.2">5.6.2.2. c:ValidityConstraint</a></li><li><a href="#section_5.6.2.3">5.6.2.3. c:ValidityContext</a></li><li><a href="#section_5.6.2.4">5.6.2.4. c:HasDocumentElement</a></li><li><a href="#section_5.6.2.5">5.6.2.5. c:ValidToXPath</a></li><li><a href="#section_5.6.2.6">5.6.2.6. c:XMLSchemaValid</a></li><li><a href="#section_5.6.2.7">5.6.2.7. c:SchematronValid</a></li><li><a href="#section_5.6.2.8">5.6.2.8. c:RelaxNGValid</a></li><li><a href="#section_5.6.2.9">5.6.2.9. c:ConformsToConformanceTarget</a></li><li><a href="#section_5.6.2.10">5.6.2.10. c:ConformsToRule</a></li></ul></li><li><a href="#section_5.6.3">5.6.3. IEP Sample Instance XML Documents</a></li></ul></li><li><a href="#section_5.7">5.7. Conformance Assertion</a></li></ul></li><li><a href="#section_6">6. Optional MPD Artifacts</a><ul><li><a href="#section_6.1">6.1. NIEM Wantlist</a></li><li><a href="#section_6.2">6.2. Business Rules</a></li></ul></li><li><a href="#section_7">7. Organization, Packaging, and Other Criteria</a><ul><li><a href="#section_7.1">7.1. Artifact Sets</a><ul><li><a href="#section_7.1.1">7.1.1. Constraint on Elements of Type <code>c:SchemaDocumentSetType</code></a></li></ul></li><li><a href="#section_7.2">7.2. IEPD File Name Syntax</a></li><li><a href="#section_7.3">7.3. Artifact Links to Other Resources</a></li><li><a href="#section_7.4">7.4. IEPD Completeness</a></li><li><a href="#section_7.5">7.5. Duplication of Artifacts</a></li></ul></li><li><a href="#appendix_A">Appendix A. MPD Catalog XML Schema Document</a></li><li><a href="#appendix_B">Appendix B. Example MPD Catalog Document for Cursor on Target</a></li><li><a href="#appendix_C">Appendix C. Common MPD Artifacts</a></li><li><a href="#appendix_D">Appendix D. Conformance Assertion Example</a></li><li><a href="#appendix_E">Appendix E. Guidance for IEPD Directories (non-normative)</a></li><li><a href="#appendix_F">Appendix F. Acronyms and Abbreviations</a></li><li><a href="#appendix_G">Appendix G. References</a></li><li><a href="#appendix_H">Appendix H. Index of Definitions</a></li><li><a href="#appendix_I">Appendix I. Index of Rules</a></li><li><a href="#appendix_J">Appendix J. Revision History</a></li></ul></div><div class="section"><div class="heading"><a name="d3e39"></a>Abstract</div><p>This document specifies normative rules and non-normative guidance for building Model Package Descriptions (MPDs) that conform to the National Information Exchange Model (NIEM) version 3.0.</p></div><div class="section"><div class="heading"><a name="d3e47"></a>Status</div><p>This document is the normative specification for NIEM <a name="d3e53"></a><a href="#definition_model_package_description"><span class="termRef">model package descriptions</span></a> (MPDs). It supersedes both <a href="#NIEM-MPD-1.0" class="ref">[NIEM MPD Specification 1.0]</a> and <a href="#NIEM-MPD-1.1" class="ref">[NIEM MPD Specification 1.1]</a>, as well as <a name="d3e60"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> guidance previously published in <a href="#NIEM-IEPD" class="ref">[Requirements for a NIEM IEPD 2.1]</a>.</p><p>This specification focuses on the rules for MPDs in general, and for <a name="d3e68"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (IEPD) MPDs specifically. Relevant NIEM specifications will address the rules for other <a name="d3e71"></a><a href="#definition_MPD_class"><span class="termRef">MPD classes</span></a> in the future.</p><p>At some time in the future NTAC will design, test, and publish a set of Schematron rules that correspond to constraint rules in this this MPD Specification.</p><p>The MPD Specification represents the collaborative work of the NIEM Technical Architecture Committee (NTAC), the NIEM Business Architecture Committee (NBAC), and their predecessors. It is a product of the NIEM Program Management Office (PMO).</p><p>Email comments on this specification to <a class="url" target="_blank" href="mailto:niem-comments%40lists.gatech.edu?subject=NIEM%20MPD%20Specification%20Version%203.0.1">niem-comments@lists.gatech.edu</a>.</p></div><div class="section"><div class="heading"><a name="Introduction"></a><a name="section_1"></a>1. Introduction</div><p>This specification assumes familiarity with the National Information Exchange Model (NIEM), its basic concepts, architecture, processes, design rules, and general conformance rules. For novices to NIEM, the recommended reading list includes:</p><ul><li><a href="#NIEM-Intro" class="ref">[NIEM Introduction]</a></li><li><a href="#NIEM-Conformance" class="ref">[NIEM Conformance 3.0]</a></li><li><a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a></li><li><a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a></li><li><a href="#NIEM-HLVA" class="ref">[NIEM High-Level Version Architecture 3.0]</a></li><li><a href="#NIEM-HLTA" class="ref">[NIEM High-Level Tool Architecture 1.1]</a></li><li><a href="#NIEM-Implementation" class="ref">[NIEM Implementation Guide]</a></li></ul><p>Even those already knowledgeable of NIEM should be familiar with <a href="#NIEM-Conformance" class="ref">[NIEM Conformance 3.0]</a>, <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>, <a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a>, and <a href="#NIEM-HLVA" class="ref">[NIEM High-Level Version Architecture 3.0]</a>.</p><p>The NIEM documents listed above are available at <a class="url" target="_blank" href="http://reference.niem.gov/niem/">http://reference.niem.gov/niem/</a>. See <a href="#NIEM-Implementation" class="ref">[NIEM Implementation Guide]</a> for the NIEM implementation guidelines Web page.</p><p><a href="#NIEM-MPD" class="ref">[NIEM MPD Specification 3.0]</a> uses and is a peer to the NIEM Naming and Design Rules <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>.</p><div class="section"><div class="heading"><a name="Background"></a><a name="section_1.1"></a>1.1. Background</div><p>Many fundamental concepts, processes, and products in the NIEM generally involve aggregating electronic files into logical sets that serve a specific purpose. Examples of such sets include, but are not necessarily limited to, a NIEM release, domain update, <a name="d3e162"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (IEPD), and Enterprise Information Exchange Model (EIEM). Each of these is an example of a NIEM <a name="d3e165"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> (MPD).</p><p>An <a name="d3e171"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> is a normative specification for XML <a name="d3e174"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> in the format of the World Wide Web Consortium (W3C) XML Schema Definition Language <a href="#W3-XML-Schema-Datatypes" class="ref">[W3C XML Schema Part 2 Datatypes]</a>, <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>. <a name="d3e181"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> schema documents either (1) define the semantics and structure for NIEM reusable <a name="d3e185"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>, or (2) define implementable NIEM exchange instance XML documents in W3C Extensible Markup Language (XML) <a href="#W3-XML" class="ref">[W3C XML 1.0]</a>.</p><p>An <a name="d3e193"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> is ready to publish and use when it conforms to NIEM specifications, and has been properly packaged with the schemas, documentation, and supplemental files needed to implement or reuse it. <a name="d3e196"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> content design, development, and assembly may be difficult and time-consuming, especially if done manually. Developers will often prefer to build and modify an MPD with the help of software tools, which can significantly reduce the complexity of designing, constructing, changing, and managing MPDs. In order to reduce ambiguity and to facilitate interoperable and effective tool support, this baseline specification imposes some degree of consistency on the terminology, syntax, semantics, and composition of MPDs.</p></div><div class="section"><div class="heading"><a name="Purpose"></a><a name="section_1.2"></a>1.2. Purpose</div><p>This document is a normative specification for NIEM MPDs in general, and NIEM <a name="d3e207"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (IEPD) specifically. The rules and guidance herein are designed to encourage and facilitate NIEM use and tools by balancing consistency, simplicity, and flexibility. Consistency and simplicity make MPDs easy to design correctly, build rapidly, and find easily (for reuse or adaptation). Consistency also facilitates tool support. Flexibility enables more latitude to design and tailor MPDs for complex data exchange requirements. As such, this document does not necessarily prescribe mandates or rules for all possible situations or organizational needs. If an organization desires to impose additional requirements or constraints on its MPDs beyond those specified in this document (for example, mandate that an <a name="d3e210"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> contain a normative set of business requirements or a domain model), then it is free to do so, as long as no conflicts exist with this <a href="#NIEM-MPD" class="ref">[NIEM MPD Specification 3.0]</a> or the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>.</p><p>This document defines terminology; identifies required and optional (but common) artifacts; defines metadata; specifies normative constraints, schemes, syntax, and processes as rules; provides non-normative guidance; and as needed, refers to other related NIEM specifications for more detail.</p></div><div class="section"><div class="heading"><a name="Scope"></a><a name="section_1.3"></a>1.3. Scope</div><p>This specification applies to all NIEM <a name="d3e228"></a><a href="#definition_model_package_description"><span class="termRef">model package descriptions</span></a> (MPD). Currently, NIEM MPDs include the following:</p><ul><li><a name="d3e236"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (IEPD) — Defines a NIEM data exchange, and is the primary focus of this specification.</li><li><em>Release</em> — Includes a major, minor, or micro release of the NIEM model, or a core supplement applicable to one or more releases. See <a href="#NIEM-HLVA" class="ref">[NIEM High-Level Version Architecture 3.0]</a>.</li><li><em>Domain update</em> — Allows a NIEM domain to change or add to the content of its own domain schema document in a published release. See <a href="#NIEM-DomainUpdate" class="ref">[NIEM Domain Update Specification 1.0]</a>.</li><li><em>Enterprise Information Exchange Model</em> (EIEM) — A model derived from a NIEM release on which one or more IEPDs can be based. See the NIEM concept paper <a href="#NIEM-BIEC" class="ref">[NIEM Business Information Exchange Components 1.0]</a>. A normative specification for this concept does not yet exist.</li></ul><p>This document is the baseline specification for all MPDs, and in particular, it focuses on the normative rules for IEPDs. In the future, detailed rules that apply to other MPDs (listed above) will be published in other NIEM specifications. Also, in the future, other types of MPDs may be added to this list.</p><p>NIEM is a data layer for an information architecture. Files in an <a name="d3e278"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> generally define XML Schema types and declare XML elements and attributes to use in payloads for information exchanges. While an <a name="d3e281"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> may also contain files from layers beyond the data layer, this specification is not intended to define details of other architectural layers. Such files are generally present only to provide additional context, understanding, or assistance for implementing the exchange of payloads.</p><p>This specification defines several incremental stages of conformance to support iterative <a name="d3e287"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> development, with conformance testing possible at each step instead of delayed to the end. Tool vendors should be able to build, adapt, and integrate software tools to assist in <a name="d3e290"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> development and assembly, from raw parts to finished product.</p><p>An MPD developer is not required to revise an MPD that existed before this specification becomes effective. However, he is always encouraged to consider revising an MPD to meet this specification, especially when making other significant changes.</p><div class="section"><div class="heading"><a name="scope-iepd"></a><a name="section_1.3.1"></a>1.3.1. Information Exchange Package Documentation</div><p>This specification defines rules and practices for constructing and packaging conformant <a name="d3e304"></a><a href="#definition_model_package_description"><span class="termRef">MPDs</span></a>, and in particular, <a name="d3e307"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (IEPDs). To the NIEM program, the <a name="d3e310"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is considered the point of interoperability. This specification provides a standard version numbering scheme <a href="#section_5.2.3">Section 5.2.3, <em>MPD Version Numbering Scheme (<code>c:mpdVersionID</code>)</em>, below</a>. However, it does not provide guidance for managing or processing <a name="d3e315"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> versions or their associated <a name="d3e319"></a><a href="#definition_information_exchange_package"><span class="termRef">IEPs</span></a>. Creation and management of <a name="d3e322"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPDs</span></a> is the responsibility of stakeholders and developers. As such, <a name="d3e325"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPDs</span></a> have their own versioning processes, and are managed independently of the NIEM core and domains. NIEM PMO defines <a name="d3e328"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> conformance, but <a name="d3e331"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> development and management fall outside its scope. Nonetheless, in the near term, the PMO intends to develop guidance (through the NTAC) for managing <a name="d3e334"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPDs</span></a>, versioning <a name="d3e338"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPDs</span></a>, and processing their associated <a name="d3e341"></a><a href="#definition_information_exchange_package"><span class="termRef">IEPs</span></a>.</p><p>An <a name="d3e347"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> defines one or more data exchanges, each occurring in the form of an <a name="d3e350"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange package</span></a> (IEP). This specification supports a variety of data exchange use cases, in which the <a name="d3e353"></a><a href="#definition_information_exchange_package"><span class="termRef">IEP</span></a> may be:</p><ul><li>An XML document with a NIEM-defined XML document element.</li><li>An XML document with a NIEM-defined payload element wrapped inside a non-NIEM envelope element (for example, SOAP, <a href="#LEXS" class="ref">[Logical Entity Exchange Specification]</a> (LEXS), Trusted Data Format (TDF), or an OGC Web Service document element).</li><li>Multiple NIEM-defined payloads packaged together in a single document.</li><li>A non-NIEM format defined with no NIEM content at all (for example, a data exchange specified by a GML application schema). </li><li>A non-NIEM format in which optional NIEM elements do not occur (for example, optional hospital information, provided as a NIEM element). </li></ul></div></div><div class="section"><div class="heading"><a name="Audience"></a><a name="section_1.4"></a>1.4. Audience</div><p>The following groups should review and be familiar with this specification:</p><ul><li>NIEM <a name="d3e396"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> developers, reviewers, and individuals or groups responsible for approving MPDs.</li><li>NIEM <a name="d3e403"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> developers, reviewers, and implementers.</li><li>NIEM-aware tool developers.</li></ul></div></div><div class="section"><div class="heading"><a name="Concepts-and-Terminology"></a><a name="section_2"></a>2. Basic Concepts and Terminology</div><p>The section defines and discusses baseline terms and concepts that will be used throughout this document. Presentation in this section is sequenced for understanding. Each subsection builds upon previous ones. The section concludes with a more detailed discussion of MPDs and more specifically, IEPDs.</p><div class="section"><div class="heading"><a name="Key-Words-for-Requirements-Levels"></a><a name="section_2.1"></a>2.1. Key Words for Requirement Levels</div><p>Within normative content rules and definitions, the key words MUST, MUST NOT, SHALL, SHALL NOT, SHOULD, SHOULD NOT, MAY, RECOMMENDED, REQUIRED, and OPTIONAL in this document are to be interpreted as described in <a href="#RFC2119-KeyWords" class="ref">[RFC 2119 Key Words]</a>.</p></div><div class="section"><div class="heading"><a name="Character-Case-Sensitivity"></a><a name="section_2.2"></a>2.2. Character Case Sensitivity</div><p>This specification imposes many constraints on the syntax for identifiers, names, labels, strings, etc. In all cases, unless otherwise explicitly noted, syntax is case sensitive. In particular, XML files in appendices that define particular artifacts, transformations, and examples are case sensitive.</p><p>Also, note that as a general principle, lower case characters are used whenever such will not conflict with the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>.</p></div><div class="section"><div class="heading"><a name="Artifacts"></a><a name="section_2.3"></a>2.3. Artifacts</div><p>MPDs are generally composed of files and file sets grouped for a particular purpose. Each file is referred to as an <a name="d3e453"></a><a href="#definition_artifact"><span class="termRef">artifact</span></a>, and each logical set of such files is called an <a name="d3e456"></a><a href="#definition_artifact_set"><span class="termRef">artifact set</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_artifact"></a>[Definition: <dfn>artifact</dfn>]</div><div class="sub"><p>A single file with a defined purpose.</p></div></div><div class="box"><div class="normativeHead"><a name="definition_artifact_set"></a>[Definition: <dfn>artifact set</dfn>]</div><div class="sub"><p>A collection of artifacts logically grouped for a defined purpose.</p></div></div><p>An <a name="d3e474"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> is itself an <a name="d3e477"></a><a href="#definition_artifact_set"><span class="termRef">artifact set</span></a>, the purpose for which is to define and document the intended use of the <a name="d3e480"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. While the key <a name="d3e483"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> artifacts are its <a name="d3e486"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> artifacts, there are also other kinds of <a name="d3e490"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> artifacts. These may include (but are not limited to) HTML, XSLT, text, or graphic files used for human-readable documentation. An <a name="d3e493"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> may also have artifacts intended to help assist in or accelerate the use and implementation of the <a name="d3e496"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. For example, these may be XML, UML, or binary files that are inputs to or outputs from software tools used to build, generate, or edit the <a name="d3e499"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> or its schema document artifacts. <a href="#appendix_C">Appendix C, <em>Common MPD Artifacts</em>, below,</a> contains a listing of mandatory and common optional artifacts for the five types of MPDs. Common types of artifacts are described in more detail in subsequent sections. <a href="#section_7.1">Section 7.1, <em>Artifact Sets</em>, below,</a> discusses the different methods for grouping <a name="d3e507"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> artifacts into sets.</p></div><div class="section"><div class="heading"><a name="Schema-Namespace-Correspondence-in-NIEM"></a><a name="section_2.4"></a>2.4. Schema Document and Namespace Correspondence in NIEM</div><p>To simplify automatic schema processing and reduce the potential for confusion and error, <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> principles state that each NIEM-conformant namespace SHOULD be defined by exactly one reference or extension schema document. To support this concept, the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> disallows the use of <code>xs:include</code>, and mandates the use of the <code>xs:schema/@targetNamespace</code> attribute in NIEM-conformant schema documents.</p><p>So, (1) each NIEM namespace is defined by a single NIEM-conformant schema document, and (2) each NIEM-conformant schema document declares a target namespace. NIEM does not permit schema documents without target namespaces, unless they are from sources outside of NIEM (e.g., an <a name="d3e532"></a><a href="#definition_external_schema_document"><span class="termRef">external schema document</span></a>).</p></div><div class="section"><div class="heading"><a name="Namespaces"></a><a name="section_2.5"></a>2.5. Namespaces Used in this Specification</div><p>The following namespaces are referenced and used in this specification:</p><div class="figure"><div class="caption"><a name="figure_2-1"></a>Figure 2-1: Namespaces Used</div><div class="box"><pre>
c http://reference.niem.gov/niem/resource/mpd/catalog/3.0/
er urn:oasis:names:tc:entity:xmlns:xml:catalog
nc http://release.niem.gov/niem/niem-core/3.0/
structures http://release.niem.gov/niem/structures/3.0/
xs http://www.w3.org/2001/XMLSchema
</pre></div></div></div><div class="section"><div class="heading"><a name="Harmonization"></a><a name="section_2.6"></a>2.6. Harmonization</div><p>A key NIEM concept important to <a name="d3e561"></a><a href="#definition_harmonization"><span class="termRef">harmonization</span></a> and used throughout this specification is <a name="d3e564"></a><a href="#definition_data_component"><span class="termRef">data component</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_data_component"></a>[Definition: <dfn>data component</dfn>]</div><div class="sub"><p>An XML Schema type or attribute group definition; or an XML Schema element or attribute declaration.</p></div></div><p><a name="d3e575"></a><a href="#definition_harmonization"><span class="termRef">Harmonization</span></a> is a process that NIEM governance committees and domain stewards iteratively apply to NIEM content (specifically, its semantics, structure, and relationships) during the preparation of a NIEM major or minor release. On a more restricted scale a domain steward harmonizes his/her own content (schema documents) in preparation for a domain update <a name="d3e578"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. Multiple domain stewards may collaborate in a coordinated domain update. In this case, to the extent possible, harmonization may be applied across the content of all the collaborating domains. Harmonization results in model change and evolution with the intent of removing semantic duplication and overlap while improving representational quality and usability.</p><div class="box"><div class="normativeHead"><a name="definition_harmonization"></a>[Definition: <dfn>harmonization</dfn>]</div><div class="sub"><p>The process of reviewing a data model’s existing data definitions and declarations; reviewing how it structures and represents data; integrating new <a name="d3e588"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>; and refactoring <a name="d3e591"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> as necessary to remove (or reduce to the maximum extent feasible) semantic duplication and/or overlap among all data structures and definitions resulting in quality improvements to representation and usability.</p></div></div></div><div class="section"><div class="heading"><a name="XML-Validation"></a><a name="section_2.7"></a>2.7. XML Validation</div><p>A discussion of XML validation requires an understanding of basic XML terminology. The following definitions are necessary.</p><div class="box"><div class="normativeHead"><a name="definition_XML_document"></a>[Definition: <dfn>XML document</dfn>]</div><div class="sub"><p>A document in XML format.</p><p>(as defined by <a href="#W3-XML" class="ref">[W3C XML 1.0]</a>, <a target="_blank" href="http://www.w3.org/TR/2008/REC-xml-20081126/#dt-xml-doc"> §2, <q>Documents</q></a>)</p></div></div><div class="box"><div class="normativeHead"><a name="definition_schema_component"></a>[Definition: <dfn>schema component</dfn>]</div><div class="sub"><p>The generic term for the building blocks that comprise the abstract data model of a schema.</p><p>(as defined by <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#key-schema"> §2.2, <q>XML Schema Abstract Data Model</q></a>)</p></div></div><div class="box"><div class="normativeHead"><a name="definition_XML_Schema"></a>[Definition: <dfn>XML Schema</dfn>]</div><div class="sub"><p>A set of schema components.</p><p>(as defined by <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#key-schema"> §2.2, <q>XML Schema Abstract Data Model</q></a>)</p></div></div><div class="box"><div class="normativeHead"><a name="definition_XML_schema_validation"></a>[Definition: <dfn>XML schema validation</dfn>]</div><div class="sub"><p>The process of checking an <a name="d3e662"></a><a href="#definition_XML_document"><span class="termRef">XML document</span></a> to confirm that it is both <em>well-formed</em> (as defined by <a href="#W3-XML" class="ref">[W3C XML 1.0]</a>, <a target="_blank" href="http://www.w3.org/TR/2008/REC-xml-20081126/#sec-well-formed"> §2.1, <q>Well-Formed XML Documents</q></a>) and <em>valid</em> (as defined by <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#concepts-schemaConstraints"> §2.3, <q>Constraints and Validation Rules</q></a>), in that it follows the structure defined by an associated <a name="d3e690"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>. A well-formed document follows the syntactic rules of XML, which are the same for all XML documents.</p></div></div><div class="box"><div class="normativeHead"><a name="definition_XML_schema_document"></a>[Definition: <dfn>XML schema document</dfn>]</div><div class="sub"><p>A physical (file) representation of part or all of an <a name="d3e700"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>. One or more <em>XML schema documents</em> are used to assemble <a name="d3e706"></a><a href="#definition_schema_component"><span class="termRef">schema components</span></a> into an <a name="d3e709"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>.</p></div></div><div class="box"><div class="normativeHead"><a name="definition_XML_schema_assembly"></a>[Definition: <dfn>XML schema assembly</dfn>]</div><div class="sub"><p>A process that uses <a name="d3e718"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a> to identify the constituent <a name="d3e721"></a><a href="#definition_schema_component"><span class="termRef">schema components</span></a> for an <a name="d3e724"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>, and correctly sequences and structures these components to construct a single entity, the <a name="d3e727"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>.</p></div></div><p>In other words, an <a name="d3e734"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a> is the result of <a name="d3e737"></a><a href="#definition_XML_schema_assembly"><span class="termRef">XML schema assembly</span></a>, i.e., processing a set of one or more <a name="d3e740"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a> into a single entity. That entity is most commonly an electronic image in the memory of a computer.</p><p>This specification often refers to the process of <a name="d3e746"></a><a href="#definition_XML_schema_validation"><span class="termRef">XML schema validation</span></a>, that is, validation of an instance XML document to confirm it adheres to the structure defined by a particular <a name="d3e749"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>. Generally, this should occur periodically during and after design time to ensure the conformance and quality of an information exchange definition (i.e., <a name="d3e752"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a>) and associated instance XML documents. However, local architecture or policy may dictate the need to validate more often, and in some cases may even require runtime validation. To be clear, NIEM conformance does not require that instance documents be validated at runtime.</p><p>XML schema document sets that define a NIEM information exchange must be authoritative. Application developers may use other schemas (e.g., constraint or Schematron schema documents) for various purposes, but for the purposes of determining NIEM conformance, the authoritative reference schema documents (NIEM releases) are relevant. This does not mean that XML validation must be performed on all instance XML documents as they are served or consumed; only that the instance XML documents validate if and when XML validation is performed. Therefore, even when validation is not performed, instance XML documents must be valid against the XML schema that is assembled from XML schema document sets that specify these instance XML documents.</p></div><div class="section"><div class="heading"><a name="Reference-Schema-Document"></a><a name="section_2.8"></a>2.8. Reference Schema Documents</div><div class="box"><div class="normativeHead"><a name="definition_reference_schema_document"></a>[Definition: <dfn>reference schema document</dfn>]</div><div class="sub"><p>As defined by <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>:</p><blockquote><p>An <a name="d3e775"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> that is intended to provide the authoritative definitions of broadly reusable <a name="d3e778"></a><a href="#definition_schema_component"><span class="termRef">schema components</span></a>. It is a <a name="d3e781"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> of <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>. A reference schema document MUST conform to all rules of <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> that apply to this conformance target. An <a name="d3e789"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> with a <a name="d3e792"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> of <code>http://reference.niem.gov/niem/specification/naming-and-design-rules/3.0/#ReferenceSchemaDocument</code> MUST be a conformant reference schema document.</p></blockquote></div></div><p>A NIEM <a name="d3e803"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> is an <a name="d3e806"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> that is intended to be the authoritative definition of business semantics for components within its target namespace. The NIEM core schema documents, NIEM domain schema documents, and NIEM domain update schema documents are all <a name="d3e809"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema documents</span></a>. A reference schema document meets all of the following criteria:</p><ul><li>It is a NIEM conformant schema document.</li><li>It is explicitly designated as a reference schema document by its own conformance targets attribute. This can be declared by an <a name="d3e822"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> or by a tool-specific mechanism outside the schema document.</li><li>It provides the broadest, most fundamental definitions of <a name="d3e829"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> in its namespace.</li><li>It provides the authoritative definition of business semantics for <a name="d3e836"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> in its namespace.</li><li>It is intended to serve as a basis for components in <a name="d3e843"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> schema documents, including <a name="d3e846"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subsets</span></a>, <a name="d3e849"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document sets</span></a>, and <a name="d3e852"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema documents</span></a>.</li></ul><div class="box"><div class="normativeHead"><a name="definition_reference_schema_document_set"></a>[Definition: <dfn>reference schema document set</dfn>]</div><div class="sub"><p>A set of related <a name="d3e861"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema documents</span></a>, such as a NIEM release.</p></div></div><p>The <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> conformance rules for reference schema documents are generally stricter than those for other classes of NIEM-conformant schema documents. For example, <a name="d3e870"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema documents</span></a> are not allowed to employ particular XML Schema model groups such as <code>xs:choice</code> or <code>xs:any</code> that other schema documents may contain.</p><p>NIEM reference schemas are very uniform in their structure. As they are the primary definitions for <a name="d3e883"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>, they do not need to restrict other data definitions, and so they are not allowed to use XML Schema’s complex type restriction mechanisms.</p></div><div class="section"><div class="heading"><a name="Rules"></a><a name="section_2.9"></a>2.9. Rules</div><p>Rules define specific constraints on artifacts or on the interpretation of artifacts. The classes of artifacts are identified by <a name="d3e898"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a> that are enumerated by this document in <a href="#section_3">Section 3, <em>Conformance Targets</em>, below</a>. Rules are normative.</p><div class="box"><div class="normativeHead">[Rule <section>-<number>] (<applicability>) (<class>)</div><div class="sub"><p>An enforceable rule for NIEM.</p></div></div><p>Each rule has a classification, which is either <em>Constraint</em> or <em>Interpretation</em>. These terms are defined below:</p><div class="box"><div class="normativeHead"><a name="definition_constraint_rule"></a>[Definition: <dfn>constraint rule</dfn>]</div><div class="sub"><p>A rule that sets a requirement on an artifact with respect to its conformance to a <a name="d3e923"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a>.</p></div></div><div class="box"><div class="normativeHead"><a name="definition_interpretation_rule"></a>[Definition: <dfn>interpretation rule</dfn>]</div><div class="sub"><p>A rule that sets the methodology, pattern, or procedure for understanding or using some aspect of an instance of a conformance target.</p></div></div><p>Each rule may apply to one or more <a name="d3e937"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a>. Each rule lists its applicable <a name="d3e940"></a><a href="#definition_conformance_target"><span class="termRef">conformance target(s)</span></a> encoded per <a href="#table_3-1">Table 3-1, <em>Rule Applicability Codes</em>, below</a>. The conformance targets for this specification are detailed in <a href="#section_3">Section 3, <em>Conformance Targets</em>, below</a>.</p><p>Rules are numbered according to the section in which they appear and the order in which they appear within that section. For example, Rule 4-1 is the first rule in Section 4.</p></div></div><div class="section"><div class="heading"><a name="CT"></a><a name="section_3"></a>3. Conformance Targets</div><p>This section introduces <a name="d3e961"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a>, a concept fundamental to understanding the normative rules defined in this specification. This section also defines and explains <a name="d3e964"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a> used in this specification.</p><p>There are several purposes for defining conformance targets in NIEM specifications. A <a name="d3e970"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> establishes and identifies a class of artifact associated with a set of rules. Based on these rules, tools and operations may be developed to process or use these artifacts consistently.</p><p>Conformance targets also satisfy a need to ensure developers do not conform to NIEM in name only. Once committed to using NIEM, developers and organizations need well-defined conformance targets and rules to know exactly how to conform. Funding agencies require conformance targets that correspond to interoperability goals. An agency that is funding development of a set of systems will need to ensure it funds the development of NIEM-conformant IEPDs that support the exchange of NIEM-conformant IEPs. Tools and system developers need conformance targets that identify real world requirements corresponding to their use cases and tool capabilities. Many of these tools have not yet been developed. Therefore, this specification attempts to cover a broad range of general use cases.</p><div class="section"><div class="heading"><a name="CT-Terms"></a><a name="section_3.1"></a>3.1. Conformance Target Terminology</div><p><a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a> defines two terms used normatively and often within this specification.</p><div class="box"><div class="normativeHead"><a name="definition_conformance_target"></a>[Definition: <dfn>conformance target</dfn>]</div><div class="sub"><p>As defined by <a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a>:</p><blockquote><p>A class of artifact, such as an interface, protocol, document, platform, process or service, that is the subject of conformance clauses and normative statements. There may be several conformance targets defined within a specification, and these targets may be diverse so as to reflect different aspects of a specification. For example, a protocol message and a protocol engine may be different conformance targets.</p></blockquote></div></div><div class="box"><div class="normativeHead"><a name="definition_conformance_target_identifier"></a>[Definition: <dfn>conformance target identifier</dfn>]</div><div class="sub"><p>As defined by <a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a>:</p><blockquote><p>An internationalized resource identifier <a href="#RFC3987-IRI" class="ref">[RFC 3987 IRI]</a> that uniquely identifies a conformance target.</p></blockquote></div></div><p>It will also be useful to define <a name="d3e1019"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_MPD_class"></a>[Definition: <dfn>MPD class</dfn>]</div><div class="sub"><p>A <a name="d3e1027"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> to which a given <a name="d3e1030"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> claims to conform. The <a name="d3e1033"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> of an <a name="d3e1036"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> is established by <a href="#rule_5-9">Rule 5-9, <em>MPD Class Determined by Conformance Target Identifier in <code>c:mpdClassURIList</code></em>, below</a>.</p></div></div></div><div class="section"><div class="heading"><a name="CT-MPD"></a><a name="section_3.2"></a>3.2. MPD Conformance Targets</div><p>This specification establishes two primary <a name="d3e1053"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> <a name="d3e1056"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a>: <a name="d3e1059"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> and <a name="d3e1062"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a>.</p><p>An <a name="d3e1068"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> may be constructed manually, but it is far more efficient to generate an MPD entirely or in part using NIEM-aware software tools. The existence of a <a name="d3e1071"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> <a name="d3e1074"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> has several advantages:</p><ul><li>Facilitates the existence of many incremental states from start to finish that are checkpoints for well-formedness.</li><li>Enables multiple paths to completion; no single pre-determined sequence of rule applications is required.</li><li>Provides tool developers with the flexibility to construct an <a name="d3e1091"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> incrementally in many different sequences.</li><li>Avoids a need to build a complete <a name="d3e1098"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> before automated correctness checks can be applied (since well-formedness can be checked at many stages of development).</li><li>Facilitates the interoperability and use of multiple tools that can export/import a <a name="d3e1105"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a>.</li><li>A <a name="d3e1113"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> is a basis for consistency across all <a name="d3e1116"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> classes.</li></ul><p>Because an MPD is always a directory tree, for the purpose of transporting, up/downloading, and archiving for long term storage, an MPD is packaged as a <a name="d3e1123"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_ZIP_file"></a>[Definition: <dfn>ZIP file</dfn>]</div><div class="sub"><p>As defined by <a href="#PKZIP" class="ref">[PKZIP]</a>, which states that it defines:</p><blockquote><p>... a cross-platform, interoperable file storage and transfer format ... used to aggregate, compress, and encrypt files into a single interoperable container.</p></blockquote></div></div><div class="section"><div class="heading"><a name="CT-MPD-CT"></a><a name="section_3.2.1"></a>3.2.1. The Model Package Description Conformance Target</div><p>The concept of <a name="d3e1148"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> provides a common framework for classes of NIEM file sets, each with a specific purpose. A NIEM <em>release</em> is a harmonized <a name="d3e1154"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> set that defines and declares all content for a single (major, minor, or micro) version of NIEM (See <a href="#NIEM-HLVA" class="ref">[NIEM High-Level Version Architecture 3.0]</a>). A <em>core supplement</em> is a special type of release. It is a <a name="d3e1163"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> set of additive changes that append data components to the core of a NIEM <em>release</em> without modifying the original <em>niem-core</em> schema document. A <em>domain update</em> is a <a name="d3e1175"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> set that represents changes to one or more domains in a NIEM release. An <em>Enterprise Information Exchange Model</em> (EIEM) is a <a name="d3e1182"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set that may contain one or more <a name="d3e1185"></a><a href="#definition_subset_schema_document"><span class="termRef">subset schema documents</span></a>, <a name="d3e1188"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema documents</span></a>, and <a name="d3e1191"></a><a href="#definition_external_schema_document"><span class="termRef">external schema documents</span></a> that are employed to construct IEPDs.</p><p>All MPDs share several commonalities; each MPD:</p><ul><li>Is a set of <a name="d3e1203"></a><a href="#definition_artifact"><span class="termRef">artifacts</span></a>, whose principal content is <a name="d3e1206"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a> (XSD), the purpose for which is to define and declare reusable <a name="d3e1209"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> for information exchanges or to define the exchanges themselves.</li><li>Requires a self-documenting <code>mpd-catalog.xml</code> artifact containing metadata and a listing of its key artifacts. This artifact establishes identification metadata, <a name="d3e1219"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a>, purpose, general content, lineage, and other metadata.</li><li><p>Requires the following metadata:</p><ul><li>Uniform Resource Identifier (URI) (See <a href="#section_5.2.4.1">Section 5.2.4.1, <em>MPD URI Scheme (<code>c:mpdURI</code>)</em>, below</a>)</li><li>Name (See <a href="#section_5.2.1">Section 5.2.1, <em>MPD Name Syntax (<code>c:mpdName</code>)</em>, below</a>)</li><li>Version number (See <a href="#section_5.2.3">Section 5.2.3, <em>MPD Version Numbering Scheme (<code>c:mpdVersionID</code>)</em>, below</a>)</li><li>The <a name="d3e1250"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> <code>http://reference.niem.gov/niem/specification/model-package-description/3.0/#MPD</code> (See <a href="#section_5.2.2">Section 5.2.2, <em>MPD Class (<code>c:mpdClassURIList</code>)</em>, below</a>)</li></ul></li><li>Contains a copy of (not just URLs or references to) all schema documents needed to validate any <a name="d3e1264"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> class it defines.</li><li>May contain optional alternate representations in addition to XML Schema (e.g., generic diagram, UML/XMI, database format, spreadsheet, etc.).</li><li>May contain miscellaneous other documentation or file artifacts for assisting with usage or implementation.</li></ul><div class="box"><div class="normativeHead"><a name="definition_model_package_description"></a>[Definition: <dfn>model package description</dfn>]</div><div class="sub"><p>A <a name="d3e1282"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> is a set of <a name="d3e1285"></a><a href="#definition_artifact"><span class="termRef">artifacts</span></a> (possibly in a <a name="d3e1288"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a>) that:</p><ul><li>includes a set of logically cohesive W3C XML Schema documents and other supporting files that represent one or more reusable or implementable XML information models, and</li><li>has an <a name="d3e1301"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> of <code>http://reference.niem.gov/niem/specification/model-package-description/3.0/#MPD</code>, and</li><li>adheres to all the rules within this specification for the <a name="d3e1311"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> <a name="d3e1314"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a>.</li></ul><p>This term may be abbreviated <q>MPD</q>. Rules specifying this conformance target use the applicability code <q>WF-MPD</q>.</p></div></div><p>The schemas and other files within a <a name="d3e1331"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> are built on other specifications, including:</p><ul><li><a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a></li><li><a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a></li><li><a href="#NIEM-Conformance" class="ref">[NIEM Conformance 3.0]</a></li></ul><p>The following rule applies to all MPDs:</p><div class="rule-section"><div class="heading"><a name="r-ct-mpd"></a><a name="rule_3-1"></a>Rule 3-1. MPD Conformance Target Identifier</div><div class="box"><div class="normativeHead">[Rule 3-1] (WF-MPD) (Constraint)</div><p>An <a name="d3e1363"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> MUST have an <a name="d3e1366"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> of <code>http://reference.niem.gov/niem/specification/model-package-description/3.0/#MPD</code>.</p></div></div><p>A <a name="d3e1377"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> satisfies the need for a set of <a name="d3e1380"></a><a href="#definition_artifact"><span class="termRef">artifacts</span></a> (or a <a name="d3e1383"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a>) with an <a name="d3e1386"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> that validates to the MPD catalog schema, and contains no broken links to local artifacts it references. This definition enables a developer to build an <a name="d3e1389"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> by iteratively adding artifacts and expanding the MPD catalog to reference them.</p><p>Most rules in this <a name="d3e1395"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> specification are applicable to a <a name="d3e1398"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> <a name="d3e1401"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a>. Rules for this conformance target are less concerned with the correct use of NIEM and completeness, and more concerned with proper format, proper structure (e.g., link integrity), and correct use of artifacts. Adherence to these rules can produce an <a name="d3e1404"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> that is well-formed (WF-MPD), but that does not necessarily satisfy all general and specific requirements for an <a name="d3e1407"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. The following rule ensures that a complete <a name="d3e1411"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> adheres to all applicable NIEM conformance rules.</p></div><div class="section"><div class="heading"><a name="CT-IEPD"></a><a name="section_3.2.2"></a>3.2.2. IEPD Conformance Target</div><div class="box"><div class="normativeHead"><a name="definition_information_exchange_package_documentation"></a>[Definition: <dfn>information exchange package documentation</dfn>]</div><div class="sub"><p>An <a name="d3e1426"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> is a <a name="d3e1429"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> that:</p><ul><li>has an <a name="d3e1438"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> of <code>http://reference.niem.gov/niem/specification/model-package-description/3.0/#IEPD</code>, and</li><li>conforms to all the rules in this specification for the conformance target <a name="d3e1448"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (i.e., applicability code <q>IEPD</q>).</li></ul><p>This term may be abbreviated <q>IEPD</q>. Rules specifying this conformance target use the applicability code <q>IEPD</q>.</p></div></div><p>Because it is an <a name="d3e1468"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>, an IEPD must also conform to all WF-MPD rules.</p><p>An <a name="d3e1474"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> has one or more <code>c:IEPConformanceTarget</code> elements within its <a name="d3e1480"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, each defining a class of <a name="d3e1483"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange packages</span></a> (IEP), in which each <a name="d3e1486"></a><a href="#definition_information_exchange_package"><span class="termRef">IEP</span></a> is an <a name="d3e1490"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_instance_XML_document"></a>[Definition: <dfn>instance XML document</dfn>]</div><div class="sub"><p>An <a name="d3e1498"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> is an <a name="d3e1501"></a><a href="#definition_XML_document"><span class="termRef">XML document</span></a> that is valid against an <a name="d3e1504"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>. An <a name="d3e1507"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> is said to be an instance of the schema to which it validates.</p></div></div><p>An IEPD also defines one or more data exchanges, one per <a name="d3e1514"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a>. Each data exchange occurs at runtime in the form of an <a name="d3e1517"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a>, which is an <a name="d3e1520"></a><a href="#definition_information_exchange_package"><span class="termRef">IEP</span></a> that conforms to the rules defined in the <code>c:IEPConformanceTarget</code> element.</p><p>An <a name="d3e1530"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> contains a NIEM-conformant XML schema document set that may include portions of a NIEM core schema document (and supplements), portions of NIEM Domain schema documents (and updates), and enterprise-specific or IEPD-specific <a name="d3e1533"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema documents</span></a>. The <a name="d3e1536"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a> contained in an <a name="d3e1539"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> work together to define one or more classes of <a name="d3e1542"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML documents</span></a> that consistently encapsulate data for meaningful information exchanges. Any <a name="d3e1546"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> that is valid for the <a name="d3e1549"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set and that satisfies the conditions of the <a name="d3e1552"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a> is a member of that <a name="d3e1555"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a> class (or IEP Class).</p><p><a name="d3e1560"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a> in an <a name="d3e1563"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> conform to the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> and may use or extend data component definitions drawn from NIEM. An <a name="d3e1568"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> may also incorporate and use XML schema documents from other standards that do not conform to NIEM. (See <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> for details.) An <a name="d3e1573"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> consists of a set of artifacts (XML schema documents, documentation, sample instance XML documents, etc.) that together define and describe one or more implementable data exchanges. An <a name="d3e1577"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> should contain all materials necessary to:</p><ul><li>Understand information exchange context, content, semantics, and structure.</li><li>Create and validate XML documents defined by the <a name="d3e1590"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>, and used for information exchanges.</li><li>Identify the lineage of the <a name="d3e1597"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> itself and optionally its artifacts.</li></ul><p>(The terms <a name="d3e1604"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange package</span></a> (IEP) and <a name="d3e1607"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a> (IEPD) first appeared in [FEA Data Reference Model 1.0] and [GJXDM IEPD Guidelines 1.1], respectively.)</p><p>The following rule specifies an <a name="d3e1613"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> as a <a name="d3e1616"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a>:</p><div class="rule-section"><div class="heading"><a name="rule-mpd-class-iepd"></a><a name="rule_3-2"></a>Rule 3-2. MPD with MPD class of IEPD is an IEPD</div><div class="box"><div class="normativeHead">[Rule 3-2] (MPD) (Constraint)</div><p>A <a name="d3e1629"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> with an <a name="d3e1632"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> of <code>http://reference.niem.gov/niem/specification/model-package-description/3.0/#IEPD</code> MUST be an <a name="d3e1638"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a>.</p></div></div><p>The following rule is applicable to all IEPDs:</p><div class="rule-section"><div class="heading"><a name="r-ct-iepd"></a><a name="rule_3-3"></a>Rule 3-3. IEPD Conformance Target Identifier</div><div class="box"><div class="normativeHead">[Rule 3-3] (IEPD) (Constraint)</div><p>An <a name="d3e1657"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> MUST have the <a name="d3e1660"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> <code>http://reference.niem.gov/niem/specification/model-package-description/3.0/#IEPD</code> as a value of its <code>c:mpdClassURIList</code> attribute.</p></div></div><p>How to declare validity constraints for one or more IEP classes within an <a name="d3e1674"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> will be covered in more depth in <a href="#section_5.6">Section 5.6, <em>Defining Information Exchange Packages</em>, below</a>.</p><p>Note that NIEM conformance does not require that an IEP be native XML on the transmission medium. A NIEM-conformant IEP may be encrypted, compressed (e.g., using <a href="#PKZIP" class="ref">[PKZIP]</a>, <a href="#W3-EXI" class="ref">[EXI Format 1.0]</a>, etc.), or wrapped within an envelope mechanism, as long as its original native XML form can be retrieved by the receiver.</p><p>Common to <a name="d3e1689"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> MPDs:</p><ul><li>Requires a <code>readme</code> artifact.</li><li>Its <a name="d3e1705"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set defines data exchanges (<a name="d3e1708"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange packages</span></a> or IEPs).</li><li>Can contain subset, extension, external, or constraint schema documents.</li><li>Must declare at least one or more <a name="d3e1719"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance targets</span></a>.</li><li>Contains sample instance XML documents that validate to XML schema document set.</li></ul></div><div class="section"><div class="heading"><a name="CT-IEP"></a><a name="section_3.2.3"></a>3.2.3. IEP Conformance Targets</div><p>In NIEM, an information exchange instance is an <a name="d3e1737"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange package</span></a> (IEP). An IEP is also a <a name="d3e1740"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> and in that connotation is defined as follows:</p><div class="box"><div class="normativeHead"><a name="definition_information_exchange_package"></a>[Definition: <dfn>information exchange package</dfn>]</div><div class="sub"><p>An XML <a name="d3e1748"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> that conforms to the conformance target defined by a <code>c:IEPConformanceTarget</code> element in the <a name="d3e1754"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> of a <a name="d3e1757"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a>.</p><p>This term may be abbreviated <q>IEP</q>. Rules specifying this conformance target use the applicability code <q>IEP</q>.</p></div></div><p>The definition of an <a name="d3e1773"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange package</span></a> conformance target does not ensure that an <a name="d3e1776"></a><a href="#definition_information_exchange_package"><span class="termRef">IEP</span></a> uses NIEM-defined elements for its information content. That is the function of the <a name="d3e1779"></a><a href="#definition_full_NIEM_information_exchange_package"><span class="termRef">full NIEM IEP</span></a> <a name="d3e1782"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a>, defined as follows:</p><div class="box"><div class="normativeHead"><a name="definition_full_NIEM_information_exchange_package"></a>[Definition: <dfn>full NIEM information exchange package</dfn>]</div><div class="sub"><p>An <a name="d3e1790"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange package</span></a> that satisfies all the validity constraints for its class as defined by a <a name="d3e1793"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a>, and that has an XML document element that is declared in either a NIEM reference or extension schema document.</p><p>This term may be abbreviated <q>full NIEM IEP</q>. Rules specifying this conformance target use the applicability code <q>FN-IEP</q>.</p></div></div></div><div class="section"><div class="heading"><a name="CT-Artifact"></a><a name="section_3.2.4"></a>3.2.4. Artifact Conformance Targets</div><p>Conformance targets that correspond to artifacts internal to an <a name="d3e1815"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> include:</p><ul><li><a name="d3e1823"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a> (rule applicability code: Schema-subset)</li><li><a name="d3e1829"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> (rule applicability code: MPD-catalog)</li><li><a name="d3e1835"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> (rule applicability code: XML-catalog)</li></ul></div></div><div class="section"><div class="heading"><a name="CT-Codes"></a><a name="section_3.3"></a>3.3. Rule Applicability Codes for Conformance Targets</div><p>The table below lists the codes that represent standard <a name="d3e1850"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a> used in this specification and that appear in the applicability attribute for each rule.</p><div class="table"><div class="caption"><a name="table_3-1"></a>Table 3-1: Rule Applicability Codes</div><table><thead><tr><th>Conformance Target</th><th>Rule Applicability Code</th></tr></thead><tbody><tr><td><a name="d3e1870"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a></td><td>WF-MPD</td></tr><tr><td><a name="d3e1879"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">information exchange package documentation</span></a></td><td>IEPD</td></tr><tr><td><a name="d3e1888"></a><a href="#definition_information_exchange_package"><span class="termRef">information exchange package</span></a></td><td>IEP</td></tr><tr><td><a name="d3e1897"></a><a href="#definition_full_NIEM_information_exchange_package"><span class="termRef">full NIEM IEP</span></a></td><td>FN-IEP</td></tr><tr><td><a name="d3e1906"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a></td><td>Schema-subset</td></tr><tr><td><a name="d3e1915"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a></td><td>MPD-catalog</td></tr><tr><td><a name="d3e1924"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a></td><td>XML-catalog</td></tr></tbody></table></div></div></div><div class="section"><div class="heading"><a name="MPD-XML-Schema-Artifacts"></a><a name="section_4"></a>4. MPD XML Schema Document Artifacts</div><p><a name="d3e1941"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> artifacts are the essential content of MPDs because they normatively define and declare <a name="d3e1944"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>. The purpose of an <a name="d3e1947"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> is determined by the <a name="d3e1950"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> or document set(s) it contains; furthermore, each <a name="d3e1953"></a><a href="#definition_XML_schema_document"><span class="termRef"> XML schema document</span></a> may have a different purpose. The <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> addresses some schema documents as <a name="d3e1959"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a> including reference schema documents, extension schema documents, and schema document sets. Each conformance target may adhere to a different (though possibly overlapping) set of conformance rules. Consult the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> for these rules. NIEM also employs a special technique that relies on <a name="d3e1964"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document sets</span></a> (See <a href="#section_4.5">Section 4.5, <em>Constraint Schema Document Sets</em>, below</a>).</p><p>The following subsections define each type of NIEM schema document and document set, and identify the types of MPDs that contain them.</p><div class="section"><div class="heading"><a name="Reference-Schemas"></a><a name="section_4.1"></a>4.1. Reference Schema Documents</div><p>This section generally applies to NIEM releases and their associated core supplements, and domain updates. Though not common, it is also valid to use a <a name="d3e1979"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> or document set within an <a name="d3e1982"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. The <a name="d3e1985"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> and <a name="d3e1988"></a><a href="#definition_reference_schema_document_set"><span class="termRef">reference schema document set</span></a> were defined earlier in <a href="#section_2.8">Section 2.8, <em>Reference Schema Documents</em>, above</a>.</p><p>A NIEM <a name="d3e1996"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a> is intended to be the authoritative definition schema document for a NIEM target namespace. All NIEM releases, associated core supplements, and domain updates are standalone sets of namespaced reference schema documents. NIEM content governance bodies have reviewed and attempted to harmonize each set to the extent possible by refactoring as needed. This means that most (not necessarily all) types and properties are semantically unique (i.e., multiple versions of semantically identical types or properties do not exist within a set).</p><p>As authoritative definitions, NIEM reference schema document sets satisfy more rigorous documentation requirements. The <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> requires that each type definition, and element and attribute declaration in a reference schema document contain an <code>xs:annotation</code> element that defines its semantic meaning.</p><p>Typically reference schema documents contain <a name="d3e2010"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> with the most relaxed cardinality (zero to unbounded). However, this is not an absolute requirement. If necessary, cardinality in reference schema documents may be constrained to model reality. For example, in NIEM 3.0 a <code>nc:Location2DGeospatialCoordinateType</code> contains both a <code>nc:GeographicCoordinateLatitude</code> element and a <code>nc:GeographicCoordinateLongitude</code> element. Each of these elements has cardinality <code>minOccurs="1"</code> and <code>maxOccurs="1"</code>. Any other cardinality for these elements has no meaning. On the other hand, one might claim that NIEM should constrain <code>nc:PersonType</code> to a single occurrence of the element <code>nc:PersonBirthDate</code>. Every person has one and only one birth date. Unfortunately, also in reality, criminal persons often present multiple identities with multiple birth dates; and so the capability to represent such is an important data requirement for NIEM.</p></div><div class="section"><div class="heading"><a name="Subset-Schemas"></a><a name="section_4.2"></a>4.2. Subset Document Schemas</div><div class="section"><div class="heading"><a name="Basic-Subset-Concepts"></a><a name="section_4.2.1"></a>4.2.1. Basic Subset Concepts</div><p>A NIEM <em>schema document subset</em> is a set of XML schema documents that constitutes a reduced set of components derived from a NIEM reference schema document or document set associated with a given numbered release or domain update.</p><div class="box"><div class="normativeHead"><a name="definition_schema_document_subset"></a>[Definition: <dfn>schema document subset</dfn>]</div><div class="sub"><p>An XML schema document set based on a reference schema document set intended to ensure that any <a name="d3e2056"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> valid to the schema document subset is also valid to the reference schema document set.</p></div></div><p>The primary purpose for a schema document subset is to reduce and constrain the scope and size of a full NIEM reference schema document set for use within an <a name="d3e2063"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. A schema document subset is derived from a reference schema document set (such as a NIEM release) by applying subset operations (See <a href="#section_4.2.2">Section 4.2.2, <em>Constructing a Schema Document Subset</em>, below</a>). Also, note that employing a subset of a reference schema document set within an <a name="d3e2068"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is optional; it is completely valid to reuse NIEM reference schema documents as-is within IEPDs.</p><p>The fundamental rule for a valid NIEM schema document subset is formally stated follows:</p><div class="rule-section"><div class="heading"><a name="r-subset"></a><a name="rule_4-1"></a>Rule 4-1. Fundamental NIEM Subset Rule</div><div class="box"><div class="normativeHead">[Rule 4-1] (Schema-subset) (Constraint)</div><p>A schema document subset (<code>$SUBSET</code>) for a given reference schema document set (<code>$REFERENCE</code>) MUST be defined such that for all instance XML documents (<code>$XML</code>), where <code>$XML</code> is valid to <code>$SUBSET</code>, <code>$XML</code> is valid to <code>$REFERENCE</code>.</p></div></div><p>A <a name="d3e2111"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a> is composed of <a name="d3e2114"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a>. A <a name="d3e2117"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a> can essentially be a <a name="d3e2120"></a><a href="#definition_reference_schema_document_set"><span class="termRef">reference schema document set</span></a> (i.e., a NIEM release) that has been modified by applying subset operations to support business requirements represented in an <a name="d3e2123"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. A subset derived from a reference schema document set may differ from that reference such that its content has been reduced and/or constrained.</p><div class="box"><div class="normativeHead"><a name="definition_subset_schema_document"></a>[Definition: <dfn>subset schema document</dfn>]</div><div class="sub"><p>An XML schema document that meets all of the following criteria:</p><ul><li>It is built from a reference schema document set where one or more reference schema documents have been substituted by corresponding subset schema documents.</li><li>It is built from a reference schema document by applying subset operations to the XML schema statements in a reference schema document.</li><li>It is explicitly designated as a subset schema document. This is accomplished by declaration in the relevant MPD catalog or by a tool-specific mechanism outside the subset schema document.</li><li>It has a target namespace previously defined by a reference schema document. That is, it does not provide original definitions and declarations for schema components, but instead provides an alternate schema representation of components that are defined by a reference schema document.</li><li>It does not alter the business semantics of components in its namespace. The reference schema document defines these business semantics.</li><li>It is intended to express the limited vocabulary necessary for an <a name="d3e2158"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> and to support XML Schema validation for an <a name="d3e2161"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>.</li></ul></div></div></div><div class="section"><div class="heading"><a name="Constructing-Subsets"></a><a name="section_4.2.2"></a>4.2.2. Constructing a Schema Document Subset</div><p>This section is non-normative. Use the subset operations in this section with caution.</p><p>NIEM subset operations are essentially reduction operations that remove or constrain portions of a reference schema document set, thereby building a profile of the set. They do not expand the scope (i.e., relax constraints) or change the semantics of reference schema document set content.</p><p>Because NIEM adopts an optional and over-inclusive data representation strategy, most elements in a NIEM reference schema have zero to unbounded cardinality. So, elements with cardinality <code>minOccurs="0"</code> are optional and may be omitted from a subset schema document if not needed for business reasons. It is also valid to constrain element cardinality within a subset schema document, as long as doing so does not break the subset relationship with the reference schema document set. For example, a reference schema document element with cardinality (<code>minOccurs="0"</code>, <code>maxOccurs="unbounded"</code>) may be constrained to (<code>0</code>,<code>1</code>) or (<code>1</code>,<code>1</code>) in a subset schema document. However, if a reference schema document element’s cardinality is (<code>1</code>,<code>unbounded</code>), it may not be constrained to (<code>0</code>,<code>1</code>) since this breaks the subset relationship. The interval (<code>0</code>,<code>1</code>) is not contained within, and instead, overlaps the interval (<code>1</code>,<code>unbounded</code>).</p><p>The following list describes valid subset operations that are considered non-normative and informative only. In most cases, they can be applied to a schema document set and result in a corresponding <a name="d3e2232"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a>. However, it is possible to apply them in combinations that will break the subset relationship, or even result in invalid schemas. Apply these operations carefully and thoughtfully!</p><ol><li>Remove an XML comment.</li><li>Remove an <code>xs:annotation</code> and its children <code>xs:documentation</code> and <code>xs:appinfo</code>.</li><li>Increase the value of an <code>xs:element/@minOccurs</code> as long as it remains less than or equal to its corresponding <code>@maxOccurs</code> value).</li><li>Decrease the value of an <code>xs:element/@maxOccurs</code> as long as it remains greater than or equal to its corresponding <code>@minOccurs</code> value.</li><li>Remove an <code>xs:element</code> if its <code>@minOccurs="0"</code>.</li><li>Remove an <code>xs:complexType</code> or <code>xs:simpleType</code> if not supporting an <code>xs:element</code> or <code>xs:attribute</code> declaration, or another <code>xs:complexType</code> or <code>xs:simpleType</code> definition.</li><li>Remove an <code>xs:attribute</code> with <code>@use="optional"</code> from an <code>xs:complexType</code>.</li><li>Change an <code>xs:attribute/@use="optional"</code> to <code>@use="prohibited"</code>.</li><li>Change an <code>xs:attribute/@use="optional"</code> to <code>@use="required"</code>.</li><li>Remove an <code>xs:element</code> declaration if it is not supporting an element use.</li><li>Remove an <code>xs:enumeration</code> from an <code>xs:simpleType</code> as long as it is not the only remaining <code>xs:enumeration</code>.</li><li>Remove an element with representation term <code>AugmentationPoint</code> if it is not being used for element substitution.</li><li>Add or apply a constraining facet to an <code>xs:simpleType</code>.</li><li>Remove an <code>xs:import</code> and its associated schema document if the schema document is not used within the document set.</li><li>Change a concrete <code>xs:element</code> declaration to <code>@abstract="true"</code>.</li><li>Change an <code>xs:element/@nillable="true"</code> to <code>@nillable="false"</code>.</li><li>Substitute an <code>xs:element/@substitutionGroup</code> member for its associated substitution group head.</li><li>Substitute a composition of <code>xs:element/@substitutionGroup</code> members for their associated substitution head (subject to cardinality and unique particle attribution (UPA) constraints <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/#cos-nonambig"> § <q>Schema Component Constraint: Unique Particle Attribution</q></a>). The composition is an ordered sequence of the <code>@substitutionGroup</code> member elements. Each substitute element may bound its cardinality such that the total cardinality sum is within the bounds of the <code>@substitutionGroup</code> head cardinality. Order and cardinality of the replacement sequence must conform to XML Schema UPA constraints.</li><li>Replace a wildcard (subject to cardinality, UPA, and namespace constraints) with a composition, i.e., an ordered sequence of elements. Each element may further bound cardinality within the bounds of the wildcard. Order and cardinality of replacement sequence must conform to XML Schema UPA constraints. The namespace of each element must conform with namespace constraints specified by the wildcard (if any).</li></ol></div></div><div class="section"><div class="heading"><a name="Extension-Schemas"></a><a name="section_4.3"></a>4.3. Extension Schema Documents</div><div class="box"><div class="normativeHead"><a name="definition_extension_schema_document"></a>[Definition: <dfn>extension schema document</dfn>]</div><div class="sub"><p>As defined by <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>:</p><blockquote><p>An <a name="d3e2456"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> that is intended to provide definitions of <a name="d3e2459"></a><a href="#definition_schema_component"><span class="termRef">schema components</span></a> that are intended for reuse within a more narrow scope than those defined by a <a name="d3e2462"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a>. It is a <a name="d3e2465"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> of <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>. An extension schema document MUST conform to all rules of <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> that apply to this conformance target. An XML document with a <a name="d3e2473"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> of <code>http://reference.niem.gov/niem/specification/naming-and-design-rules/3.0/#ExtensionSchemaDocument</code> MUST be an extension schema document.</p></blockquote></div></div><p>In general, an <a name="d3e2484"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema document</span></a> contains components that use or are derived from the components in reference schema documents. It is intended to express additional vocabulary above and beyond the vocabulary available from reference schema documents.</p><p>A developer who determines that NIEM is missing elements required for a given information exchange has several options for providing the missing elements. Using rules and techniques defined in the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>:</p><ul><li>Extend an existing NIEM <a name="d3e2498"></a><a href="#definition_data_component"><span class="termRef">data component</span></a> (if possible).</li><li>Augment an existing NIEM data type (through NIEM Type Augmentation).</li><li>Build a new NIEM-conformant data component.</li><li>Employ NIEM adapter types for components from an external standard that does not conform to NIEM.</li></ul><p>A NIEM extension schema document may contain <a name="d3e2517"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> built from any of the options above. Employment of extension schema documents in an <a name="d3e2520"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is entirely optional.</p><p>Multiple extension schema documents are allowed in a single <a name="d3e2527"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. Developers will likely want to reuse many of their extension schema documents in other IEPDs. Therefore, the best practice for extension is to group all <a name="d3e2530"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> designed to be reused into one extension schema document or document set, and group IEPD-specific <a name="d3e2533"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> into another. Then the reusable extension components can be more easily redeployed in other IEPDs as needed.</p><p>Extension schema documents generally contain new <a name="d3e2539"></a><a href="#definition_data_component"><span class="termRef">data component</span></a> declarations that may (though not necessarily) be derived from or reference existing NIEM <a name="d3e2542"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>. This being the case, reference schema documents do not exist for new <a name="d3e2545"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> found within extension schema documents. Therefore, extension schema documents must satisfy the more rigorous documentation requirements of reference schema documents. Per the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>, the definition or declaration of each new <a name="d3e2550"></a><a href="#definition_data_component"><span class="termRef">data component</span></a> in an extension schema document must include an <code>xs:annotation</code> element that provides its semantics and NIEM-specific relationships.</p></div><div class="section"><div class="heading"><a name="External-Schemas"></a><a name="section_4.4"></a>4.4. External Schema Documents</div><div class="box"><div class="normativeHead"><a name="definition_external_schema_document"></a>[Definition: <dfn>external schema document</dfn>]</div><div class="sub"><p>As defined by <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>:</p><blockquote><p>Any <a name="d3e2575"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> that is not one of:</p><ul><li>a <a name="d3e2584"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a>,</li><li>an <a name="d3e2591"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema document</span></a>, or</li><li>an <a name="d3e2598"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> that has the <code>structures</code> namespace as its target namespace.</li></ul></blockquote></div></div><p>All <a name="d3e2610"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> classes may contain <em>external schema documents</em> that do not conform to NIEM. Data components declared and defined in external schema documents require NIEM <em>external adapter types</em> to identify the fact they do not conform to NIEM.</p><div class="box"><div class="normativeHead"><a name="definition_external_adapter_type"></a>[Definition: <dfn>external adapter type</dfn>]</div><div class="sub"><p>As defined by <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>:</p><blockquote><p>A NIEM-conformant type that adapts external components for use within NIEM. An external adapter type creates a new class of object that embodies a single concept composed of external components. External adapter types are defined in NIEM-conformant schemas.</p></blockquote></div></div><p>Refer to the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> for details about external schema documents, external adapter types, and the rules defining their use.</p></div><div class="section"><div class="heading"><a name="Constraint-Schemas"></a><a name="section_4.5"></a>4.5. Constraint Schema Document Sets</div><div class="box"><div class="normativeHead"><a name="definition_constraint_schema_document_set"></a>[Definition: <dfn>constraint schema document set</dfn>]</div><div class="sub"><p>A set of related constraint schema documents that work together; for example, a constraint schema document set could be built by adding constraints to a schema document subset.</p></div></div><p>A <a name="d3e2652"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a> is an <a name="d3e2655"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set that is used to express business rules for a class of <a name="d3e2658"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML documents</span></a>; it is not intended to provide definitions for the semantics of the individual components it contains. Instead, a constraint schema document set uses the XML Schema Definition Language to add constraints to components defined or declared by other schema documents, usually a <a name="d3e2661"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a>; but they can be applied to <a name="d3e2664"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema documents</span></a> as well.</p><p>A <a name="d3e2670"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a> validates additional constraints imposed on an <a name="d3e2673"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> only after it is known to be NIEM-conformant (i.e., has been validated with a <a name="d3e2676"></a><a href="#definition_reference_schema_document_set"><span class="termRef">reference schema document set</span></a>, or <a name="d3e2679"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a>, and applicable <a name="d3e2682"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema documents</span></a>).</p><p>To use a <a name="d3e2688"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a> to tighten constraints on an IEP, a two-pass validation technique is employed. In the first pass, an IEP is validated against the schema document subset and extension schema documents. This pass ensures that IEP semantics and structure conform to the NIEM model and <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>. In the second pass, an IEP is checked against a constraint schema document set, which may contain constrained versions of the <a name="d3e2693"></a><a href="#definition_subset_schema_document"><span class="termRef">subset schema documents</span></a> and <a name="d3e2696"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema documents</span></a>. This pass ensures that the IEP also satisfies the additional constraints (i.e., business rules that the first pass was unable to validate). A constraint schema document set need not validate constraints that are applied by other schema documents.</p><p>Constraint schema document sets are generally useful when it is necessary to impose restrictions that are more complex than cardinality. If only cardinality restrictions are needed, then it is easier and more efficient to set these directly in the subset schema documents and avoid the use of a constraint schema document set. Otherwise, a constraint schema document set may be necessary.</p><p>Use of a constraint schema document set is one option for tightening constraints on NIEM IEPs beyond what NIEM itself provides. This particular technique uses the XML Schema Definition Language <a href="#W3-XML-Schema-Datatypes" class="ref">[W3C XML Schema Part 2 Datatypes]</a>, <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>. NIEM also allows other methods that do not use XML Schema. For example, the use of <a href="#ISO-Schematron" class="ref">[ISO Schematron]</a> is the preferred method for applying business rules. However, other constraint or business rule methods are also acceptable. That said, at this time there are no normative rules for how these business rule techniques should be employed in NIEM IEPDs. Therefore, if other techniques are used, it is a developer responsibility to incorporate appropriate artifacts and clear documentation.</p><p>Note that one disadvantage to use of constraint schema document sets is that they do not provide clear visibility or explanation of the constraints they enforce; nor do they provide clear validation failure messages. On the other hand, a standard business rule language such as <a href="#ISO-Schematron" class="ref">[ISO Schematron]</a> provides facilities for better understanding of the business rules, their intent, and error handling of failures.</p><p>A common practice for creating an <a name="d3e2720"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> constraint schema document set is to start with a valid NIEM schema document subset and modify it to further restrict the class of instance XML documents (IEPs) that will validate with this constraint schema set. However, an extension schema document can also be used to derive a constraint schema document. Using this technique, the namespace of that schema document would reuse the target namespace of the schema document from which it is derived.</p><p>There is no restriction on the number of constraint schema document sets (and validation passes) that an <a name="d3e2726"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> can employ. As in other advanced situations, developers must clearly document their intentions for and use of multiple constraint schema document sets.</p><p>In general, constraint schema documents in a <a name="d3e2732"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a> have far fewer requirements than other classes of NIEM schema documents. Since they work in tandem with NIEM normative schema documents, these schema documents are allowed to use the XML Schema Definition language in any way necessary to express business rules. This means that to constrain instance XML documents, these schema document can employ XML Schema constructs that are not allowed in NIEM conformant schema documents.</p></div></div><div class="section"><div class="heading"><a name="MPD-Documentation-Artifacts"></a><a name="section_5"></a>5. MPD Documentation Artifacts</div><p>XML schema documents (and the schemas that result from them) are the essence of a NIEM <a name="d3e2747"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. However, a variety of documentation files may be incorporated into a NIEM <a name="d3e2750"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. One particular documentation file is required in every MPD: <code>mpd-catalog.xml</code>, the MPD catalog document. This file contains basic metadata, relationship and lineage data, <a name="d3e2756"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> specifications, and validation information.</p><p>A <a name="d3e2762"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> (formerly known as a <em>master document</em>) is mandatory for IEPDs. IEPDs are often built by different developers, and may be registered into a repository for reuse by many other users, developers, and implementers; therefore, a minimal form of documentation is absolutely necessary. An <a name="d3e2768"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> readme file is the primary source and starting point for human readable documentation, and should reference (and describe) any other separate documentation artifacts. This requirement ensures that baseline documentation is consistently rooted in a clearly visible artifact within each <a name="d3e2771"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>.</p><p>The following subsections address these documentation artifacts and the concepts, metadata, and content each supports.</p><div class="section"><div class="heading"><a name="MPD-Catalog"></a><a name="section_5.1"></a>5.1. NIEM MPD Catalog</div><div class="box"><div class="normativeHead"><a name="definition_MPD_catalog_document"></a>[Definition: <dfn>MPD catalog document</dfn>]</div><div class="sub"><p>An <a name="d3e2786"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> that:</p><ul><li>conforms to all the rules in this specification for the conformance target <a name="d3e2795"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> (i.e., applicability code <q>MPD-catalog</q>), and</li><li><p>contains metadata describing:</p><ul><li>MPD unique identification</li><li><a name="d3e2814"></a><a href="#definition_conformance_target"><span class="termRef">Conformance targets</span></a></li><li>Basic characteristics and properties</li><li>Key artifacts and directory structure</li><li>Relationships to other MPDs and their artifacts</li></ul></li></ul><p>This term may be abbreviated <q>MPD-catalog</q>. Rules specifying this conformance target use the applicability code <q>MPD-catalog</q>.</p></div></div><p>Each <a name="d3e2843"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> may have somewhat different catalog requirements. The catalog metadata are formally defined by the XML Schema document in <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>. MPD catalog metadata are designed to be the minimal needed to facilitate human understanding, tool support, and machine processing. The metadata can support a number of <a name="d3e2848"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> uses and functions including (but not limited to):</p><ul><li>Identification of key artifacts</li><li>Generation of a hyperlinked content display using XSLT</li><li>Browsing and understanding of artifacts and their content</li><li>Automatic registration into a registry/repository</li><li>Search, discovery, retrieval of MPDs (through metadata and relationships)</li><li>Reuse of MPDs and their artifacts</li><li>Tracing and analysis of MPD lineage</li><li>General conformance and validation of the <a name="d3e2886"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> itself</li><li>Definition, identification, and validation of IEP conformance targets</li></ul><div class="rule-section"><div class="heading"><a name="r-wf-mpd"></a><a name="rule_5-1"></a>Rule 5-1. MPD Has an <code>mpd-catalog.xml</code> in its Root Directory</div><div class="box"><div class="normativeHead">[Rule 5-1] (WF-MPD) (Constraint)</div><p>Within its <a name="d3e2906"></a><a href="#definition_MPD_root_directory"><span class="termRef">root directory</span></a>, an <a name="d3e2909"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> MUST contain an <a name="d3e2912"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> artifact with name <code>mpd-catalog.xml</code>.</p></div></div><div class="rule-section"><div class="heading"><a name="r1-mpd-cat"></a><a name="rule_5-2"></a>Rule 5-2. MPD Catalog Document Valid to <code>mpd-catalog-3.0.xsd</code></div><div class="box"><div class="normativeHead">[Rule 5-2] (MPD-catalog) (Constraint)</div><p>An <a name="d3e2931"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> MUST be valid to <code>mpd-catalog-3.0.xsd</code> <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>.</p></div></div><p>This rule requires validation with <code>mpd-catalog-3.0.xsd</code>, which also imports a NIEM schema subset. So, validation of the <a name="d3e2948"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> must be done in the context of the catalog schema document, its associated NIEM subset, and <code>mpd-catalog.xml</code>. This does not require the <a name="d3e2954"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> to contain copies of the catalog schema document or the schema subset (since these are standard for all MPDs). However, a validation tool must have access to all three XML documents.</p><p>The XML schema documents required to validate an <a name="d3e2960"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> are available in the <a href="#NIEM-MPD-Toolkit" class="ref">[NIEM MPD Toolkit]</a>. Note that validators often require references to schemas and their imports. This may be done through a command line instruction or by adding a <code>schemaLocation</code> attribute to <code>xs:import</code> statements.</p><div class="section"><div class="heading"><a name="MPD-Catalog-TOC"></a><a name="section_5.1.1"></a>5.1.1. MPD Catalog as a Table of Contents</div><p>One function of the MPD catalog is to serve as a table of contents that identifies, locates, and classifies key artifacts and artifact sets. For that purpose, <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below,</a> provides a number of classifier elements for most common artifacts and artifact sets in MPDs. For other less common or generic artifacts two general classifiers exist: <code>c:Documentation</code> and <code>c:ApplicationInfo</code>. These elements loosely correspond to the meaning of the XML Schema <code>xs:annotation</code> child elements, <code>xs:documentation</code> and <code>xs:appinfo</code>. General visual, audio, and textual explanatory documentation should be classified as <code>c:Documentation</code>, while tool-specific artifacts (such as imports, exports, executables, etc.) should be classified as <code>c:ApplicationInfo</code>.</p><p>The classifier elements are designed to identify, categorize, and describe any artifacts and artifact sets (including its <a name="d3e3005"></a><a href="#definition_path_name"><span class="termRef">path name</span></a>, dependencies, and lineage). Employing XSLT, <code>mpd-catalog.xml</code> can be transformed into an <code>index.html</code> artifact that displays a hyperlinked MPD table of contents and metadata summary in a browser.</p><p>In general, only an <a name="d3e3017"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> would contain <code>c:Documentation</code> and <code>c:ApplicationInfo</code> artifacts. So, for an <a name="d3e3026"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>, a best practice is to use the <code>readme</code> artifact (i.e., the <a name="d3e3033"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> required in the <a name="d3e3036"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>) to reference <code>c:Documentation</code> and <code>c:ApplicationInfo</code> artifacts whether or not they have been classified in the MPD catalog.</p><p>An IEPD’s MPD catalog is not required to record all its artifacts. The <a name="d3e3050"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author decides which artifacts (both files and sets) are important enough to explicitly include in the MPD catalog. The author may choose to classify all, some, or none in the catalog.</p><p>The MPD catalog provides a supplement or an alternative to organizing <a name="d3e3056"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> artifacts and sets with a standard file directory. An author can use it to identify, classify, and describe particular artifacts or sets, instead of having to do so with only file names and directory structure. An author can also employ the guidance in <a href="#appendix_E">Appendix E, <em>Guidance for IEPD Directories (non-normative)</em>, below</a>.</p></div><div class="section"><div class="heading"><a name="Extending-an-MPD-Catalog"></a><a name="section_5.1.2"></a>5.1.2. Extending an MPD Catalog</div><p>An MPD catalog may be extended to accommodate new or additional metadata, artifact classifiers, or validity constraints that are not already defined in <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>.</p><p>To extend the MPD catalog, an <a name="d3e3074"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> author must provide both an XML catalog extension document (XML) and one or more MPD extension schema documents (XSD). The XML catalog extension identifies that one or more MPD catalog extensions are present, and resolves their namespaces to local URIs. The MPD catalog extension is a schema that defines and declares the new <a name="d3e3077"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> for metadata, classifiers, and/or constraints. Both general <a href="#NIEM-Conformance" class="ref">[NIEM Conformance 3.0]</a> and specific <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> conformance rules apply to these components. The XML catalog extension document must reside in the <a name="d3e3084"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>. The MPD extension schema documents may bear any file name and reside anywhere in the <a name="d3e3088"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. This is because the XML catalog is expected to <a name="d3e3091"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> all local URIs. MPD processing tools are expected to look for and recognize the XML catalog (that identifies MPD catalog extensions exist) by its file name.</p><p>The following rules specify the requirements for an MPD catalog extension XML catalog document:</p><div class="rule-section"><div class="heading"><a name="r1-mpd-cat-ext-xml-cat"></a><a name="rule_5-3"></a>Rule 5-3. MPD Catalog Extension XML Catalog Document in Root Directory</div><div class="box"><div class="normativeHead">[Rule 5-3] (MPD-catalog) (Constraint)</div><p>An MPD catalog extension XML catalog document MUST reside in the same relative directory as the <code>mpd-catalog.xml</code> artifact (normally in the <a name="d3e3110"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>)</p></div></div><div class="rule-section"><div class="heading"><a name="r2-mpd-cat-ext-xml-cat"></a><a name="rule_5-4"></a>Rule 5-4. MPD Catalog Extension XML Catalog Document Name Is <code>mpd-catalog-extension-xml-catalog.xml</code></div><div class="box"><div class="normativeHead">[Rule 5-4] (MPD-catalog) (Constraint)</div><p>An MPD catalog extension XML catalog document MUST bear the file name (and type) <code>mpd-catalog-extension-xml-catalog.xml</code>.</p></div></div><div class="rule-section"><div class="heading"><a name="r3-mpd-cat-ext-xml-cat"></a><a name="rule_5-5"></a>Rule 5-5. MPD Catalog Extension XML Catalog Document Resolves Namespaces to URIs</div><div class="box"><div class="normativeHead">[Rule 5-5] (MPD-catalog) (Constraint)</div><p>An MPD catalog extension XML catalog document MUST <a name="d3e3143"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> all MPD catalog schema extension document namespaces to the correct corresponding local URIs in the MPD.</p></div></div><p>So, when a processor identifies a file named <code>mpd-catalog-extension-xml-catalog.xml</code> in the <a name="d3e3154"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>, it can assume that it contains references to one or more MPD catalog extension schema documents that adhere to the following rules:</p><div class="rule-section"><div class="heading"><a name="r1-mpd-cat-ext-xsd"></a><a name="rule_5-6"></a>Rule 5-6. MPD Catalog Extension Schema Document Conforms to NDR Extension Rules</div><div class="box"><div class="normativeHead">[Rule 5-6] (MPD-catalog) (Constraint)</div><p>An MPD catalog extension schema document MUST conform to the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> extension schema conformance target rules.</p></div></div><div class="rule-section"><div class="heading"><a name="r2-mpd-cat-ext-xsd"></a><a name="rule_5-7"></a>Rule 5-7. MPD Catalog Schema and Its Extensions Conform to NDR Schema Set Rules</div><div class="box"><div class="normativeHead">[Rule 5-7] (MPD-catalog) (Constraint)</div><p>Within an MPD, the schema set formed by <code>mpd-catalog-3.0.xsd</code> and all MPD catalog extension schema documents MUST conform to the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> schema set conformance target rules.</p></div></div><p>Whether extending an MPD catalog with new metadata elements, artifact classifier elements, or validity constraint elements, <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below,</a> provides an abstract element as a substitution group head in each case. The user simply derives a new type (through extension or restriction), or reuses an existing type, then declares a new element (of that type), and identifies it with the appropriate substitution group. Whenever possible, the user should reuse types, elements, and attributes that are already defined/declared within the <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>.</p><p>If an MPD catalog schema document extension uses NIEM <a name="d3e3198"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> that are not already contained in the NIEM core subset provided with <a href="#NIEM-MPD-Toolkit" class="ref">[NIEM MPD Toolkit]</a>, then the additional components must be additive. In other words:</p><div class="rule-section"><div class="heading"><a name="r3-mpd-cat-ext-xsd"></a><a name="rule_5-8"></a>Rule 5-8. MPD Schema Document Extension Support Schemas Are Supersets of Spec Subsets</div><div class="box"><div class="normativeHead">[Rule 5-8] (MPD-catalog) (Constraint)</div><p>Subset schema documents provided to support an MPD schema document extension MUST be a superset of the subset schema documents provided with this specification to support the MPD catalog schema document.</p></div></div></div></div><div class="section"><div class="heading"><a name="Metadata-Concepts"></a><a name="section_5.2"></a>5.2. Metadata Concepts</div><p>The MPD catalog also contains both required and optional metadata for the <a name="d3e3225"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> and its artifacts and artifact sets. The following subsections specify the syntax, formats, and semantics for that metadata.</p><div class="section"><div class="heading"><a name="Name-Syntax"></a><a name="section_5.2.1"></a>5.2.1. MPD Name Syntax (<code>c:mpdName</code>)</div><p>An MPD’s official name is the value of the <code>c:mpdName</code> attribute owned by the <code>c:MPD</code> element in the MPD’s catalog document. This value is constrained by the regular expression pattern on <code>c:mpdName</code> within the MPD catalog schema <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>:</p><blockquote><p><code>[A-Za-z]([-_ ]?[A-Za-z0-9]+)*</code></p></blockquote><p>The regular expression above indicates that an MPD name:</p><ul><li>Begins with an alpha character (upper or lower case).</li><li>Ends with an alphanumeric character (upper or lower case).</li><li>May contain alphanumeric characters.</li><li>May contain single spaces, single dashes, and single underscores as separators.</li></ul><p><a name="d3e3283"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author’s often reuse the official <a name="d3e3288"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> name in metadata within the file name. Note that <code>c:mpdName</code> is of <code>xs:token</code> type and allows single spaces and upper case alpha characters. That said, be sure to consider differences in operating system or file system treatment of spaces and character case within file and directory names. (See <a href="#rule_7-5">Rule 7-5, <em>IEPD ZIP file Name Syntax</em>, below</a>.</p><p><code>c:mpdName</code> is not the same thing as the name of the file containing the MPD, described in <a href="#section_7.2">Section 7.2, <em>IEPD File Name Syntax</em>, below</a>.</p></div><div class="section"><div class="heading"><a name="mpdClass"></a><a name="section_5.2.2"></a>5.2.2. MPD Class (<code>c:mpdClassURIList</code>)</div><p>An <a name="d3e3318"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> is a <a name="d3e3321"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> to which the given <a name="d3e3324"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> claims to conform. The MPD catalog <code>c:mpdClassURIList</code> attribute declares a list of <a name="d3e3330"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifiers</span></a>, identifying the <a name="d3e3334"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a> to which the MPD claims to conform. The following rule establishes the <a name="d3e3337"></a><a href="#definition_MPD_class"><span class="termRef">class</span></a> of an <a name="d3e3340"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>:</p><div class="rule-section"><div class="heading"><a name="r-mpdClassURIList"></a><a name="rule_5-9"></a>Rule 5-9. MPD Class Determined by Conformance Target Identifier in <code>c:mpdClassURIList</code></div><div class="box"><div class="normativeHead">[Rule 5-9] (WF-MPD) (Interpretation)</div><p>An MPD MUST have an <a name="d3e3354"></a><a href="#definition_MPD_class"><span class="termRef">MPD class</span></a> of a <a name="d3e3357"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> if and only if that <a name="d3e3360"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> appears in the <code>c:mpdClassURIList</code> attribute within its <a name="d3e3366"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>.</p></div></div><p>It should be clear that an <a name="d3e3374"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> that is an <a name="d3e3377"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> should have a value for its <code>c:mpdClassURIList</code> attribute that contains both <a name="d3e3383"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifiers</span></a> above. In the future, additional conformance target identifiers will be assigned by other appropriate NIEM specifications that specialize MPDs (for example, releases, domain updates, etc.).</p><p>The <code>c:mpdClassURIList</code> attribute is an XML list type that may declare that an MPD conforms to multiple conformance targets. An MPD developer can establish a new MPD <a name="d3e3392"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> identifier in addition to those provided by this and other NIEM specifications. The identifier represents the new conformance target which should be associated with one or more rules or constraints to which an MPD must conform if it is assigned that identifier.</p><p>An <a name="d3e3398"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authoring organization might use another classification system for its IEPDs. For example, the organization <em>ABC</em> might establish the <a name="d3e3404"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> <code>http://example.org/niem-iepd/1.0/#abc-org</code> to indicate its IEPDs also conform to its own stricter set of <a name="d3e3410"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> conformance rules. Thus, an MPD catalog document for its published IEPDs would contain the <code>c:mpdClassURIList</code> component shown in <a href="#figure_5-1">Figure 5-1, <em>MPD catalog <code>c:mpdClassURIList</code> attribute for organization ABC.</em>, below,</a> indicating conformance to three <a name="d3e3419"></a><a href="#definition_conformance_target"><span class="termRef">conformance targets</span></a>.</p><div class="figure"><div class="caption"><a name="figure_5-1"></a>Figure 5-1: MPD catalog <code>c:mpdClassURIList</code> attribute for organization ABC.</div><div class="box"><pre>
c:mpdClassURIList=
"http://reference.niem.gov/niem/specification/model-package-description/3.0/#MPD
http://reference.niem.gov/niem/specification/model-package-description/3.0/#IEPD
http://example.org/niem-iepd/1.0/#abc-org"
</pre></div></div></div><div class="section"><div class="heading"><a name="Version-Numbering-Scheme"></a><a name="section_5.2.3"></a>5.2.3. MPD Version Numbering Scheme (<code>c:mpdVersionID</code>)</div><p>Published MPDs may be periodically revised and updated; therefore, versioning is required to clearly indicate changes have occurred. In order to maintain some consistency while allowing reasonable flexibility to authors, this specification establishes a simple version numbering scheme that is consistent with most common practices. This is the same version numbering scheme that is used for NIEM releases.</p><p>An MPD version number is the value of the <code>c:mpdVersionID</code> attribute owned by the <code>c:MPD</code> element within its <a name="d3e3455"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>. A consistent version number syntax is enforced by the MPD catalog schema in <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>. The syntax rule is as follows:</p><div class="rule-section"><div class="heading"><a name="r-mpd-vers-syntax"></a><a name="rule_5-10"></a>Rule 5-10. MPD Version Number Syntax</div><div class="box"><div class="normativeHead">[Rule 5-10] (WF-MPD) (Constraint)</div><p>An MPD MUST be assigned a version number that adheres to the regular expression:</p><pre> version ::= digit+ ('.' digit+)* (status digit+)?
Where:
digit ::= [0-9]
status ::= 'alpha' | 'beta' | 'rc' | 'rev'</pre><p>The meaning of the <code>status</code> values are as follows:</p><ul><li><code>alpha</code> indicates early development; changing significantly.</li><li><code>beta</code> indicates late development; but changing or incomplete.</li><li><code>rc</code> indicates release candidate; complete but not approved as operational.</li><li><code>rev</code> indicates very minor revision that does not impact schema validation.</li></ul></div></div><p>The regular expression notation used above is from <a href="#W3-XML" class="ref">[W3C XML 1.0]</a> <a class="url" target="_blank" href="http://www.w3.org/TR/2008/REC-xml-20081126/#sec-notation">#sec-notation</a>.</p><p>Note that the absence of a <code>status</code> string in the version number indicates that the version has been baselined and published.</p><p>The following examples are valid MPD version numbers:</p><ul><li><code>1</code></li><li><code>1.2</code></li><li><code>1.3.1.0</code></li><li><code>1.2alpha13</code></li><li><code>199.88.15rev6</code></li></ul><p>There are two implications in <a href="#rule_5-10">Rule 5-10, <em>MPD Version Number Syntax</em>, above</a>. The first is that in some cases this version scheme implies and confirms a chronology of releases. For example, a given product labeled version 2.3 must have been released before the same product labeled 2.3.1. Therefore, version 2.3.1 is more current than version 2.3.</p><p>However, this is a multi-series version scheme, and chronological relationships exist only within a given series. So, for example, nothing can be said about a chronological relationship between versions 2.2.4 and 2.3. This is because version 2.2.4 is in a different series (i.e., 2.2) and could actually have been released after 2.3. <a href="#figure_5-2">Figure 5-2, <em>Example versioning system</em>, below,</a> illustrates a system of versions that uses the numbering scheme of <a href="#rule_5-10">Rule 5-10, <em>MPD Version Number Syntax</em>, above</a>.</p><div class="figure"><div class="caption"><a name="figure_5-2"></a>Figure 5-2: Example versioning system</div><div class="box"><div class="img"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyMAAAJGCAYAAABInVqYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAFbxSURBVHhe7d0trB239vfxPyw8MDCwMDAwsKRSYWBgYGBApMBLIgVWKgkMrBRSVBUGNiwKioqqopQVnuf55S6f6z317Lex17I9349k3ZtzdmfNGi/b4/12/u//u6XRaDQajUaj0Wi0gPZ/twAAAADgic0IAAAAgBBsRgAAAACEYDMCAAAAIASbEQAAAAAh2IwAAAAACMFmBAAAAEAINiMAAAAAQrAZAQAAABCCzQgAAACAEGxGAAAAAIRgMwIAAAAgBJsRAAAAACHYjAAAAAAIwWYEAAAAQAg2IwAAAABCsBkBAAAAEILNCAAAAIAQbEYAAAAAhGAzAgAAACAEmxEAAAAAIdiMAAAAAAjBZgQAAABACDYjAAAAAEKEbkaeP3+eToBGo9FoNBqtWnvy5IndbQDomY3ZmM1ImjBoNBqNRqPRajcA/bPxGrsZAQAAqIX7C2AcNl7ZjAAAgDlwfwGMw8YrmxEAADAH7i+Acdh4ZTMCAADmwP0FMA4br2xGAADAHLi/AMZh45XNCAAAmAP3F8A4bLyyGQEAAHPg/gIYh41XNiMAAGAO3F8A47DxymYEAADMgfsLYBw2XtmMAACAOXB/AYzDxiubEQAAMAfuL4Bx2HhlMwIAAObA/QUwDhuvbEYAAMAcuL8AxmHjlc0IAACYA/cXwDhsvLIZAQAAc+D+AhiHjVc2IwAAYA7cXwDjsPHKZgQAAMyB+wtgHDZe2YwAAIA5cH8BjMPGK5sRAAAwB+4vgHHYeGUzAgAA5sD9BTAOG69sRgAAwBy4vwDGYeOVzQgAAJgD9xfAOGy8shkBAABz4P4CGIeNVzYjAABgDtxfAOOw8bq/zciDBw/u4tPGa+q/GVGXY7dZ61KozbHbzLVZkvIG0D8br/vbjETFRR2z9h91ObaZ+4/aHNve+k/5UrPAGGy8xgzYyMkiKi7qmLX/qMuxzdx/1ObY9tZ/ypeaBcZg4zVmwEZOFlFxUces/Uddjm3m/qM2x7a3/lO+1CwwBhuvMQM2crKIios6Zu0/6nJsM/cftTm2vfWf8qVmgTHYeI0ZsJGTRVRc1DFr/1GXY5u5/6jNse2t/5QvNQuMwcZrzICNnCyi4qKOWfuPuhzbzP1HbY5tb/2nfKlZYAw2XmMGbORkERUXdczaf9Tl2GbuP2pzbHvrP+VLzQJjsPEaM2AjJ4uouKhj1v6jLsc2c/9Rm2PbW/8pX2oWGION15gBGzlZRMVFHbP2H3U5tpn7j9oc2976T/lSs8AYbLzGDNjIySIqLuqYtf+oy7HN3H/U5tj21n/Kl5oFxmDjNWbARk4WUXFRx6z9R12Obeb+ozbHtrf+U77ULDAGG68xAzZysoiKe8xff/11++uvv96+evXqoL179+72jz/+sEfVFRGzhh77rwbq8r8+ffpEXXaG2ixLtZq3Hmt05tosUb57yxkYlY3XmAEbOVlExS15//797dOnT++ux1rTIqvFt4aImDXp3GbUU14RNaIbue+//74YJ2/Upb+ecutl/vrpp5+KcdV625DonPYk9QOA/tl4jRmwkZNFVNylt2/f3l2Hc5pu1P7++2/7r68TEbM2ndeMeskrokaO3diVmmL2Ruc1q15y62X+0majFC81NiOxUj8A6J+N15gBGzlZRMVdStfgkqZn+7YoHfNU2xqzNp3TjHrJK+/7c1tEXerGtCc6p1n1klve/+e2FvPXixcvirFSYzMSK/UDgP7ZeI0ZsJGTRVTcpXQN1PS2A73XWW9V0f/qGb3893nbIj+OV8zaejufWnrJK+9377pUvA8fPhw8m61/l+LqZz3ROc2ql9zy/o+av1SP+bF1Hvm/1diMxEr9AKB/Nl5jBmzkZBEVd0mLmNrawlVa5NS2LHQRMWvT+cyol7wiakSvcugmb83yBjC1nvR2PjX1kltEbS4tNz2l2uxpvhSd056kfgDQPxuvMQM2crKIirt06sOV+qBmuk5527LQRcSsTeczo17y6rVGSjF70tv51NRLbtG1qVdh8uPq3zp2/jO1nuZL0TntSeoHAP2z8RozYCMni6i4lyotcmotF7qImJfS+cxolLwiakRv2yrF7Elv51PTKLm1rM1lDaa3CZZithwL19A57UnqBwD9s/EaM2AjJ4uouJdae5avxbfDJBExL6Xz6d3Hjx9vv3z5Yv86zwh5SUSNLJ+RVtM3cPVE5zQC9d+lRsotr5HUatTm8pu80tsK2Yz0J/UDgP7ZeI0ZsJGTRVTcS5W+7lTviW4pIualdE69e/Lkydfz/O67725fv359+/nzZ/vNuhHyEu8aWbvBbPk3JK6hcxrB/fv3b29ubm4fP358++bNm7M2zaPk1qo2lxuO/Bu62Iz0J/UDgP7ZeI0ZsJGTRVTcSyzfEpDaNc9qnisi5jV0Tr1Lm5G8ffvtt7fPnj1bvZ4j5NW6RnQzqRu91Na+RUt/+bo3OrcRaDOyvKYPHz78umnWK3olI+TWsjZVi/kx880Gm5H+pH4A0D8brzEDNnKyiIp7CV4VWafz6l1pM5I3PTOtx+itH+mZaf28dy1rpHRTt2y9/W2RnM5vBKXNSN70e22af/nlF/sv9l2by2/LWtYgm5H+pH4A0D8brzEDNnKyiIp7rrWvMW25wEXEvFbpPEdvP/zww9f/7VnrGind1JWabjB7e7VOSuc6etOmWRsT/f+etaxN1Vs6nl6VW37+pFS3vc2bOqc9Sf0AoH82XmMGbORkERX3HHoffLo2edMHeFuJiLmFzq13p14ZUbt3797XG52ff/7563+jn/XKo0Z0k5e/RevUX7nu7VUSndMITr0yoqa3FD5//vz2999///rf6Ge9almbyy9OKB2TzUh/Uj8A6J+N15gBGzlZRMU9RYtq6T3yLW+6ImJupfPr3dpmZHmTl9PvexRdI/p8yNrGpKcNs85nBGubkUePHq1+2YJ+36PWtZkfe+0tX2xG+pP6AUD/bLzGDNjIySIq7jFri6puwlqJiFmDzrF3+WZE36j1448/nvxGrR7z6qlG8rfLpLZ2gxhB5zOCtBlJ36ilG/dT36jVY26ta3O5yVCt5a/cHXsFTz/T73rZLOuc9iT1A4D+2XiNGbCRk0VU3GNKN1qtb/giYtag8+ydvjL1nJu8XI959VQj+pzI8lzUlu/hj6JzGcHLly8PPpx+jh5za12bpVc8rmk96OU8vPR07QEcZ+M1ZsBGThZRcddoAU3XI7XWN3wRMWvRuc6ot7x6q5G1m8Ne3hKjc5lVb7l51CabkXH1dO0BHGfjNWbARk4WUXFLai6qeoZYC6jasWeLPRbylnS+M+opr4i6POXdu3f/Oie1XvR0LrX1lJtXbeptYMs4lza9etMDncuepOsPoH82XmMGbORkERV3Se8pTtchtWsXVX3Id3ksLbBLNWNG0TnPqJe8vOtSj1HMY3/IcITPN+l8ZtVLbt61qbpLm5W1Vnr7oH6m323ZfNekc9qT1A8A+mfjNWbARk4WUXFza8+6aWHVgnuqLZX+4Nfyw5O1Y0bROc+oh7wi6lL/Tr/TM8n6rI1+llrpGKnp70v0Quczqx5yi6jNc2jTsTyOftYTndOepH4A0D8brzEDNnKyiIqbW/sw7rltudhpsV0+Zrmw1o4ZRecyox7yiqhL/Xv5mHOa11cLn0vnNKsecouozXPouMvj9DJXJjqnPUn9AKB/Nl5jBmzkZBEVN1d7YT3nWT42I33rIa+Iulx7xvtY620jIjqvWfWQW0RtnkPHXR6nl7ky0TntSeoHAP2z8RozYCMni6i4Ob2XuPQe+HPb8r3Iy/c/69jLx9SOGUXnMqMe8oqoS9HPtME4FVs3kL3d6CU6v1n1kFtUbZ6y3EzrOPpZT3Ree5L6AkD/bLzGDNjIySIqrgfdqPV6s1bLrP1HXf6XbuT0WD1LraabxhFqeub+ozbHNnP/lSjfveUMjMrGa8yAjZwsouKijln7j7oc28z9R22ObW/9p3ypWWAMNl5jBmzkZBEVF3XM2n/U5dhm7j9qc2x76z/lS80CY7DxGjNgIyeLqLioY9b+oy7HNnP/UZtj21v/KV9qFhiDjdeYARs5WUTFRR2z9h91ObaZ+4/aHNve+k/5UrPAGGy8xgzYyMkiKi7qmLX/qMuxzdx/1ObY9tZ/ypeaBcZg4zVmwEZOFlFxUces/Uddjm3m/qM2x7a3/lO+1CwwBhuvMQM2crKIios6Zu0/6nJsM/cftTm2vfWf8qVmgTHYeI0ZsJGTRVRc1DFr/1GXY5u5/6jNse2t/5QvNQuMwcZrzICNnCyi4qKOWfuPuhzbzP1HbY5tb/2nfKlZYAw2XmMGbORkERUXdczaf9Tl2GbuP2pzbHvrP+VLzQJjsPEaM2AjJ4uouKhj1v6jLsc2c/9Rm2PbW/8pX2oWGION15gBGzlZ3Nzc3MWnjdfUfzOiLsdus9alUJtjt5lrsyTlDaB/Nl73txmZHdcVPaIu0Stqcy7cXwDjsPEaM2CZLNrhuqJH1CV6RW3OhfsLYBw2XmMGLJNFO1xX9Ii6RK+ozblwfwGMw8ZrzIBlsmiH64oeUZfoFbU5F+4vgHHYeI0ZsEwW7XBd0SPqEr2iNufC/QUwDhuvMQOWyaIdrit6RF2iV9TmXLi/AMZh4zVmwDJZtMN1RY+oS/SK2pwL9xfAOGy8xgxYJot2uK7oEXWJXlGbc+H+AhiHjdeYActk0Q7XFT2iLtEranMu3F8A47DxGjNgmSza4bqiR9QlekVtzoX7C2AcNl5jBiyTRTtcV/SIukSvqM25cH8BjMPGa8yAZbJoh+uKHlGX6BW1ORfuL4Bx2HiNGbBMFu1wXdEj6hK9ojbnwv0FMA4brzEDlsmiHa4rekRdolfU5ly4vwDGYeM1ZsAyWbTDdUWPqEv0itqcC/cXwDhsvMYMWCaLdriu6BF1iV5Rm3Ph/gIYh43XmAHLZNEO1xU9oi7RK2pzLtxfAOOw8RozYJks2uG6okfUJXpFbc6F+wtgHDZeYwYsk0U7XFf0iLpEr6jNuXB/AYzDxmvMgGWyaIfrih5Rl+gVtTkX7i+Acdh4jRmwTBbtcF3RI+oSvaI258L9BTAOG68xA5bJoh2uK3pEXaJX1OZcuL8AxmHjNWbAMlm0w3VFj6hL9IranAv3F8A4bLzGDFgmi3a4rugRdYleUZtz4f4CGIeN15gBy2TRDtcVPaIu0Stqcy7cXwDjsPEaM2CZLOp5//797aNHj+6armv+7zdv3tgjAT+//PLLQR0u6/LHH3+0RwK+qM25cX8BjMPGK5uR0X358uX2m2++ubumy6bNCuDtzz//LNZjarohBCJQm3NL/QigfzZe2YzMID27t2z37t2zRwD+Hj58WKxLbZ7/+ecfexTgj9qcV+pLAP2z8cpmZAavX7++u6Z5e/LkiT0C8Pfy5ctiXT5+/NgeAcSgNueV+hJA/2y8shmZwefPn++uad5+/vlnewTg7/fffy/WJZ9jQjRqc16pLwH0z8Yrm5FZfPvtt3fXVY23G6AH9+/fP6hLNX3OCYhGbc4p9SWA/tl4ZTMyi+fPn99dV7XvvvvOfgPEefr06UFd6vNNQA+ozTml/gTQPxuvbEZm8dtvv91dVzXeboAe6JuJ8rr8z3/+Y78BYlGbc0r9CaB/Nl7ZjMzk5ubm7trq6yuBaHqrYP7V0/p8E9ADanNOqT8B9M/GK5uRmejbs3Rd9bWVQC9++OGHr3WpzzUBPaE258P9BTAOG69sRmby9u3br9dVX1sJ9EJvGVRd6nNNQE+ozflwfwGMw8Yrm5GZpL/G/vHjR/sJEC/9xWt9rgnoCbU5H+4vgHHYeGUzMhv+0CF6pLfDAD2iNufC/QUwDhuv+9uMPHjw4C4+bbym/psRdTl2m7Uuhdocu81cmyUpbwD9s/G6v81IVFzUMWv/UZdjm7n/qM2x7a3/lC81C4zBxmvMgI2cLKLioo5Z+4+6HNvM/Udtjm1v/ad8qVlgDDZeYwZs5GQRFRd1zNp/1OXYZu4/anNse+s/5UvNAmOw8RozYCMni6i4qGPW/qMuxzZz/1GbY9tb/ylfahYYg43XmAEbOVlExUUds/YfdTm2mfuP2hzb3vpP+VKzwBhsvMYM2MjJIiou6pi1/6jLsc3cf9Tm2PbWf8qXmgXGYOM1ZsBGThZRcVHHrP1HXY5t5v6jNse2t/5TvtQsMAYbrzEDNnKyiIqLOmbtP+pybDP3H7U5tr31n/KlZoEx2HiNGbCRk0VUXNQxa/9Rl2Obuf+ozbHtrf+ULzULjMHGa8yAjZwsouKijln7j7oc28z9R22ObW/9p3ypWWAMNl5jBmzkZBEVF3XM2n/U5dhm7j9qc2x76z/lS80CY7DxGjNgIyeLlnH/+uuv219//fX21atXB+3du3e3f/zxhz2qroiYuQ8fPnyNn5rOp6Woumlttrr89OkTdTmJ2WpzKdVq3lrGpjbbUr57yxkYlY3XmAEbOVm0iPv+/fvbp0+f3uW11rTI1lp4ImLm/v7776/HXsbT4tqSYsyoRV4RNaL+//7774tx8kZdjqNFbtHzV/LTTz8V46rV3pBQmz7SdQXQPxuvMQM2crKoHfft27d3+ZzTdKOmRWmLiJi5YzecLKzXqZ1XRI0cu7ErNcWsibpso3Zu0fNXos1GKV5qNTcj1KafdF0B9M/Ga8yAjZwsasdNuVzS9OzYFqVjnmpbY4qeoXzx4kXx+KmxsF6ndl55n5zbIupSN6ZbUZdt1c4t75dzW435a+lUzdTYjFCb/tJ1BdA/G68xAzZysqgdN+Wiprcd6L3OWlz0v2vPhKltkR/HK6YW1dIxl42F9Tq188r7xLsuFU/vi8+fzda/S3H1sy2oy/Zq55b3i1dtLqke82PrPPJ/q23djFCbMdJ1BdA/G68xAzZysqgdV4uY2trCVVrk1LYsdBEx9d/mx1IMLaL5z9RYWK9TO6+IGtGrHLrJW7O8AUxtC+qyvdq5RdTm0nLTU6rNrfGozRjpugLon43XmAEbOVnUjqtnv47RBzVTvnnbstBFxEwLqxbUdMO5XGzVWFivUzuviBo5RynmFtRle7Vzi67N5YZA/y7VzNZ41GaMdF0B9M/Ga8yAjZwsvOOWFh+1rQvdMa1ipgU1YWGtxzuviLrU27ZKMbeiLtvyzq1lbS5rML1NsBSzRjxq01+6rgD6Z+M1ZsBGThbecdee5Wvx7TCJV0wW1rKPHz/efvnyxf51Hu+8IupStbGMp2/gqo26XKd+v5R3bi1rc/lNXsdesaixGVmiNttL1xVA/2y8xgzYyMnCO27p6071sn1LXjFZWMuePHny9Ty/++6729evX99+/vzZfrPOOy/vuly7wTz1lp1rUJfr7t+/f3tzc3P7+PHj2zdv3py1afbOrVVtLusi/4auUs3oZ7VRm+2l6wqgfzZeYwZs5GThGXf5loDUrnl28lyeMVlYy9JmJG/ffvvt7bNnz1b7wTOv1jWim0nd6KW29i1a+svXLVCX67QZWV6bhw8fft006xW9Es/cWtamajE/Zr7ZKNVM/vtaqM320nUF0D8brzEDNnKy8Iw786siwsJaVtqM5E3PTOsxestIemZaP/fSskZKNbFsNf62yDHU5brSZiRv+r02zb/88ov9F3PUpt6OlR9zWYOlmtHPaqM220vXFUD/bLzGDNjIycIr7nLxS63FApd4x4xaWGdrP/zww9f/9dC6Rko1UWq6wWz1CiF1Wadp06yNif6/h5a1qXpLx9OrcsvPn5RqptaYyEXV5p6k6wqgfzZeYwZs5GThEVfvg0855q3lohMRk4W17NQrI2r37t37eoP0888/f/1v9LPWPGpEN3n5W7RO/fXpFq+SUJfrTr0yoqa3FD5//vz2999///rf6GettaxNHePUMdmMzCNdVwD9s/EaM2AjJ4vWcbWolt4j3/KtKRExhYW1bG0zsrzJy+n3LUXVSKLPh6xtTGrXDHW5bm0z8ujRo9UvW9DvW2pdm/mx197yxWZkHum6AuifjdeYARs5WbSMu7ao6iaslYiYCQtrWb4Z0Tdq/fjjjye/UatlXpE1spS/XSa1tRvEa1GX69JmJH2jlm74T32jVsvcWtfmshZUa/krd8dewdPP9LuatUNttpeuK4D+2XiNGbCRk0XLuKUbrdY3fBExExbWMn1l6jk3ebmWeUXWyJI+J7I8F7Xle/i3oC7XvXz58uDD6edomVvr2izVwjWtFmqzvXRdAfTPxmvMgI2cLFrF1QKa8kqt9Q1fRMwcC2s9rfKKrpGltZtD/bwW6rKuVrl51OZavV3aaqE220vXFUD/bLzGDNjIyaJF3JqLqp4h1oKlduzZ4oiYSyys9bTIq4caWXr37t2/zkmthLrsQ4vcvGpTbwNbxrm06dWbJWqzX+m6AuifjdeYARs5WdSOq/cUp3xSu3ZR1Yd8l8fS4rUUEbOEhbWe2nl514geo5j63zWXfD6AuuxH7dy8a1N1p58da6W3D+pn+t1ys0Ft9i1dVwD9s/EaM2AjJ4uacdeeddPCqgX3VFsq/cGv5UIVETPRY/NjKebyv9WziPlj9Ex4TYoxo5p5RdSI/p1+pxrQZ2b0s9RKx0hNf19iibrsR83cIuevY0qbhLUNBrXZt3RdAfTPxmvMgI2cLGrGXfsw7rltudhpIVo+ZrnIRcSU0mJ9bqup9vF6UTOviBrRv5ePOaetfX0rddmPmrlFzV+nlOpoGSuhNvvW4hoCaMPGa8yAjZwsasatvbCe84xbRExhYW2rZl4RNbL2jPexduzvSFCX/aiZW9T8dUqpjpaxEmqzby2uIYA2bLzGDNjIyaJmXL2XuPQe+HPbqfci69jLx0TEFP0sf9y5rfThzy10zBnVzCuyRrTBOBVbN3NrN3oJddmPmrmpvyJq85TlZlrH0c9KqM2+pesIoH82XmMGbORkERX3ErpRO3WzVltEzGuM0H/XmK0udSOnx+oZYzXdwF1TX5fEjDRrXQpzZhm12Sflu7ecgVHZeI0ZsJGTRVRc1DFr/1GXY5u5/6jNse2t/5QvNQuMwcZrzICNnCyi4qKOWfuPuhzbzP1HbY5tb/2nfKlZYAw2XmMGbORkERUXdczaf9Tl2GbuP2pzbHvrP+VLzQJjsPEaM2AjJ4uouKhj1v6jLsc2c/9Rm2PbW/8pX2oWGION15gBGzlZRMVFHbP2H3U5tpn7j9oc2976T/lSs8AYbLzGDNjIySIqLuqYtf+oy7HN3H/U5tj21n/Kl5oFxmDjNWbARk4WUXFRx6z9R12Obeb+ozbHtrf+U77ULDAGG68xAzZysoiKizpm7T/qcmwz9x+1Oba99Z/ypWaBMdh4jRmwkZNFVFzUMWv/UZdjm7n/qM2x7a3/lC81C4zBxmvMgI2cLKLioo5Z+4+6HNvM/Udtjm1v/ad8qVlgDDZeYwZs5GQRFdfLy5cv7f/Nadb+m70uZzdz/1GbY9tb/ylfahYYg43XmAEbOVnc3NzcxaeN19R/M6Iux26z1qVQm2O3mWuzJOUNoH82Xve3GZkd1xUAsFfcXwDjsPHKZmQ2XFcAwF5xfwGMw8Yrm5HZcF0BAHvF/QUwDhuvbEZmw3UFAOwV9xfAOGy8shmZDdcVALBX3F8A47DxymZkNlxXAMBecX8BjMPGK5uR2XBdAQB7xf0FMA4br2xGZsN1BQDsFfcXwDhsvLIZmQ3XFQCwV9xfAOOw8cpmZDZcVwDAXnF/AYzDxiubkdlwXQEAe8X9BTAOG69sRmbDdQUA7BX3F8A4bLyyGZkN1xUAsFfcXwDjsPHKZmQ2XFcAwF5xfwGMw8Yrm5HZcF0BAHvF/QUwDhuvbEZmw3UFAOwV9xfAOGy8shmZDdcVALBX3F8A47DxymZkNlxXAMBecX8BjMPGK5uR2XBdAQB7xf0FMA4br2xGZsN1BQDsFfcXwDhsvLIZmQ3XFQCwV9xfAOOw8cpmZDZcVwDAXnF/AYzDxiubkdlwXQEAe8X9BTAOG69sRmbDdQUA7BX3F8A4bLyyGZkN1xUAsFfcXwDjsPHKZmQ2XFcAwF5xfwGMw8Yrm5HRffz48fbly5d3Tdc1//cvv/xijwQAYG7cXwDjsPHKZmR0nz9/vruepfbzzz/bIwEAmFta+wD0z8Yrm5EZPHjw4O6a5u2bb765/eeff+xRAADMLa1/APpn45XNyAzS27OW7YcffrBHAAAwv7T+AeifjVc2IzN4//793TXN25s3b+wRAADML61/APpn45XNyCzu3bt3d11T+/PPP+23AADML61/APpn45XNyCyePHlyd13VHj58aL8BAGAfuL8AxmHjlc3ILN6+fXt3XdX0ORIAAPaE+wtgHDZe2YzM4suXL1+/PStdW/39EQAA9oT7C2AcNl7ZjMzk0aNHX6/r/fv37ScAAOwH9xfAOGy8shmZyevXr79e12fPntlPAADYD+4vgHHYeGUzMpP019h/++03+wkAAPvB/QUwDhuvbEZmo2/R4q+uAwD2iPsLYBw2XtmMzEZ/ABEAgD3i/gIYh43X/W1GHjx4cBefNl5T/wEAUJLWCgD9s/G6v81IVFzUQf8BANZE3l8AuIyNVzYjGAv9BwBYE3l/AeAyNl7ZjGAs9B8AYE3k/QWAy9h4ZTOCsdB/AIA1kfcXAC5j45XNCMZC/wEA1kTeXwC4jI1XNiMYC/0HAFgTeX8B4DI2XtmMYCz0HwBgTeT9BYDL2HhlM4Kx0H8AgDWR9xcALmPjlc0IxkL/AQDWRN5fALiMjVc2IxgL/QcAWBN5fwHgMjZe2YxgLPQfAGBN5P0FgMvYeGUzUtNff/11++uvv96+evXqoL179+72jz/+sEfVtZeYSVTdAAD6F3l/AeAyNl7ZjNTw/v3726dPn97ltdZ0w64b+Rr2EnNJxwcAoCStQwD6Z+OVzchWb9++vcvnnPb999/f/v333/ZfX2cvMUt0bAAAStIaBKB/Nl7ZjGyVcrmk6ZWDLUrHPNVGjFmi4wIAUJLWHwD9s/HKZmSrlIua3sKkz03o8xT6X706kP8+b1vkx5k5ZkmLYwIA5tBq7QFQn43XmAEbOVnUjqsbc7W1D27rdynfvG35oPdeYpbomAAAlKS1B0D/bLyyGdnq1Ae19aHvlG/ettyk7yVmiY4JAEBJWnsA9M/GK5uR1nQznvLNW+2b9NzMMXVMAABK0toDoH82XtmMtLb2ikGLb5pKZo6pYwIAUJLWHgD9s/HKZqS1n3766S7f1PT5ipZmjqnjAgBQktYfAP2z8cpmpCW9KpByzZteRWhl9pg6LgAAJWn9AdA/G69sRlriVZH6dGwAAErSGgSgfzZe2Yy08uHDh7s889byQ+R7iKljAwBQktYgAP2z8cpmpAV9DW7KMW/6I4Gt7CWmjg8AQElahwD0z8Yrm5HadINe+ovkb9++tUfUt5eYohgAAJSktQhA/2y8shmpae0G/cWLF/aI+vYSM1EcAABK0noEoH82XtmM1KQPbafcUmt9g76XmIliAQBQktYkAP2z8cpmpBbdjKe8Umt9g76XmDnFAwCgJK1LAPpn45XNSA01b9D1Nzv0TVRqx/56+egxr6WYaOv58+f/6mcajUaj0WjztydPntjdQHsWk83IVq9evbrLJ7Vrb9A/ffr0r2OVviJ39JhbKC7aWvYzjUaj0Wi0/TQvFo/NyBb6IHfKJW+6SdfN+6m2VPrjgcuvyZ0h5haKi7ZS/wIAgP3wXv8tXtyGIDJ2Le/fv7/L5Zq2fAVCN+7Lxyw3BjPE3ELHQ1up3wAAwH54r/8WL25DEBm7lto36ee8SjFDzC10PLSV+g0AAOyH9/pv8eI2BJGxa9GHvUt/b+Pctvyw+PLzGzr28jEzxNxCx0Nbqd8AAMB+eK//Fi9uQxAZu3d6JaHmqwnniIh5jRH6b3SR4xMAAMTwXv8tXtyGIDI2xkX/tRc5PgEAQAzv9d/ixW0IImNjXPRfe5HjEwAAxPBe/y1e3IYgMjbGRf+1Fzk+AQBADO/13+LFbQgiY2Nc9F97keMTAADE8F7/LV7chiAyNsZF/7UXOT4BAEAM7/Xf4sVtCCJjY1z0X3uR4xMAAMTwXv8tXtyGIDI2xkX/tRc5PgEAQAzv9d/ixW0IImNjXPRfe5HjEwAAxPBe/y1e3IYgMjbGRf+1Fzk+AQBADO/13+LFbQgiY2Nc9F97keMTAADE8F7/LV7chiAyNsZF/7UXOT4BAEAM7/Xf4sVtCKJi39zc3MWnjdfUf2grXWsAALAf3uu/xdvfZmR2XFdsxfgEAGB/vNd/i8dmZDZcV2zF+AQAYH+813+Lx2ZkNlxXbMX4BABgf7zXf4vHZmQ2XFdsxfgEAGB/vNd/i8dmZDZcV2zF+AQAYH+813+Lx2ZkNlxXbMX4BABgf7zXf4vHZmQ2XFdsxfgEAGB/vNd/i8dmZDZcV2zF+AQAYH+813+Lx2ZkNlxXbMX4BABgf7zXf4vHZmQ2XFdsxfgEAGB/vNd/i8dmZDZcV2zF+AQAYH+813+Lx2ZkNlxXbMX4BABgf7zXf4vHZmQ2XFdsxfgEAGB/vNd/i8dmZDZcV2zF+AQAYH+813+Lx2ZkNlxXbMX4BABgf7zXf4vHZmQ2XFdsFT0+Hzx4cHcOtPGa+m9W1ObYjdqk9dp6qc10Pl4sHpuR2XBdsVX0+KSGxzZz/1GbY6M20ate+k/n4XkuFi8mee9k94Triq2ixyc1PLaZ+4/aHBu1iV710n86D89zsXgxyXsnuydcV2wVPT6p4bHN3H/U5tioTfSql/7TeXiei8WLSd472T3humKr6PFJDY9t5v6jNsdGbaJXvfSfzsPzXCxeTPLeye4J1xVbRY9PanhsM/cftTk2ahO96qX/dB6e52LxYpL3TnZPuK7YKnp8UsNjm7n/qM2xUZvoVS/9p/PwPBeLF5O8d7J7wnXFVtHjkxoe28z9R22OjdpEr3rpP52H57lYvJjkvZPdE64rtooen9Tw2GbuP2pzbNQmetVL/+k8PM/F4sUk753snnBdsVX0+KSGxzZz/1GbY6M20ate+k/n4XkuFi8mee9k94Triq2ixyc1PLaZ+4/aHBu1iV710n86D89zsXgxyXsnuydcV2wVPT6p4bHN3H/U5tioTfSql/7TeXiei8WLSd472T3humKr6PFJDY9t5v6jNsdGbaJXvfSfzsPzXCxeTPLeye4J1xVbRY/PHmv406dPt7/++uvtq1evDtq7d+9u//jjD3tUfYqrGHnMn3766fb9+/f2iP7MPAdRm//24cOHr/FT++uvv+w3/aE2fUXUpuovcjxcq5f+03l4novFi0neO9k94bpiq+jx2VMNa1H7/vvv767JWtNiV/MmTMd6+vRpMVZqOi/dCPZG5zarnnKLqs3k77///nrsZTydV690frPqKbeI2tQTNKfmTLVW42ErnVsP0nXyYvFikvdOdk+4rtgqenz2UsN6BSJdi3OaFt8a9Oxd6fhrrbcNic5pVr3kFlWbybGbTTYjMXrJLaI23759Wzz2WlNMbaZ7ovPqQbpGXixeTPLeye4J1xVbRY/PXmo4XYdLmhbFrdZu8o61nhZWnc+seskt7/tzW43a1DPKL168KB4/NTYjMXrJLa+Fc9vW2iwd81TTKyQ90Tn1IF0fLxYvJnnvZPeE64qtosdnLzWcroNe+terD/kNv/5d2jRsfZav9AxfvlDrHEo3gzVuNGvR+cyql9xSv3vWpjYiy2OWGpuRGL3klurAszbzYymuPh+iOtT/luKl1pNezsf72li8mOS9k53Z77//fvvy5cu7puua//uXX36xRwLniR6fvcwNusHX4rlGv0vXKm9bLBfOtWfvSgtsL3o6l9p6yS2iNpdvH9RNn2748p+psRmJ0UtuEbWpWlRb+4C6fleK2dMH2nU+PUjXxovFi0neO9mZffz48e56llpPz5hiDKl2okTGvlS6Vnm7lr55ZnmstUVd43r52F4WVp3LrEbKLa+N1LZImxHd2KW6XG5Q1NiMxBgpt7xeUtvi1AfS9eH2Ukw2I/+Wro0XixeTvHeys7t///7dNc3bN998c/vlyxd7FHCeVD9RImNfQm8/SNcqb9cqPcucv8UhV3p2sZev+9W5jOSS6zZKbrVrM1lujtmMtHHNWB4lt1a1eUypTtXYjPxbujZeLF5M8t7Jzu7Zs2d31zRvjx49skcA50v1EyUy9iVKmwd9k8y1Sl+Tuqbnm8Bj590jPZlzc3Nz+/jx49s3b94cfQJnlNxq1+YaNiNtXFKTySi5edVmbu2VkbUneyLofHqQro0XixeTvHeys/vtt9/urmnefvzxR3sEcL5UP1EiY59rbXHb8v31y83IsQ91lj5M3HpBP5fOZSSlV5YfPnx4+/r1669vg82NkFuL2lzDZqSNS2oyGSE3z9rMlb5uWG837InOqQfp+nixeDHJeyc7u3/++efrsyjpuqb2+fNnewRwvlQ/USJjl2gh00YhtdKHx/UzfeZji+UxFeuYSx/vRecykrW3uaam3+vVZ30ZiP7dE6/aXMNmpI1LajLRz3sSXZvJ2tvCrnkrXEs6px6k6+PF4sUk753sHujl3HRd1R48eGC/AS4TPT4jYy+VbraWrdaXRCyPqwX8mEsf70XnIunb/WZrugn8888/v+YYybM214y4GZmt6YnI9FbtXvRQm8kIr4qIzqsH6Rp5sXgxyXsnuwd6X2m6rmq6EQCuET0+I2MvnbOoqmlx2/pM2/KYo29GRnHqWWi1b7/99vb58+df/38vPGtzzYibkRFcUpP6en/Rz3rRQ23K2tcI6/x6o/PqQbpGXixeTPLeye6BPuCWrqtaby9BYhzR4zMy9pJe4tdNfmqn/vr0lmf7lsdiM+Jj7cZPXwCi9+jnb3fVz3vhWZtr2Iy0cUlNJvp9L3qozdLn6tR6rU+dWw/SdfJi8WKS9052LzRR6bpqIgOuFT0+R5gb9D7ntQX22sVueRwd/5jl4/V2hB7oXEaSbvzStxfpxmjt24tGyK1Fba5hM9LGJTWZjJCbV21qI1L6jEqLTU8tOr8epGvlxeLFJO+d7F785z//+Xpde3w/JMYRPT5Hmhs01tL1Su3a8adnEJfHWlN61q+Xm8Bj590jvaU1/yDwMSPlVrM217AZaeOSmkxGyU1a1ubaRuTUkzvRdI49SNfLi8WLSd472b1If4390kkMyEWPz5HmBr0dMl2vvF3z/fWXbEZKN4G9vDXz2HmPbqTcatbmGjYj/Rgpt5a1Wdro9L4REZ1nD9I182LxYpL3TnZP9KE2fdUvcK3o8TnS3FC6GVPTzy/17t27s49TWsyvidmCzmVWI+VWszbXlGKwGYkxUm6tarP0FrARNiKic+1Bum5eLF5M8t7J5vSVtyk+bbzGVxa3l651lMjYlyptINbOX8/6abFVKz0DWPrml7Ubu+WrKHpbQi90PrMaKbeatblGj18en81IjJFya1GbI29EZC1/b+naebF4Mcl7J5uLios66L/2Isen9NDH+qClbviP/UGuS96brOMsH6fFNaeFdvmY0iajdKyePpip85lVD7lF1OYaNiP96CG3qNosvcV1pI2I6Jx7kK6fF4sXk7x3srmouKiD/msvcnxKD32sG6p0HfQeZN3s62eplf6QVmp6hWOp9PjSTdvaH+jSY7Uwrz2jeMmz2a3pfGbVQ26qhdTvnrUpeqxu/FLTDd/yv9U55Y9RzfZC5zerHnKLqM3Sl3moqTbzOlxrvdA59yBdPy8WLyZ572RzUXFRB/3XXuT4lB76OF9UL2lrr1Bo0Vs+drmoijYVpWcNj7WebvZE5zSrHnKLqs3SqyDntl70dC619ZBbRG2ufRj+3Hbuq4Ct6Vx6kK6LF4sXk7x3srmouKiD/msvcnxKD3289mzbsba2oMolzz6v/dXgUjsWM4rOa1Y95BZVm2xG+tZDbhG1yWakrnRdvFi8mOS9k81FxUUd9F97keNTeuljvUqhhfLUKxVaME8taMv3PuuYx95apUW99KxganoLROltDT3Q+c2ql9wialM/yx93blOt9kLnM6tecvOuTf37VKxjrVTrEXQuPUjXxYvFi0neO9lcVFzUQf+1Fzk+pcc+1uZAC6eelVPTInnNM2r6by7577RQLuPqXHo28xilNsdGbfqiNs/XS//pPDzPxeLFJO+dbC4qLuqg/9qLHJ9CH49t5v6jNsdGbaJXvfSfzsPzXCxeTPLeyeai4qIO+q+9yPEp9PHYZu4/anNs1CZ61Uv/6Tw8z8XixSTvnWwuKi7qoP/aixyfQh+Pbeb+ozbHRm2iV730n87D81wsXkzy3snmouKiDvqvvcjxKfTx2GbuP2pzbNQmetVL/+k8PM/F4sUk751sLiou6qD/2oscn0Ifj23m/qM2x0Ztole99J/Ow/NcLF5M8t7J5lrG1TdH6Bsj9JWcedMfJWv1TRARMfWNGN4xk6i62ZPI8Sn08dhm7j9qc2zUJnrVS//pPDzPxeLFJO+dbK5FXP3RHX2XesprremGvdbXckbE1AbknO/zrhlzScdHW6kfo9DHY5u5/6jNsVGb6FUv/afz8DwXixeTvHeyudpx9cd9Uj7ntLU/KHWJiJilv4R6rClmCzo22kp9GIU+HtvM/Udtjo3aRK966T+dh+e5WLyY5L2TzdWOm3K5pOmVgy1KxzzVImJq01Sbjou2Uv9FoY/HNnP/UZtjozbRq176T+fheS4WLyZ572RzteOmXNT0til9bkJvZ9L/HntL0xb5cbxjKt6HDx8OXmnRv0txW7w6ouOirdR/Uejjsc3cf9Tm2KhN9KqX/tN5eJ6LxYtJ3jvZXO24ujlXW/vgtn6X8s3blg96R8TUqxzadKzR70oxa2txTBxq1Xfnurm5uTsH2nhN/TcranPsRm3Sem291GY6Hy8WL+aGwzvZXO24pz6orQ+ap3zztmVjEBHzHKWYtbU4Jg616jv8F9cWvaI20Stq04f3+m/xYjrXO9mcd1xtAFK+eWu5MYiIqbdtlWLW1uKYONSq7/BfXFv0itpEr6hNH97rv8WL6VzvZHPecddepdj67VbHRMTUZ1aW8fQNXLXpuGgr9R/a4NqiV9QmekVt+vBe/y1eTOd6J5vzjlv6Slx9pqMl75hrm58Wf2tEx0Vbqf/QBtcWvaI20Stq04f3+m/xYjrXO9mcZ9y1ty7p5r2V1jG10dHXBKe29i1a+ivtLej4aCv1I9rg2qJX1CZ6RW368F7/LV5M53onm/OMO9urImufRclbi78tklMMtJX6Em1wbdErahO9ojZ9eK//Fi+mc72TzXnFXfuq25YfIm8d85zNiJo2P61e/dHx0VbqR7TBtUWvqE30itr04b3+W7yYzvVONucRV5+VSDnmTR/ybsUjpt4Clr9F68WLF8WYqfEX2MeU+g9tcG3RK2oTvaI2fXiv/xYvpnO9k821jqtNQelzFC3fvhQRM6fPh6xtTGpvwHRMtJX6Dm1wbdErahO9ojZ9eK//Fi+mc72TzbWMu7Yp0I16KxEx1+jtWcvzqP0ZGR0TbaW+QxtcW/SK2kSvqE0f3uu/xYvpXO9kcy3jlm7GW28KImKu8fj7Jjoe2kr9hja4tugVtYleUZs+vNd/ixfTud7J5lrFLb1NqfWmICLmMWsfcK/5oX0dD22lfkMbXFv0itpEr6hNH97rv8WL6VzvZHMt4tbcFOhVBN28qx17RSEi5inv3r371zmp1VT7ePi3Fv2G/+HaolfUJnpFbfrwXv8tXkzneiebqx1X3yqV8knt2k2BPgi+PFbpVQXvmHqMYh77Q4Zen13RMdFW6ju0wbVFr6hN9Ira9OG9/lu8mM71TjZXM65uwFMuedMNePr622NtqfQHC5ffRhURU/9Ov9NnVPQtXfpZaqVjpKa/fVKTjom2Ut+hDa4tekVtolfUpg/v9d/ixXSud7K5mnHXPrB9blu+AqHNwvIxy41BREz9e/mYcxp/Z2RMqf/QBtcWvaI20Stq04f3+m/xYjrXO9lczbi1NwbnvEoREXPt1ZhjrdXfONGx0VbqQ7TBtUWvqE30itr04b3+W7yYzvVONlczrj7sXfqcxLlt+WHx5ec3dOzlYyJiin6mDcap2NrcLDc8NSkG2kp9iTa4tugVtYleUZs+vNd/ixfTud7J5qLiXkI38y1v6EsuialXSvRYvYKipg2N1/mO0H+jixyfe8C1Ra+oTfSK2vThvf5bvJjO9U42FxUXddB/7UWOzz3g2qJX1CZ6RW368F7/LV5M53onm4uKizrov/Yix+cecG3RK2oTvaI2fXiv/xYvpnO9k81FxUUd9F97keNzD7i26BW1iV5Rmz6813+LF9O53snmouKiDvqvvcjxuQdcW/SK2kSvqE0f3uu/xYvpXO9kc1FxUQf9117k+NwDri16RW2iV9SmD+/13+LFdK53srmouKiD/msvcnzuAdcWvaI20Stq04f3+m/xYjrXO9lcVFzUQf+1Fzk+94Bri15Rm+gVtenDe/23eDGd651sLiou6qD/2oscn3vAtUWvqE30itr04b3+W7yYzvVONhcVF3XQf+1Fjs894NqiV9QmekVt+vBe/y1eTOd6J5uLios66L/2IsfnHnBt0StqE72iNn14r/8WL6ZzvZPNRcVFHfRfe5Hjc0Z//vnn7W+//XbXdG3zf3/8+NEeCfiiNtErajOG9/pv8eI2BFGxb25u7uLTxmvqP7SVrjXqeP/+/UENL9ubN2/skYAvahO9ojZjpOvrxeLtbzMyO64rtmJ81nfv3r2767psegYQiEJtolfUpr90fb1YPDYjs+G6YivGZ31Pnjy5u655e/jwoT0CiEFtolfUpr90jb1YPDYjs+G6YivGZ30///zz3XXN28uXL+0RQAxqE72iNv2la+zF4rEZmQ3XFVsxPuv7559/br/55pu7a5saH8JENGoTvaI2/aVr7MXisRmZDdcVWzE+2/juu+/urq3a/fv37TdALGoTvaI2faXr7MXisRmZDdcVWzE+2/jxxx/vrq3as2fP7DdALGoTvaI2faXr7MXisRmZDdcVWzE+2/j8+fPdtVXTd+UDPaA20Stq01e6zl4sHpuR2XBdsRXjs50HDx58vbb6ezl6PzTQC2oTvaI2/Xiv/xaPzchsuK7YivHZjr4FRtf28ePH9hOgD9QmekVt+vFe/y0em5HZcF2xFeOznfRXhd++fWs/AfpAbaJX1KYf7/Xf4rEZmQ3XFVsxPtvSt8F8+fLF/gX0g9pEr6hNH97rv8VjMzIbriu2Yny29ebNG/t/QF+oTfSK2vThvf5bPDYjs+G6Yqvo8Zk+rEgbs6n/ZkVtjt2oTVqvrZfaTOfjxeKxGZkN1xVbRY9PanhsM/cftTk2ahO96qX/dB6e52LxYpL3TnZPuK7YKnp8UsNjm7n/qM2xUZvoVS/9p/PwPBeLF5O8d7J7wnXFVtHjkxoe28z9R22OjdpEr3rpP52H57lYvJjkvZPdE64rtooen9Tw2GbuP2pzbNQmetVL/+k8PM/F4sUk753snnBdsVX0+KSGxzZz/1GbY6M20ate+k/n4XkuFi8mee9k94Triq2ixyc1PLaZ+4/aHBu1iV710n86D89zsXgxyXsnuydcV2wVPT6p4bHN3H/U5tioTfSql/7TeXiei8WLSd472T3humKr6PFJDY9t5v6jNsdGbaJXvfSfzsPzXCxeTPLeye4J1xVbRY9PanhsM/cftTk2ahO96qX/dB6e52LxYpL3TnZPuK7YKnp8UsNjm7n/qM2xUZvoVS/9p/PwPBeLF5O8d7J7wnXFVtHjkxoe28z9R22OjdpEr3rpP52H57lYvJjkvZPdE64rtooeny1jf/r06fbXX3+9ffXq1UF79+7d7R9//GGPqk9xFSOP+dNPP92+f//eHtHOhw8fvuac2l9//WW/aWPmOWjG2ky860SozXpmq03VgnfM3F5rU+fheS4WLyZ572T3hOuKraLHZ4vYWky+//77u9zWmha7mouOjvX06dNirNR0Xlr4avv777+/5rOMp2vRkmLMqkVuUbWZRNQJtVlfi9wialNP0JyaM9VmGg+iGD1I+XqxeDHJeyc7s99+++320aNHd03XNf/3jz/+aI8EzhM9PmvH1isQKadzmhbfGvTsXen4a63mhuTYTQQ3fNernVtUbSYRdUJttlE7t4jafPv2bfHYa00xtXmohdr873l4novFi0neO9mZ/fnnn3fXs9S0WQEukWonSu3YKZ9LmhbFrdYWtWNt68KqZwpfvHhRPHZq3PBdr3Zueb+c22rUZkSdUJtt1c4t75dz29baLB3zVNOrGFtRm/+T8vVi8WKS9052dg8fPry7pnm7ubm5/eeff+xRwHlS/USpHTvlo5f+9epDfsOvf5c2DVuf5Ss9w5cv1DqH0uK3ZTHXgro8Xqlxw3e92rmlPvGszYg6oTbbq51b6hPP2syPpbj6fIhqQv9bipfaFtTmoZSvF4sXk7x3srN7+fLl3TXN2+PHj+0RwPlS/USpHVs3+Fo81+h3Kee8bbFcONeevSstsNdavi1Mi7kW0PxnatzwXa92bhG1GVEn1GZ7tXOLqE3VhdraB9T1u1LMtcefg9o8lPL1YvFikvdOdna///773TXN25ZnWbFfqX6iRMROOeftWvrmmeWx1hZ1jdHlY69dWNOiqsU0xVsutGrc8F0vIre871LbIqJOqM32InLL+y61LfQqxTH6cHsppmrpWtTmoZSvF4sXk7x3sntw//79u+uq9s0339x++fLFfgucL3p8esfW2w9Sznm7lhat5bHytzjktPgtH7vl637TYppww1eXd261azOJqBNqsy3v3FrV5jGlmlHTz7egNv8n5evF4sUk753sHmhXn66rmr5JC7hG9Pj0jl3aPOibZK5V+lrINa0XPW74Trtk8+edW+3aXBNRJ9TmumuekPDOzas2c2uvjKw92XMtNiN+52LxYpL3TnYPfvnll7vrqvb69Wv7DXCZ6PHpGXttcTv1doFjlpuRYx/qLH14suaCzg3faXpVWV/2oc/YvXnz5ugryp65tajNNWxG+nJJTSaeuXnWZq70dcN6IrY2NiN+52LxYpL3TnYP9K1ZemtWurafP3+23wCXiR6frWJrIdNGIbXSh8f1M33mY4vlMRXrmEsffwlu+E5bvsVVTd9QqCd0Pn78aI/6r1a5edXmGjYjfbmkJpNWuUXXZrL2trBrXkU6hc2I37lYvJjkvZPdix9++OHrdX3w4IH9BLhc9PhsEbu0uCxbrS98WB5XC/gxlz7+EtzwnVa68cubfv/s2bO7V59r86zNNRF1Qm2uu6QmE/28th5qM/F6VUT2XJspXy8WLyZ572T3Qi/n6rrqq36Ba0WPzxaxz1lU1bS4bX2mbXnMvW5G1r5yfPSmm0D9sdlaPGtzTUSdRNXmbE1v51JN6v/X1kNtSumLPtR0fi1E1WYPUr5eLF5M8t7J7kX6a+wtJwXML3p8toitl/h1k5/aqb+2u+XZvuWx9roZGcWpZ6HVvv3229vnz59//f+1edbmmog6oTbXXVKT+mp/0c9q66E2S5+rU2tZK2xG/M7F4sUk753snuitWsAW0ePTM7be57y2wF67+CyPo+Mfs3y83o5QCzd8p63d+OkbCfUe/fzzd/q5lxa1uYbNSF8uqclEv/fiVZvaiJQ+ozLj2xYVowcpXy8WLyZ572Rz+jxFik8br/F5mPbStY4SEVtvM0h5p3bt+5H1DOLyWGtKz/rVXPS44Tst3filby/Sjc7atxdF5FazNtewGenLJTWZROTWsjbXNiKnntypgc2I37lYvJjkvZPNRcVFHfRfe5HjUyJi662NKe+8XfP99ZdsRkqLXs23WXLDd5o+25J/EPiYiNxq1uYaNiN9uaQmk4jcWtZmaaPjsRERNiN+52LxYpL3TjYXFRd10H/tRY5PiYhdWnzU9PNLvXv37uzjlBbza2Ku2fOi2kJEbjVrc01EnVCbdUXk1qo2S28B89qIyJ5rM+XrxeLFJO+dbC4qLuqg/9qLHJ8SEbu0gVg7Dz3rp8VKrfQMYOmbX9YWsuWrKHpbQsmpmGv2vKi2EJFbzdpcs6VOqM0+ROTWojZrbkSozculfL1YvJjkvZPNRcVFHfRfe5HjU2rG1gctdcN/7A9yXfLeZB1n+TgtXDktesvHlDYZpWOVPph5Tsw1e15UW6iZW0Rtrrm2TqjNftTMLao2S29xvXYjQm1eJ+XrxeLFJO+dbC4qLuqg/9qLHJ9SM7YWkJSP3oOsm339LLXSH9JKTa9wLJUeX1qk1v5Alx6rRXLtGcXSs3fnxhQ9Vgt6alrIl/+tziN/jM6lJsWYVc3c1Id5n3jVptSqE2qzHzVzUx/mfeJRm6Uv81BTneQ1sdaWqM3rpHy9WLyY5L2TzUXFRR30X3uR41Nqxtbik/K5pJVeoRAtQsvHlhY4bSpKzxoea2uL27kxS8/mndtqqn28ntTMLao2a9YJtdmPmrlF1Obah+HPbctXPajN67TI7RiLF5O8d7K5qLiog/5rL3J8Ss3Ya8+2HWtrC6pc8mzb2l8NLrUaMVlU26uZW1Rt1qwTarMfNXOLqM3amxFq8zotcjvG4sUk751sLiou6qD/2oscn1I7tl6l0EJ56pUKLV7LBW1p+T5kHfPYByO1qJeeoUtNL/2X3taQOzemfpY/7tymc6hJx5xV7dwiarNmnVCb/aidm3dt6t+nYh1ry+NRm9dJ+XmxeDHJeyebi4qLOui/9iLHp7SMrc2BFk49Q6amBevUQlqi/+aS/04L3jKuzuUSl8aMMvMYnbE2a4iIeQ1q8zrUZnu91KbOw/NcLF5M8t7J5qLiog76r73I8Sn08dhm7j9qc2zUJnrVS//pPDzPxeLFJO+dbC4qLuqg/9qLHJ9CH49t5v6jNsdGbaJXvfSfzsPzXCxeTPLeyeZaxtVLmXoJU+8Rz5u+JafVy4QRMZf0km16+Ta1VrGj6mZPIsen0Mdjm7n/qM2xUZvoVS/9p/PwPBeLF5O8d7K5FnH1LRD6MFPKa61pk3Dp+8TXRMQsKX1jRWotNiQ6LtpK/ReFPh7bzP1HbY6N2kSveuk/nYfnuVi8mOS9k83Vjqtvm0j5nNPWvtHhEhExS7TZKMVLjc3ImFL/RaGPxzZz/1GbY6M20ate+k/n4XkuFi8mee9kc7XjplwuaXq1YovSMU+1rTFLSn+lNG9sRsaU+i8KfTy2mfuP2hwbtYle9dJ/Og/Pc7F4Mcl7J5urHTfloqa3TemzGvrMhP732Hdmb5Efxyvm0vIPupXeMsZmZEyp/6LQx2Obuf+ozbFRm+hVL/2n8/A8F4sXk7x3srnacXUTrrZ24126SVfbcqMeEXNpuekp/bVpNiNjSv0XhT4e28z9R22OjdpEr3rpP52H57lYvJjkvZPN1Y576sPh+qB5yjdvW27UI2Lm9CpMftz07Vn5z9TYjIwp9V8U+nhsM/cftTk2ahO96qX/dB6e52LxYpL3TjbnHbd0k67W4kY9aRlTH4TPj6lXSKQUs0WOOi7aSv0XhT4e28z9R22OjdpEr3rpP52H57lYvJjkvZPNecdde5WixbdbJS1jLr/JS2/PEjYj80j9F4U+HtvM/Udtjo3aRK966T+dh+e5WLyY5L2TzXnHLf0dDn2mo6VWMZcbjvwbutiMzCP1X5Sbm5u7c6CN19R/s6I2x27UJq3X1kttpvPxYvHiNgSRsb0s39KUml65aKVlTG0+8mPmmw02I/NI/Yc2uLYAcBnmTR/e67/Fi+lc72RznnFnelVk+W1ZertWjs3IPFL/oQ2uLQBchnnTh/f6b/FiOtc72ZxX3NJX3aq1uEFPWsbMvy649Bfd2YzMI/Uf2uDaAsBlmDd9eK//Fi+mc72TzXnE1Vfvphzzpq/AbaVlzNJX+S6xGZlH6j+0wbUFgMswb/rwXv8tXkzneiebax1Xm4LSX0Ffvq2pptYx82OvveWLzcg8Uv+hDa4tAFyGedOH9/pv8WI61zvZXMu4a5uCFy9e2CPqax1zucnQZkQfZF82xcsfp6af6Xc1XxHScdFW6j+0wbUFgMswb/rwXv8tXkzneiebaxk3/1xFai03ItI6ZukVj2taLTWPhbLafYZDXFsAuAzzpg/v9d/ixXSud7K5VnHXXhloySMmm5H9qd1nOMS1BYDLMG/68F7/LV5M53onm2sRt+amQN9SpQ2A2rG/mO4Vc+2D8Ze0tc+ZXEPHQ1up39AG1xYALsO86cN7/bd4MZ3rnWyudlx9JiLlk9q1m4JPnz7961jaICx5x9SGJG1W1pr+qOLyOPqZfndsU3UpHRdtpf5DG1xbALgM86YP7/Xf4sV0rneyuZpx11410MYgfbD7WFsq/cHC5Ye/I2KeQ5uO5XH0s9p0XLSV+g9tcG0B4DLMmz6813+LF9O53snmasYtvRpwSVverGuzsHzMcmMQEfMcbEbmkfoPbXBtAeAyzJs+vNd/ixfTud7J5mrGrb0xOOdVioiY52AzMo/Uf2iDawsAl2He9OG9/lu8mM71TjZXM64+C1H6Gx/ntuVnKZaf39Cxl4+JiHmO5dvHdBz9rDYdG22lPkQbXFsAuAzzpg/v9d/ixXSud7K5qLiX0CsKLV5VOCYi5jVG6L/RRY7PPeDaAsBlmDd9eK//Fi+mc72TzUXFRR30X3uR43MPuLYAcBnmTR/e67/Fi+lc72RzUXFRB/3XXuT43AOuLQBchnnTh/f6b/FiOtc72VxUXNRB/7UXOT73gGsLAJdh3vThvf5bvJjO9U42FxUXddB/7UWOzz3g2gLAZZg3fXiv/xYvpnO9k81FxUUd9F97keNzD7i2AHAZ5k0f3uu/xYvpXO9kc1FxUQf9117k+NwDri0AXIZ504f3+m/xYjrXO9lcVFzUQf+1Fzk+94BrCwCXYd704b3+W7yYzvVONhcVF3XQf+1Fjs894NoCwGWYN314r/8WL6ZzvZPNRcVFHfRfe5Hjcw+4tgBwGeZNH97rv8WL6VzvZHNRcVEH/dde5Pic0efPn29/++23u6Zrm//748eP9kgAgDBvxvBe/y1e3IYgMjbGRf+1Fzk+Z5QW0rX2+vVreyQAQJg3Y6Tr68XixW0IomLf3NzcxaeN19R/aCtda9Txzz//HJ139AwgAOB/mDdjpOvrxeLtbzMC4DjGZ32PHz++u655+/bbb+0RAIAc86a/dI29WDw2IwAOMT7re/Pmzd11zdvLly/tEQCAHPOmv3SNvVg8NiMADjE+6/vy5cvddc3b+/fv7REAgBzzpr90jb1YPDYjAA4xPtt49OjR3bVVu3fvnv0GAFDCvOkrXWcvFo/NCIBDjM82/vOf/9xdW7UnT57YbwAAJcybvtJ19mLx2IwAOMT4bEPfi5+urdrPP/9svwEAlDBv+krX2YvFYzMC4BDjs5379+9/vbbffPPN16+uBAAcx7zpx3v9t3hsRgAcYny28+zZs6/X9rvvvrOfAACOYd70473+Wzw2IwAOMT7bSX9VWF9ZCQA4jXnTj/f6b/HYjAA4xPhsJ/1V4T///NN+AgA4hnnTj/f6b/HYjAA4FD0+Hzx4cHcOtPGa+g+AL+bNsVsv82Y6Hy8Wj80IgEPR43P2uWH2D2AytwP+mDfH1kv/6Tw8z8XixSTvnSyA80WPT+aGsdF/gD/G3dh66T+dh+e5WLyY5L2TBXC+6PHJ3DA2+g/wx7gbWy/9p/PwPBeLF5O8d7IAzhc9Ppkbxkb/Af4Yd2Prpf90Hp7nYvFikvdOFsD5oscnc8PY6D/AH+NubL30n87D81wsXkzy3skCOF/0+GRuGBv9B/hj3I2tl/7TeXiei8WLSd47WQDnix6fzA1jo/8Af4y7sfXSfzoPz3OxeDHJeycL4HzR45O5YWz0H+CPcTe2XvpP5+F5LhYvJnnvZAGcL3p8MjeMjf4D/DHuxtZL/+k8PM/F4sUk750sgPNFj0/mhrHRf4A/xt3Yeuk/nYfnuVi8mOS9kwVwvujxydwwNvoP8Me4G1sv/afz8DwXixeTvHeyAM4XPT6ZG8ZG/wH+GHdj66X/dB6e52LxYpL3ThbA+aLHZ8vYnz59uv31119vX716ddDevXt3+8cff9ij6lNcxchj/vTTT7fv37+3R9T1119/heQpzO2Av9nmzYg5jHnTf/23eDHJeycL4HzR47NFbC0w33///V1ua00LjxakWnSsp0+fFmOlpvP68OGD/RfbaHNzKp5a7TxzOj4AXy3GXcS8GTGHMW/+T8rVi8WLSd47WQDnix6ftWPrFYiU0zlNi28NeiatdPy1tnVD8vbt2+Jx15ry/Pvvv+2/rkfHBuCr9riLmDcj5jDmzUMpTy8WLyZ572QBnC96fNaOnfK5pGmB2kqLVunYx9qWRa50vFNNz/TVpuMC8FV73OXzxLlt67xZOuaptnUOKx3zVJt53kw5erF4Mcl7JwvgfNHjs3bslI9ehterD/kNv/5d2jRsfZav9GxbvlDrHF68eHH0MZfKj6Nc9T5nvc1C/3tsY1Rbi2MCOK72uEvzg+e8mR/Law7Lj8O8+b/r4cXixSTvnSyA80WPz9qxdYN/7C1Q+l3KOW9bLBextWfSSovdtbSQqq190FK/W8ZSq/3BTB0TgK/a4y5i3oyYwyJiluiYPUj5ebF4Mcl7JwvgfNHjMyJ2yjlv19I3zyyPtbaol15BuXaRO/XBSn1IcxlrS7w1OiYAXxHjLp9HUtsiYg5j3jyU8vNi8WKS904WwPmix6d3bL39IOWct2vpJf7lsdY+C1J6dlGLXwtaPJex1NiMAOPzHne1581zeM1hub3Nmyk/LxYvJnnvZAGcL3p8escubR70TTLX0luylsdbU1rodD4trD3Dt7ZRupaOCcCX97irPW+ew2sOy+1t3kz5ebF4Mcl7JwvgfNHj0zP22kKz5bvkl5uRYx/qVJz8sWqtFvTSV3Xq/dC16bgAfHmOuxbz5jm85rDc3ubNlKMXixeTvHeyAM4XPT5bxdaioo1CaqUPj+tn+szHFstjKtYxlz7+GmtvqdBNRW06LgBfrcad17x5iuccluxx3kw5erF4Mcl7JwvgfNHjs0Xstff95m3L1+rmlsftYTPi+Yyijg3AV4tx5zlvnjLzqyKiY/cg5enF4sUk750sgPNFj88Wsc9ZVNW00Gx91mt5zOjNyNpXcNb+AGaiYwPw1WLcec6bx3jPYbLXeTPl6cXixSTvnSyA80WPzxax9XK7bvJTK/3BwbxtebZveazIzUjpMylqrT4kLzo+AF8txp3nvLkmYg7b87yZcvVi8WKS904WwPmix6dnbL3PeW2BvXbhWR5Hxz9m+Xi9NaAGLail93e3fluFYgDw5TnuWsybJRFz2N7nzZSvF4sXk7x3sgDOFz0+I2LrbQYp79SufW+wnkFcHmtN6Rm4Gov52oJ6amNUg+IA8BUx7mrOm0sRcxjzpv/6b/FikvdOFsD5osdnRGy93znlnTe9TeFSl2xGSu/JrvHe69JNgseCKooFwFfEuKs5by5FzGHMm/7rv8WLST4lS6PR+m1RImKvfVDzmg8rvnv37uzjlBbzrR+Q1OK5PKbXgiqKB8BXxLirOW/mIuYw5s3/Srl7sXgxyT98+PAuYRqN1meLEhG7tIFYOw8966fFVq30DGDpW1jW3nq1fBVFbxEoORUziV5QRTEB+IoYdzXnzaTmHMa8ebmUvxeLx6IB4JD3ZLRUM7Y+aKkb/mN/kOuS9wnrOMvHaaHLadFbPqa0ySgdq/QhyXNiSuntYd4LqiguAF81x13EvCk15zDmzeuka+DF4rFoADjkPRkt1YytVyRSPno/sG729bPUSn/UKjW9wrFUenzpVY+1P5alx2qRXHtGsfTs3TkxdWOwfIyaFlUttqdaTYoLwFfNcaf5Jc0hXvNm7TmMefM66Rp4sXgsGgAOeU9GSzVja/FJ+VzS1r7GUQvQ8rHLBU60qSg9a3isaYNSck7MtQ+SnttKzxheS8cD4KvmuIuYN2vPYcyb10m5ebF4LBoADnlPRks1Y68983WsrS2ocs6zbcnaX/Atta0xWVSBfas57iLmzdpzGPPmdVJuXiweiwaAQ96T0VLt2HqVQgvlqVcqtHidWlyW70PWMY99MFKLeukZutT0FojS2xpy58S85pWYvB3L4VI6HgBftced97xZew5j3rxOys2LxWPRAHDIezJaahlbmwMtnHqGTE0L1jXPbum/ueS/06K1jKtzucSlMaOwrgD+Zpw3a4iIeY1e5k2dh+e5WDwWDQCHvCejJealsdF/gD/G3dh66T+dh+e5WDyKF8Ah78loiXlpbPQf4I9xN7Ze+k/n4XkuFo/iBXDIezJaYl4aG/0H+GPcja2X/tN5eJ6LxaN4ARzynoyWmJfGRv8B/hh3Y+ul/3Qenudi8SheAIe8J6Ml5qWx0X+AP8bd2HrpP52H57lYPIoXwCHvyWiJeWls9B/gj3E3tl76T+fheS4Wj+IFcMh7MlpiXhob/Qf4Y9yNrZf+03l4novFo3gBHPKejJaYl8ZG/wH+GHdj66X/dB6e52LxKF4Ah7wnoyXmpbHRf4A/xt3Yeuk/nYfnuVg8ihfAIe/JaIl5aWz0H+CPcTe2XvpP5+F5LhaP4gVwyHsyWrq5ubk7B9p4Tf0HwBfz5titl3kznY8Xi8dmBMAh78kIAADE817/LR43HAAOeU9GAAAgnvf6b/G44QBwyHsyAgAA8bzXf4vHDQeAQ96TEQAAiOe9/ls8bjgAHPKejAAAQDzv9d/iccMB4JD3ZAQAAOJ5r/8WjxsOAIe8JyMAABDPe/23eNxwADjkPRkBAIB43uu/xeOGA8Ah78kIAADE817/LR43HAAOeU9GAAAgnvf6b/G44QBwyHsyAgAA8bzXf4vHDQeAQ96TEQAAiOe9/ls8bjgAHPKejAAAQDzv9d/iccMB4JD3ZAQAAOJ5r/8WjxsOAIe8JyMAABDPe/23eNxwADjkPRkBAIB43uu/xeOGA8Ah78kIAADE817/LR43HAAOeU9GAAAgnvf6b/G44QBwyHsyAgAA8bzXf4vHDQeAQ96TEQAAiOe9/ls8bjgAHPKejAAAQDzv9d/iccMB4JD3ZAQAAOJ5r/8WjxsOAIe8JyMAABDPe/23eNxwADjkPRkBAIB43uu/xeOGA8Ah78kIAADE817/LR43HAAOeU9GAAAgnvf6b/G44QBwyHsyAgAA8bzXf4vHDQeAQ96TEQAAiOe9/ls8bjgAHPKejAAAQDzv9d/iccMB4JD3ZAQAAOJ5r/8WjxsOAIfSZESj0Wg0Gm1/zYvFYzMC4NDDhw8PJiUajUaj0Wj7aPfv37e7gfYsJpsRAAAAAL7YjAAAAAAIwWYEAAAAQAg2IwAAAABCsBkBAAAAEILNCAAAAIAQbEYAAAAAhGAzAgAAACAEmxEAAAAAIdiMAAAAAAjBZgQAAABACDYjAAAAAEKwGQEAAAAQgs0IAAAAgBBsRgAAAACEYDMCAAAAIASbEQAAAAAh2IwAAAAACMFmBAAAAEAINiMAAAAAQrAZAQAAABCCzQgAAACAEGxGAAAAAIRgMwIAAAAgBJsRAAAAACHYjAAAAAAIwWYEAAAAQAg2IwAAAABCsBkBAAAAEILNCAAAAIAQbEYAAAAAhLjbjNBoNBqNRqPRaDSab/u/2/8HYejzh2DPbWEAAAAASUVORK5CYII=" style="max-width:500px"></div></div></div><p><a href="#figure_5-2">Figure 5-2, <em>Example versioning system</em>, above,</a> illustrates eight different version series. Within this illustration these are the only sequences that have chronological relationships that can be identified through version numbers.</p><ul><li>Series 2 is {2.2, 2.3, 2.4}</li><li>Series 3 is {3.0, 3.1, 3.2}</li><li>Series 2.2 is {2.2, 2.2.1, 2.2.2, 2.2.3, 2.2.4}</li><li>Series 2.3 is {2.3, 2.3.1}</li><li>Series 2.4 is {2.4, 2.4.1}</li><li>Series 3.0 is {3.0, 3.0.1, 3.0.2}</li><li>Series 3.1 is {3.1, 3.1.1}</li><li>Series 3.2 is {3.2, 3.2.1, 3.2.2}</li></ul><p>The second implication of <a href="#rule_5-10">Rule 5-10, <em>MPD Version Number Syntax</em>, above,</a> is that pre-releases are easily identified by the strings <code>alpha</code>, <code>beta</code>, and <code>rc</code>. These strings are simple visible indicators of MPD status or stage of development.</p><p>This specification places no further restrictions or meaning (implied or otherwise) on a version number. Authors have the option to use integers between dots to indicate degree of compatibility or other relationships between versions as needed. For example, for a given <a name="d3e3632"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>, the author may declare that if an instance validates to version 4.2.3, then it will also validate to version 4.2. Such a claim is acceptable. However, this specification does not imply any such relationships. Any meaning assigned to version sequence by an authoritative source should be unambiguously documented within the <a name="d3e3635"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>.</p><p>MPD version numbers within a version series do NOT imply compatibility between versions. Compatibility between or among MPD versions MUST be explicitly stated in documentation.</p><p>Note that an author who updates an existing <a name="d3e3644"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> to a new version may choose the version number based on its previous version number or not, as long as it follows the version number syntax. </p><p>Version number syntax applies to MPDs only; there is no requirement to apply this syntax to artifact versioning.</p></div><div class="section"><div class="heading"><a name="URI-Schemes"></a><a name="section_5.2.4"></a>5.2.4. URI Schemes</div><p>All MPDs use Uniform Resource Identifiers (URIs) to identify artifacts and other resources. Several kinds of URIs are employed by MPDs to reference other MPDs, MPD artifacts (internally and externally), conformance targets, documents, and other resources. For each type of URI used in an MPD catalog document, this section describes its purpose, options, and syntax based on <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>.</p><p>The following definitions will be useful to understanding MPD rules defined in later subsections that involve various kinds of URIs.</p><div class="box"><div class="normativeHead"><a name="definition_path_name"></a>[Definition: <dfn>path name</dfn>]</div><div class="sub"><p>A general form of the name of a file or directory that specifies a unique location in a file system. A path name points to a file system location by following the directory tree hierarchy expressed in a string of characters in which path components, separated by a delimiting character, represent each subdirectory. If a path name terminates in a file name, then it specifies the location of that file.</p></div></div><div class="box"><div class="normativeHead"><a name="definition_resolve_URI"></a>[Definition: <dfn>resolve URI</dfn>]</div><div class="sub"><p>A function (or action) that takes a URI string of the form <code>xs:anyURI</code> and returns the resource it identifies. If the URI is local (i.e., within an <a name="d3e3681"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>) and the resource does not exist, then this function fails. If a URI is remote or of unknown location (e.g., a URN), then this function (or action) may require human assistance to determine if a resource associated with the URI exists (pass) or not (fail).</p></div></div><div class="section"><div class="heading"><a name="mpdURI"></a><a name="section_5.2.4.1"></a>5.2.4.1. MPD URI Scheme (<code>c:mpdURI</code>)</div><p>To facilitate MPD sharing and reuse, the assignment of a URI (Uniform Resource Identifier) to an MPD is essential. This is enforced by the MPD catalog schema document <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>. It is also important to ensure that an MPD URI is absolute.</p><div class="rule-section"><div class="heading"><a name="r-mpduri"></a><a name="rule_5-11"></a>Rule 5-11. MPD URI Is Absolute</div><div class="box"><div class="normativeHead">[Rule 5-11] (WF-MPD) (Constraint)</div><p>In an MPD catalog document, the value of a <code>c:mpdURI</code> attribute of type <code>xs:anyURI</code> MUST match the production <absolute-URI> as defined by <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>, <a target="_blank" href="http://tools.ietf.org/html/rfc3986#section-4.3"> §4.3, <q>Absolute URI</q></a>.</p></div></div><p>This rule implies that a URI assigned to an <a name="d3e3726"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> must be valid. Furthermore, the entity (person or organization) assigning the MPD URI either (1) <em>is</em> the registrant of the domain name or namespace identifier, or (2) <em>has</em> authority from the registrant to assign this URI.</p><p>Examples of valid MPD URIs:</p><ul><li><code>http://example.gov/niem-iepd/prescription-monitoring-info-exchange/3.0/</code></li><li><code>http://example.gov/niem-iepd/pmix/3.0/</code></li><li><code>http://release.niem.gov/niem/niem-core/3.0/</code></li><li><code>http://niem.gov/niem/domains/cyfs/2.1/1</code></li></ul><p>This specification does not mandate that basic MPD catalog metadata be designed into an MPD URI. However, including such can obviously provide convenient visual recognition. That said, an author should ensure any metadata embedded in the URI accurately reflect the MPD catalog metadata (in particular, the values of <code>c:mpdURI</code>, <code>c:mpdName</code>, <code>c:mpdVersionID</code>, and <code>c:mpdClassURIList</code> defined in the MPD catalog document).</p></div><div class="section"><div class="heading"><a name="externalURI"></a><a name="section_5.2.4.2"></a>5.2.4.2. URI Scheme for MPD Artifacts (<code>c:externalURI</code>)</div><p>Artifacts in other MPDs can be referenced from within an <a name="d3e3790"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> to identify equivalence (signify reuse, one aspect of lineage). To support this concept, the following MPD URI rules are necessary:</p><div class="rule-section"><div class="heading"><a name="r-uri-frag"></a><a name="rule_5-12"></a>Rule 5-12. MPD URI Supports Fragment</div><div class="box"><div class="normativeHead">[Rule 5-12] (WF-MPD) (Constraint)</div><p>A valid MPD URI MUST support the inclusion of a <em>fragment identifier</em> (as a suffix) <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>.</p></div><p>This rule ensures that an <a name="d3e3811"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> can always uniquely identify and refer to each artifact within another MPD. This MPD specification follows <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a> which forbids a URI to contain more than a single fragment identifier. To construct an MPD artifact URI, add a fragment (that locally identifies the artifact) to an MPD URI, and therefore, an MPD URI cannot already contain a fragment.</p></div><div class="rule-section"><div class="heading"><a name="r-uri-nofrag"></a><a name="rule_5-13"></a>Rule 5-13. MPD URI Has No Fragment</div><div class="box"><div class="normativeHead">[Rule 5-13] (WF-MPD) (Constraint)</div><p>A valid MPD URI MUST NOT contain a <em>fragment identifier</em> <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>.</p></div><p>Rationale: If a URI for an <a name="d3e3835"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> (do NOT confuse this with a URI for an MPD artifact) already contains a fragment identifier, then that URI cannot be employed as an MPD artifact URI, because <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a> only allows a single fragment identifier.</p></div><p>By the following rule, each file artifact or artifact set is uniquely identified by its <a name="d3e3844"></a><a href="#definition_path_name"><span class="termRef">path name</span></a> relative to the <a name="d3e3847"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>.</p><div class="rule-section"><div class="heading"><a name="r-mpd-uri-syntax"></a><a name="rule_5-14"></a>Rule 5-14. MPD Artifact URI Syntax</div><div class="box"><div class="normativeHead">[Rule 5-14] (WF-MPD) (Interpretation)</div><p>Within an <a name="d3e3860"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> a URI reference to an artifact in another external MPD (i.e., an MPD artifact URI) is the concatenation of:</p><ul><li>The URI of the <a name="d3e3869"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> that contains the artifact.</li><li>A pound-sign character ("#" — also known as a hashtag character).</li><li>An identifier that is the artifact’s locally unique <a name="d3e3884"></a><a href="#definition_path_name"><span class="termRef">path name</span></a> relative to the <a name="d3e3887"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>.</li></ul></div></div><p>An artifact set has a locally unique <a name="d3e3896"></a><a href="#definition_path_name"><span class="termRef">path name</span></a>. An artifact has a path name that terminates with its file name which is unique to the directory it resides in.</p><p>The following are examples of valid MPD artifact URIs:</p><ul><li><code>http://example.gov/niem-iepd/pmix/3.0/#subset/niem-core.xsd</code> (a file artifact)</li><li><code>http://example.gov/niem-iepd/pmix/3.0beta2/#extension/ext-1.1.xsd</code> (a file artifact)</li><li><code>http://example.gov/niem-iepd/pmix/3.0/#application-info</code> (a set artifact)</li><li><code>http://example.gov/niem-iepd/pmix/3.0/#iep-sample/query</code> (a set artifact)</li></ul><p>Since MPD URIs require the support of fragment identifiers (by <a href="#rule_5-12">Rule 5-12, <em>MPD URI Supports Fragment</em>, above</a>), it does not appear that the <q>urn</q> URI scheme may be used as an MPD URI. Fragments use the <q><code>#</code></q> character, and the specification for the <q>urn</q> scheme (<a href="#RFC2141-URN-Syntax" class="ref">[RFC 2141 URN Syntax]</a>) indicates that they are not valid in URNs, when it states:</p><blockquote><p>RFC 1630 reserves the characters <q>/</q>, <q>?</q>, and <q>#</q> for particular purposes. The URN-WG has not yet debated the applicability and precise semantics of those purposes as applied to URNs. Therefore, these characters are RESERVED for future developments.</p></blockquote><p>Artifact URIs are used as values for the <code>c:externalURI</code> attribute in the MPD catalog XML document to declare equivalence relationships between artifacts (See <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>). A simple scenario follows. Consider two different IEPDs with the following URIs:</p><ol><li><code>http://example.gov/niem-iepd/pmix/3.0/</code></li><li><code>http://www.abc.org/niem-iepd/order/2.1.2rev3/</code></li></ol><p>The author of <a name="d3e3986"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> (2) has decided to reuse the <code>base-xsd/extension/req1.xsd</code> artifact in <a name="d3e3992"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> (1) as-is. He/she can optionally create an MPD catalog <code>c:ExtensionSchemaDocument</code> entry for this artifact (assuming it is an extension schema document), and add the attribute:</p><blockquote><p><code>c:externalURI="http://example.org/niem-iepd/pmix/3.0/#base-xsd/extension/req1.xsd"</code></p></blockquote><p>Additional <code>c:externalURI</code> attributes may be added to this entry if the author knows of other uses of this same artifact in other MPDs and wishes to acknowledge them.</p><p>A URI does not have the same meaning as namespace. NIEM namespaces cannot be used as MPD artifact URIs. Recall that the target namespace used in a subset schema document derived from a NIEM release schema document is identical to the target namespace of that release schema document. Furthermore, an <a name="d3e4014"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> may contain multiple subsets. NIEM namespaces are not necessarily unique to an artifact within an <a name="d3e4017"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>. Later, <a href="#section_5.5">Section 5.5, <em>XML Catalogs</em>, below,</a> will describe the use of <a href="#OASIS-XML-Catalogs" class="ref">[XML Catalogs 1.1]</a> to correlate namespaces to local URIs in order to <a name="d3e4024"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> them to local resources.</p><p>The value of <code>c:externalURI</code> is an identifier for a remote resource that is not necessarily accessible online. For this reason, even though such URIs should be correct (i.e. a resource with that URI should exist), their verification is not within the scope of this specification.</p></div><div class="section"><div class="heading"><a name="pathURI"></a><a name="section_5.2.4.3"></a>5.2.4.3. URI Scheme for Local MPD Artifacts (<code>c:pathURI</code>)</div><p>An MPD uses the file directory system of path names and file names to identify local artifacts and artifact sets. All local URIs are relative to the location of the <a name="d3e4046"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, and therefore, they are also relative to the <a name="d3e4049"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a> since the MPD catalog document resides in the MPD root directory.</p><p>In general, every value of attribute <code>c:pathURI</code> in an MPD catalog document will be a relative <a name="d3e4058"></a><a href="#definition_path_name"><span class="termRef">path name</span></a> to a directory (i.e., an artifact set), or to a file (i.e., an artifact). The following are typical examples of each:</p><blockquote><p>Artifact Set: <code>c:pathURI="base-xsd/niem/niem-core/3.0"</code></p><p>Artifact: <code>c:pathURI="base-xsd/niem/niem-core/3.0/niem-core.xsd"</code></p></blockquote><p>Note that per <a href="#table_5-1">Table 5-1, <em>Summary of<a class="url" target="_blank" href="http://tools.ietf.org/html/rfc3986"> <q>RFC 3986 URI: Generic Syntax</q></a></em>, below,</a> and <a href="#table_5-2">Table 5-2, <em>Summary of MPD URI attributes</em>, below,</a> a local URI may contain an optional fragment. Although <code>c:pathURI</code> has no use for a URI with a fragment, MPD documentation artifacts could reference a subpart within a local artifact by using a relative URI with a fragment.</p><p>Despite its simplicity, <code>c:pathURI</code> comes with over a dozen rules that help to define a <a name="d3e4096"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a>. These rules ensure that every <code>c:pathURI</code> attribute value in a well-formed <a name="d3e4102"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> resolves to a correct local resource:</p><div class="rule-section"><div class="heading"><a name="wfm2"></a><a name="rule_5-15"></a>Rule 5-15. <code>c:pathURI</code> Resolves to a Resource</div><div class="box"><div class="normativeHead">[Rule 5-15] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4116"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute MUST <a name="d3e4122"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a resource.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm3"></a><a name="rule_5-16"></a>Rule 5-16. <code>c:pathURI</code> for <code>c:XMLCatalog</code></div><div class="box"><div class="normativeHead">[Rule 5-16] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4140"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:XMLCatalog</code> element MUST <a name="d3e4149"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to an <a name="d3e4152"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm4"></a><a name="rule_5-17"></a>Rule 5-17. <code>c:pathURI</code> for <code>c:MPDChangeLog</code></div><div class="box"><div class="normativeHead">[Rule 5-17] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4170"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:MPDChangeLog</code> element MUST <a name="d3e4179"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a <a name="d3e4182"></a><a href="#definition_change_log"><span class="termRef">change log</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm5"></a><a name="rule_5-18"></a>Rule 5-18. <code>c:pathURI</code> for <code>c:ReadMe</code></div><div class="box"><div class="normativeHead">[Rule 5-18] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4200"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:ReadMe</code> element MUST <a name="d3e4209"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a <a name="d3e4212"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm6"></a><a name="rule_5-19"></a>Rule 5-19. <code>c:pathURI</code> for <code>c:IEPSampleXMLDocument</code></div><div class="box"><div class="normativeHead">[Rule 5-19] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4230"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:IEPSampleXMLDocument</code> element MUST <a name="d3e4239"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to an <a name="d3e4242"></a><a href="#definition_XML_document"><span class="termRef">XML document</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm7"></a><a name="rule_5-20"></a>Rule 5-20. <code>c:pathURI</code> for <code>c:BusinessRulesArtifact</code></div><div class="box"><div class="normativeHead">[Rule 5-20] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4261"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:BusinessRulesArtifact</code> element MUST <a name="d3e4270"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a <a name="d3e4273"></a><a href="#definition_business_rule_schema"><span class="termRef">business rule schema</span></a> or <a name="d3e4277"></a><a href="#definition_business_rules"><span class="termRef">business rules</span></a> artifact.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm8a"></a><a name="rule_5-21"></a>Rule 5-21. <code>c:pathURI</code> for <code>c:XMLSchemaDocument</code></div><div class="box"><div class="normativeHead">[Rule 5-21] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4295"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:XMLSchemaDocument</code> element MUST <a name="d3e4304"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to an <a name="d3e4307"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm8"></a><a name="rule_5-22"></a>Rule 5-22. <code>c:pathURI</code> for <code>c:ExternalSchemaDocument</code></div><div class="box"><div class="normativeHead">[Rule 5-22] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4325"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:ExternalSchemaDocument</code> element MUST <a name="d3e4334"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to an <a name="d3e4337"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm9"></a><a name="rule_5-23"></a>Rule 5-23. <code>c:pathURI</code> for <code>c:ReferenceSchemaDocument</code></div><div class="box"><div class="normativeHead">[Rule 5-23] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4355"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:ReferenceSchemaDocument</code> element MUST <a name="d3e4364"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a NIEM <a name="d3e4367"></a><a href="#definition_reference_schema_document"><span class="termRef">reference schema document</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm10"></a><a name="rule_5-24"></a>Rule 5-24. <code>c:pathURI</code> for <code>c:ExtensionSchemaDocument</code></div><div class="box"><div class="normativeHead">[Rule 5-24] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4385"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:ExtensionSchemaDocument</code> element MUST <a name="d3e4394"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a NIEM <a name="d3e4397"></a><a href="#definition_extension_schema_document"><span class="termRef">extension schema document</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm11"></a><a name="rule_5-25"></a>Rule 5-25. <code>c:pathURI</code> for <code>c:SubsetSchemaDocument</code></div><div class="box"><div class="normativeHead">[Rule 5-25] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4415"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:SubsetSchemaDocument</code> element MUST <a name="d3e4424"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a NIEM <a name="d3e4427"></a><a href="#definition_subset_schema_document"><span class="termRef">subset schema document</span></a>.</p></div><p>Note: It is not possible for a Schematron rule to verify that the URI resolves to a NIEM subset schema document, only that it is a schema document.</p></div><div class="rule-section"><div class="heading"><a name="wfm12"></a><a name="rule_5-26"></a>Rule 5-26. <code>c:pathURI</code> for <code>c:Wantlist</code></div><div class="box"><div class="normativeHead">[Rule 5-26] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4449"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:Wantlist</code> element MUST <a name="d3e4458"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a <a name="d3e4461"></a><a href="#definition_NIEM_wantlist"><span class="termRef">NIEM wantlist</span></a> XML document.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm13"></a><a name="rule_5-27"></a>Rule 5-27. <code>c:pathURI</code> for <code>c:SchematronSchema</code></div><div class="box"><div class="normativeHead">[Rule 5-27] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4479"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:SchematronSchema</code> element MUST <a name="d3e4488"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a <a name="d3e4491"></a><a href="#definition_Schematron_schema"><span class="termRef">Schematron schema</span></a>.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm14"></a><a name="rule_5-28"></a>Rule 5-28. <code>c:pathURI</code> for <code>c:RelaxNGSchema</code></div><div class="box"><div class="normativeHead">[Rule 5-28] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4509"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:RelaxNGSchema</code> element MUST <a name="d3e4518"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a RelaxNG schema.</p></div></div><div class="rule-section"><div class="heading"><a name="wfm15"></a><a name="rule_5-29"></a>Rule 5-29. <code>c:pathURI</code> for <code>c:SchemaDocumentSet</code></div><div class="box"><div class="normativeHead">[Rule 5-29] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4536"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:SchemaDocumentSet</code> element MUST <a name="d3e4545"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to an <a name="d3e4548"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set.</p></div></div><div class="rule-section"><div class="heading"><a name="r1-csds"></a><a name="rule_5-30"></a>Rule 5-30. <code>c:pathURI</code> for <code>c:ConstraintSchemaDocumentSet</code></div><div class="box"><div class="normativeHead">[Rule 5-30] (WF-MPD) (Constraint)</div><p>Within an <a name="d3e4566"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>, the value of a <code>c:pathURI</code> attribute owned by a <code>c:ConstraintSchemaDocumentSet</code> element MUST <a name="d3e4575"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a NIEM <a name="d3e4578"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set.</p></div></div><div class="rule-section"><div class="heading"><a name="r2-csds"></a><a name="rule_5-31"></a>Rule 5-31. </div><div class="box"><div class="normativeHead">[Rule 5-31] (WF-MPD) (Interpretation)</div><p>Any <a name="d3e4591"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set whose <code>c:pathURI</code> attribute resolves to a <a name="d3e4597"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a> MUST be interpreted to be a <a name="d3e4600"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a>.</p></div></div></div><div class="section"><div class="heading"><a name="MPD-Relationships"></a><a name="section_5.2.4.4"></a>5.2.4.4. MPD Relationships and Lineage (<code>c:resourceURI</code>)</div><p>An important business requirement is transparency of MPD lineage. Data lineage is also referred to as <em>data provenance</em>, how the data was derived and where it came from. There are two basic views of data provenance: (1) as data annotations; and (2) as a graph of data relationships <a href="#Principles-of-Data-Integration" class="ref">[Principles of Data Integration]</a>, Chapter 14 <q>Data Provenance</q>.</p><p>The MPD Specification adapts the latter view of data provenance to enable a simple framework for recording MPD lineage within an MPD catalog. The URI scheme for MPDs and their artifacts and sets enables a graph of relationships. An <a name="d3e4628"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> may internally identify and record relationships to other MPDs, including families, versions, adaptations, specializations, generalizations, etc.</p><p>The next few paragraphs require understanding of URIs for MPDs and MPD artifacts. See <a href="#section_5.2.4.1">Section 5.2.4.1, <em>MPD URI Scheme (<code>c:mpdURI</code>)</em>, above,</a> and <a href="#section_5.2.4.2">Section 5.2.4.2, <em>URI Scheme for MPD Artifacts (<code>c:externalURI</code>)</em>, above</a>.</p><p>The MPD catalog provides a <code>c:Relationship</code> element with two attributes (<code>c:resourceURI</code> and <code>c:relationshipCode</code>) and an optional element (<code>nc:DescriptionText</code>) to identify ancestry and other relationships to other MPDs. There are many ways that one <a name="d3e4653"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> may relate to another. This makes it difficult to specify a fixed set of values that can objectively define an exact relationship between a pair of MPDs. Therefore, the optional <code>nc:DescriptionText</code> element is provided to further explain the nature of any of the <code>c:relationshipCode</code> values. The set is: {<code>version_of</code>, <code>specializes</code>, <code>generalizes</code>, <code>deprecates</code>, <code>supersedes</code>, <code>adapts</code>, <code>conforms_to</code>, <code>updates</code>}. In some cases, the value of <code>c:relationshipCode</code> may be generic enough to require a more detailed explanation in <code>nc:DescriptionText</code> (for example, if its value is <code>adapts</code>).</p><p>As was described in <a href="#section_5.2.4.2">Section 5.2.4.2, <em>URI Scheme for MPD Artifacts (<code>c:externalURI</code>)</em>, above</a>, the MPD catalog also enables an author to record more fine-grained ancestry between MPDs using the <code>c:externalURI</code> attribute. This attribute records an explicit equivalence relationship between artifacts reused across MPDs.</p><p>Note that a <code>c:resourceURI</code> attribute is used to identify a remote resource that is only related to the MPD whose catalog declares it. The resource is not required for validation. Therefore, the <a name="d3e4713"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> is not required to contain this resource. As in the case of <code>c:externalURI</code>, the value of a <code>c:resourceURI</code> should be correct (i.e., a resource with that URI should exist). However, in this case, existence verification is considered outside the scope of this specification.</p></div><div class="section"><div class="heading"><a name="Resolve-URI-W-Fragment"></a><a name="section_5.2.4.5"></a>5.2.4.5. Resolving an MPD URI with a Fragment</div><div class="rule-section"><div class="heading"><a name="r-resolve-uri"></a><a name="rule_5-32"></a>Rule 5-32. Resolve MPD URI with Fragment</div><div class="box"><div class="normativeHead">[Rule 5-32] (WF-MPD) (Interpretation)</div><p>Given an absolute MPD URI <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>, <a target="_blank" href="http://tools.ietf.org/html/rfc3986#section-4.3"> §4.3, <q>Absolute URI</q></a> with a fragment, resolve this URI as follows:</p><ol><li>Resolve the base URI (per <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>) to retrieve the resource MPD. If the resource MPD does not exist, then fail (existence error).</li><li><p>Apply the fragment (without "#") to the MPD resource:</p><ol><li>Locate a <code>structures:id</code> attribute value that matches the fragment string. If more than one exist, then fail (ambiguity error). If none exists, then continue.</li><li>Locate a <a name="d3e4771"></a><a href="#definition_path_name"><span class="termRef">path name</span></a> (for a directory or file) that matches the fragment string. If more than one exist, then fail (ambiguity error). If none exists, then fail (existence error).</li></ol></li><li>Return the element, directory, or file found.</li></ol></div></div><p>In the presence of NIEM <a name="d3e4786"></a><a href="#definition_reference_element"><span class="termRef">reference elements</span></a>, URI resolution may require an additional step to account for indirect references. Be sure to review <a href="#section_5.2.4.6">Section 5.2.4.6, <em>URI Resolution Involving Reference Elements</em>, below,</a> if this case applies.</p></div><div class="section"><div class="heading"><a name="URI-Resolution-Ref-Elements"></a><a name="section_5.2.4.6"></a>5.2.4.6. URI Resolution Involving Reference Elements</div><p>A NIEM element can indirectly reference its content rather than carry or encapsulate it. A NIEM element with simple content derived from type <code>xs:anyURI</code> may appear in an instance XML document as a reference element, in which case, rather than locally containing a URI as simple content, it will instead refer to another element that contains a URI. Under some circumstances, this might impact URI resolution described in <a href="#rule_5-32">Rule 5-32, <em>Resolve MPD URI with Fragment</em>, above</a>.</p><p><a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>, <a target="_blank" href="http://reference.niem.gov/niem/specification/naming-and-design-rules/3.0alpha9/NIEM-NDR-3.0alpha9-2014-04-02.html#definition_reference_element"> §12.3, <q>Reference Elements</q></a> defines a NIEM <a name="d3e4816"></a><a href="#definition_reference_element"><span class="termRef">reference element</span></a> as follows:</p><div class="box"><div class="normativeHead"><a name="definition_reference_element"></a>[Definition: <dfn>reference element</dfn>]</div><div class="sub"><p>A reference element is an element information item that has an attribute <code>structures:ref</code>. A reference element refers to its value by reference, instead of carrying it as content.</p></div></div><p>Thus, the <code>structures:ref</code> attribute value refers to another element that carries the content (for both elements) and owns a <code>structures:id</code> attribute with a value equal to that of <code>structures:ref</code>.</p><p>The <a name="d3e4844"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> reuses NIEM Core and so it conforms to NIEM. Therefore, one or more NIEM <a name="d3e4847"></a><a href="#definition_reference_element"><span class="termRef">reference elements</span></a> from various locations may refer to a single content bearing instance of the same element (with a unique <code>structures:id</code>). The definition of <a name="d3e4853"></a><a href="#definition_resolve_URI"><span class="termRef">resolve URI</span></a> and the URI-related rules in this section assume content bearing elements. If a URI resolution rule applies to an element in <a name="d3e4856"></a><a href="#definition_reference_element"><span class="termRef">reference element</span></a> form, then URI resolution will be applied at the site of the content-bearing element form it refers to (where the URI will be).</p></div><div class="section"><div class="heading"><a name="XML-Catalog-URI"></a><a name="section_5.2.4.7"></a>5.2.4.7. XML Catalog URI</div><p>An <a name="d3e4867"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> conforms to <a href="#OASIS-XML-Catalogs" class="ref">[XML Catalogs 1.1]</a>. For the purpose of MPD validation, the following rules ensure that an XML catalog document contains URIs that correctly resolve.</p><div class="rule-section"><div class="heading"><a name="xc1"></a><a name="rule_5-33"></a>Rule 5-33. XML Catalog <code>uri</code> Value Resolves to Resource</div><div class="box"><div class="normativeHead">[Rule 5-33] (XML-catalog) (Constraint)</div><p>Within an <a name="d3e4884"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a>, the value of a <code>uri</code> attribute owned by a <code>er:uri</code> element MUST <a name="d3e4893"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a resource.</p></div></div><div class="rule-section"><div class="heading"><a name="xc2"></a><a name="rule_5-34"></a>Rule 5-34. XML Catalog <code>uri</code> Value Resolves to Resource with Correct Target Namespace</div><div class="box"><div class="normativeHead">[Rule 5-34] (XML-catalog) (Constraint)</div><p>Within an <a name="d3e4910"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a>, given an <a name="d3e4913"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> resolved by the value of a <code>uri</code> attribute owned by a <code>er:uri</code> element, the <a name="d3e4922"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> target namespace MUST equal the value of the <code>name</code> (a namespace string) attribute owned by the <code>er:uri</code> element.</p></div></div></div><div class="section"><div class="heading"><a name="URI-Summary"></a><a name="section_5.2.4.8"></a>5.2.4.8. Summary of MPD URIs</div><p>This section summarizes the various URIs used in the MPD catalog document. It also presents a summary of <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a>. See that reference for explanation and details of URI syntax.</p><div class="table"><div class="caption"><a name="table_5-1"></a>Table 5-1: Summary of<a class="url" target="_blank" href="http://tools.ietf.org/html/rfc3986"> <q>RFC 3986 URI: Generic Syntax</q></a></div><table><thead><tr><th>Id</th><th>URI Syntax</th><th>Meaning</th><th>Examples</th></tr></thead><tbody><tr><td>1</td><td><absolute-URI></td><td>absolute URI only (no fragment)</td><td><code>http://nlets.org/rap/3.1/</code></td></tr><tr><td>2</td><td><URI></td><td>absolute URI and optional fragment</td><td><code>http://nlets.org/rap/3.1/#rap-sheet2</code></td></tr><tr><td>3</td><td><relative-reference></td><td>optional relative part and optional fragment</td><td><code>/iep-sample/query.xml </code>or<code> #A3 </code>or<code> /iep-sample/query.xml#A3</code></td></tr><tr><td>4</td><td><URI-reference></td><td><URI> or <relative-reference></td><td>any example in 1, 2, or 3 above</td></tr></tbody></table></div><p> </p><p>As the table above indicates, <a href="#RFC3986-URI" class="ref">[RFC 3986 URI]</a> allows a <relative-reference> to contain a fragment or even be a fragment itself. However, a <code>c:pathURI</code> is required to resolve to a local resource. Therefore, rules in this specification preclude a <code>c:pathURI</code> value from taking the fragment-only form of a <relative-reference>.</p><div class="table"><div class="caption"><a name="table_5-2"></a>Table 5-2: Summary of MPD URI attributes</div><table><thead><tr><th>MPD Attribute</th><th>URI Syntax (refer to table above)</th></tr></thead><tbody><tr><td><code>c:mpdURI</code></td><td><absolute-URI></td></tr><tr><td><code>c:pathURI</code></td><td><relative-reference>; excluding fragment-only format; relative to <a name="d3e5088"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a></td></tr><tr><td><code>c:externalURI</code></td><td><URI></td></tr><tr><td><code>c:resourceURI</code></td><td><URI></td></tr></tbody></table></div><p> </p></div></div></div><div class="section"><div class="heading"><a name="Change-Log"></a><a name="section_5.3"></a>5.3. Change Log</div><p>A version identifier is a useful and simple visual indicator that an <a name="d3e5131"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> has changed. However, a <em>change log</em> is needed to understand the volume, complexity, and possible impact of changes.</p><div class="box"><div class="normativeHead"><a name="definition_change_log"></a>[Definition: <dfn>change log</dfn>]</div><div class="sub"><p>An artifact that describes the changes applied to an <a name="d3e5142"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> since its previous version.</p></div></div><div class="section"><div class="heading"><a name="Change-Log-Releases-Core-Domain-Updates"></a><a name="section_5.3.1"></a>5.3.1. Change Log for Releases and Domain Updates</div><p>Once published, a NIEM release always exists. This ensures that an <a name="d3e5154"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> built from a given release will always be usable. Developers are not compelled to update their IEPDs when a new release is publshed; they may wait until an update is convenient, or absolutely necessary to take advantage of new or modified <a name="d3e5157"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>. Though not encouraged, nothing prohibits a developer from building an <a name="d3e5160"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> based on a NIEM release that is older than the most current version. There may be potential disadvantages related to interoperability levels achievable with others developing to the latest release. Nonetheless, an older version might meet the business needs of a particular organization quite well.</p><p>New versions of reference schema document sets such as NIEM releases and domain updates can have significant impacts on future IEPDs. Developers must understand in detail how changes will affect their <a name="d3e5166"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> products and the tools used to build them. To work effectively, tools for domain content development, impact analysis, migration between releases, etc. must be able to digest formal change logs. A formal change log is also essential to efficiently process and integrate new and changed content into NIEM for new releases, and to simultaneously maintain multiple versions of NIEM for users. All of the foregoing reasons dictate that a NIEM reference schema document set requires a normative change log.</p><p>Formal change logs for releases and domain updates will be detailed in future NIEM specifications related to these MPDs.</p></div><div class="section"><div class="heading"><a name="Change-Log-IEPD"></a><a name="section_5.3.2"></a>5.3.2. Change Log for IEPDs</div><p>An <a name="d3e5180"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> change log is not required to conform to any particular XML schema or other format specification. However, a change log is still required for an <a name="d3e5183"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>.</p><div class="rule-section"><div class="heading"><a name="r-mpd-changelog-iepd"></a><a name="rule_5-35"></a>Rule 5-35. IEPD Has a Change Log</div><div class="box"><div class="normativeHead">[Rule 5-35] (IEPD) (Constraint)</div><p>An <a name="d3e5195"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> MUST contain a <a name="d3e5198"></a><a href="#definition_change_log"><span class="termRef">change log</span></a> artifact that is identified by a <code>c:MPDChangeLog</code> element in its <a name="d3e5204"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>.</p></div></div><p>The <a name="d3e5212"></a><a href="#definition_change_log"><span class="termRef">change log</span></a> for the first version release of an IEPD simply contains its release date.</p><p>The format of an <a name="d3e5218"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> change log is left to the discretion of the author. A flexible <a name="d3e5221"></a><a href="#definition_change_log"><span class="termRef">change log</span></a> format encourages and facilitates easier and more rapid development. IEPDs are developed by a variety of NIEM domains, organizations, and users; and they are intended to specify implementable exchanges. As a result, an <a name="d3e5224"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> may contain both documentation artifacts and machine readable application artifacts in a large variety of formats. As a result, a consistent standard <a name="d3e5227"></a><a href="#definition_change_log"><span class="termRef">change log</span></a> would be very difficult to specify.</p></div></div><div class="section"><div class="heading"><a name="ReadMe-Artifact"></a><a name="section_5.4"></a>5.4. ReadMe Artifact</div><div class="box"><div class="normativeHead"><a name="definition_readme_artifact"></a>[Definition: <dfn>readme artifact</dfn>]</div><div class="sub"><p>An informal documentation artifact contained in a <a name="d3e5243"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> that serves as the initial general source of human readable descriptive or instructional information. A <em>readme</em> artifact or file (formerly known as a <em>master document</em>) may index or reference other more specific documentation or other explanatory materials within the <a name="d3e5252"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a>.</p></div></div><p>A <a name="d3e5259"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> is only required for IEPDs since these MPDs are allowed the greatest design flexibility, can be developed and implemented different ways, and are not centrally managed. On the other hand, releases and domain updates have restrictive rules, standard documentation for using them, and central management.</p><div class="rule-section"><div class="heading"><a name="r-mpd-readme-purpose"></a><a name="rule_5-36"></a>Rule 5-36. Readme Describes Purpose, Scope, Business Value, etc.</div><div class="box"><div class="normativeHead">[Rule 5-36] (WF-MPD) (Interpretation)</div><p>A <a name="d3e5271"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> SHOULD (at a minimum) describe the <a name="d3e5274"></a><a href="#definition_model_package_description"><span class="termRef">MPD</span></a> purpose, scope, business value, exchange information, typical senders/receivers, interactions, and references to other documentation.</p></div></div><div class="rule-section"><div class="heading"><a name="r-mpd-readme"></a><a name="rule_5-37"></a>Rule 5-37. IEPD Has a ReadMe Artifact</div><div class="box"><div class="normativeHead">[Rule 5-37] (IEPD) (Constraint)</div><p>An IEPD MUST contain a <a name="d3e5288"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> that is identified by a <code>c:ReadMe</code> element in its <a name="d3e5294"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>.</p></div></div><p>The <a name="d3e5302"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> may replicate some of the metadata in the MPD catalog. However, the MPD catalog is intentionally designed to be efficient, easy to parse, and minimal. It is intended for search, discovery, registration, and Web page generation, and not to support various types of detailed technical prose often required for human understanding.</p><p>The primary purposes of the <a name="d3e5309"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> include:</p><ul><li>To help facilitate understanding and reuse of IEPDs.</li><li>To ensure that fundamental and detailed business-level information about an <a name="d3e5322"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> are documented for human understanding.</li><li>To ensure the <a name="d3e5329"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author has considered and conveys such fundamental information.</li><li>To provide an initial source within an <a name="d3e5336"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> for human consumable documentation and/or references to other business or technical documentation needed for understanding.</li></ul><p>The <a name="d3e5343"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> is not intended to be the only source of written documentation for an MPD (though it can be). It is expected to be the initial resource that references and coordinates all others whether physically present in the MPD or linked by reference. Many organizations have their own customized formats and operating procedures for documenting their work and products. This specification does not attempt to standardize readme file name, location, format, or layout; only that it be identified in the <a name="d3e5346"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> of an IEPD. The following section will generally describe minimal content that should be in the <a name="d3e5349"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a>. This guidance is non-normative, so adherence is a subjective judgment by the author.</p><div class="section"><div class="heading"><a name="Readme-Content"></a><a name="section_5.4.1"></a>5.4.1. Readme Content</div><p>This section is non-normative.</p><p>This section is neither a cookbook nor a normative specification for a <a name="d3e5362"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a>. It simply suggests typical topics that a readme artifact should or might address, and provides some non-normative guidance.</p><p>The readme file should help another user or developer to understand the content and use of an <a name="d3e5368"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>, as well as determine potential for reuse or adaptation. It should describe what implementers need to understand and what the author considers is important to understanding an <a name="d3e5371"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. There is no limit or constraint on its content.</p><p>At a minimum, the <a name="d3e5377"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> should contain several fundamental elements of information about the MPD:</p><ul><li>Purpose of this MPD.</li><li>Scope of its deployment, usage, and information content.</li><li>Business value and rationale for developing it.</li><li>Type of information it is intended to exchange (in business terms).</li><li>Identification of senders and receivers (or the types of senders and receivers).</li><li>Typical interactions between senders, receivers, and systems.</li><li>References to other documentation within the MPD, and links to external documents that may be needed to understand and implement it.</li></ul><p>Many document formats (e.g., HTML, PDF) can display hyperlinks to local files within the MPD as well as URLs to files on the Internet. Employing such a format is highly recommended but not mandatory.</p><p>MPD documentation types and formats will vary with the methodologies and tools used to develop them. Most of this documentation will likely be typical of that generated for data-oriented software projects. Some documentation may only require sections in the <a name="d3e5419"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a>. Other documentation may be more suitable as separate artifacts that are referenced and explained by a section in the <a name="d3e5422"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a> (such as diagrams, large tables, data dictionaries, test results/reports, etc.). The following are some common examples of sections in or separate artifacts associated with the <a name="d3e5425"></a><a href="#definition_readme_artifact"><span class="termRef">readme artifact</span></a>:</p><ul><li>Executive summary (especially for a lengthy readme artifact></li><li>Use cases</li><li>Business processes</li><li>Business requirements</li><li>Business rules</li><li>Metadata security considerations</li><li>Domain model design specifications and documentation and/or diagrams</li><li>Data dictionary</li><li>Testing and conformance</li><li>Development tools and methodologies used</li><li>Implementation guidance (particularly important for a complex <a name="d3e5475"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> with multiple subsets or IEP root elements)</li><li>Security considerations</li><li>Privacy considerations (e.g., Personal Identifiable Information)</li><li>Types of implementations</li><li><p>If an <a name="d3e5495"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> employs multiple subsets:</p><ul><li>When, where, and how these are used</li><li>How these are coordinated in the implementation</li><li>Caveats regarding duplicate <a name="d3e5512"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> (which can occur with multiple subsets)</li></ul></li><li><p>If an <a name="d3e5520"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> employs multiple IEP conformance targets:</p><ul><li>Purpose of each and when it should be used</li><li>How these are coordinated during the runtime preparation and transmission of IEPs</li></ul></li></ul></div></div><div class="section"><div class="heading"><a name="XML-Catalogs"></a><a name="section_5.5"></a>5.5. XML Catalogs</div><div class="box"><div class="normativeHead"><a name="definition_XML_catalog_document"></a>[Definition: <dfn>XML catalog document</dfn>]</div><div class="sub"><p>As defined by <a href="#OASIS-XML-Catalogs" class="ref">[XML Catalogs 1.1]</a>, which states:</p><blockquote><p>An entity catalog.</p></blockquote><p>An <a name="d3e5557"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> MUST conform to all the rules in this specification for the conformance target <a name="d3e5560"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a>.</p><p>Rules specifying this conformance target use the applicability code <q>XML-catalog</q>.</p></div></div><p>An <a name="d3e5573"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> is an <a name="d3e5576"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> that describes a mapping between external entity references and locally-cached equivalents. It associates a URI reference with information about an external reference that appears in an XML document. An <a name="d3e5579"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> can be used to locate the replacement text for an external entity, or an alternate URI reference for a resource.</p><p>An MPD can use an <a name="d3e5585"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> to <a name="d3e5588"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> XML schema document target namespaces to local URIs. This is especially useful when assembling an XML schema from an XML schema document set. Some validators (e.g., <a class="url" target="_blank" href="http://xerces.apache.org/xerces2-j/faq-xcatalogs.html">Xerces</a>) and other tools utilize <a name="d3e5594"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog documents</span></a> for this purpose.</p><p><a name="d3e5599"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authors are encouraged to employ <a name="d3e5602"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog documents</span></a> within IEPDs to facilitate validation of IEPs.</p><p>Note that schema assembly or <a name="d3e5608"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> design from non-conformant <a name="d3e5611"></a><a href="#definition_external_schema_document"><span class="termRef">external schema documents</span></a> that may contain <code>xs:include</code> statements can be problematic.</p><p>In order to support <a name="d3e5621"></a><a href="#definition_XML_schema_assembly"><span class="termRef">XML schema assembly</span></a> for the purpose of <a name="d3e5624"></a><a href="#definition_XML_schema_validation"><span class="termRef">XML schema validation</span></a>, the namespace of each XML schema document used within an <a name="d3e5627"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> should <a name="d3e5630"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a locally-unique artifact. A correctly constructed <a name="d3e5633"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> can guarantee this.</p><p>According to <a href="#OASIS-XML-Catalogs" class="ref">[XML Catalogs 1.1]</a>, <code>er:nextCatalog</code> elements may be used within <a name="d3e5644"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog documents</span></a> to connect them and control the parsing sequence. <a href="#section_5.6">Section 5.6, <em>Defining Information Exchange Packages</em>, below,</a> discusses more about using <a name="d3e5649"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog documents</span></a> within IEPDs.</p><p>According to <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, the assembly of a schema document set into a schema is implementation-dependent. In practice, different tools use different methods for selecting the next schema document in the assembly process. This specification recommends the use of <a name="d3e5657"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog documents</span></a> as the preferred method for describing the desired schema assembly (for validation or other purposes).</p><p>The MPD catalog schema document defines a <code>c:XMLSchemaType</code> that contains both <code>c:XMLSchemaDocument</code> elements and <code>c:XMLCatalog</code> elements, which may appear interleaved, or in any order. Occurrences of the <code>c:XMLSchemaDocument</code> identify schema documents to be used in schema assembly. <code>c:XMLCatalog</code> identifies the <a name="d3e5679"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog documents</span></a> to be used to identify schema documents, each corresponding to an XML namespace, which may be used in schema assembly. Relative order of <code>c:XMLCatalog</code> entries is considered significant, with catalogs appearing earlier taking precedence over catalogs appearing later. Note that the schema document assembly process does not specify a document element for an <a name="d3e5685"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a>; this may be specified with other mechanisms provided by the MPD catalog, such as Schematron, XPath expressions, or by explicitly setting a document element.</p><p>This document does not specify the schema assembly process. A deterministic, implementation-independent schema assembly process may be the subject of a later NIEM specification.</p></div><div class="section"><div class="heading"><a name="Defining-Information-Exchange-Packages"></a><a name="section_5.6"></a>5.6. Defining Information Exchange Packages</div><p>An MPD may declare one or more <em>IEP conformance targets</em> within its <a name="d3e5706"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_IEP_conformance_target"></a>[Definition: <dfn>IEP conformance target</dfn>]</div><div class="sub"><p>A <a name="d3e5714"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> that is a class or category of IEP which has a set of one or more validity constraints and a <a name="d3e5717"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a>. Every IEP is an instance of one or more <em>IEP conformance targets</em>.</p></div></div><p>This definition requires that an IEP conformance target be assigned a <a name="d3e5727"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> that distinguishes it from all other <a name="d3e5730"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance targets</span></a>. Construct a <a name="d3e5733"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> using a fragment identifier (similar to an MPD artifact URI) per this rule:</p><div class="rule-section"><div class="heading"><a name="r-iep-ct-uri"></a><a name="rule_5-38"></a>Rule 5-38. Conformance Target Identifier</div><div class="box"><div class="normativeHead">[Rule 5-38] (MPD-catalog) (Interpretation)</div><p>A <a name="d3e5746"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a> for an <a name="d3e5749"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a> declared in an MPD is formed by concatenating in sequence:</p><ol><li>the IEPD URI, and</li><li>the pound sign character (#). and</li><li>a locally unique NCName (i.e., a non-colonized name, as defined by <a href="#W3-XML-Schema-Datatypes" class="ref">[W3C XML Schema Part 2 Datatypes]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#NCName">§3.3.7, <q>NCName</q></a>).</li></ol></div><p>This rule requires that an <a name="d3e5779"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a> has a URI, i.e., its <a name="d3e5782"></a><a href="#definition_conformance_target_identifier"><span class="termRef">conformance target identifier</span></a>.</p></div><p>The following rule is required for an <a name="d3e5790"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>. It supplements the rule above.</p><div class="rule-section"><div class="heading"><a name="iep-conformance-target-id"></a><a name="rule_5-39"></a>Rule 5-39. IEP Conformance Target Has a <code>structures:id</code></div><div class="box"><div class="normativeHead">[Rule 5-39] (MPD-catalog) (Constraint)</div><p>A <code>c:IEPConformanceTarget</code> element MUST own a <code>structures:id</code> attribute.</p></div><p>This rule ensures that a <a name="d3e5815"></a><a href="#definition_conformance_target"><span class="termRef">conformance target</span></a> can be referenced between MPDs (not just within an MPD). The value of the <code>structures:id</code> attribute is the NCName in <a href="#rule_5-38">Rule 5-38, <em>Conformance Target Identifier</em>, above</a>.</p></div><p>An <a name="d3e5827"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> defines IEP conformance targets by explicitly declaring them within its MPD catalog per the rules above.</p><div class="rule-section"><div class="heading"><a name="validity-constraints"></a><a name="rule_5-40"></a>Rule 5-40. <a name="d3e5834"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> Declares One or More IEP Conformance Targets</div><div class="box"><div class="normativeHead">[Rule 5-40] (IEPD) (Constraint)</div><p>The <a name="d3e5842"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> of an <a name="d3e5845"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> MUST contain one or more <code>c:IEPConformanceTarget</code> elements.</p></div></div><p>The following subsections detail the concepts, artifacts, and procedures for declaring and identifying <a name="d3e5856"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance targets</span></a> in IEPDs.</p><div class="section"><div class="heading"><a name="Validity-Context-Constraints"></a><a name="section_5.6.1"></a>5.6.1. Validity Context and Constraints</div><p>Explicit declaration of validity constraints is far more flexible and precise than relying on conventions that can easily be misinterpreted. The <code>c:IEPConformanceTarget</code> element within the <a name="d3e5869"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> can apply several common constraints by explicitly declaring the information required for a given constraint. This information may include the conformance target, context, and type of validation, location of validation artifact(s), and specific tests to perform. It can also identify IEP samples known to satisfy the validity constraints.</p><p><a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below,</a> provides XML elements for various validity constraints. These constraints are employed by element substitution using two abstract elements, <code>c:ValidityConstraintWithContext</code> and <code>c:ValidityConstraint</code>. <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below,</a> normatively specifies how this works.</p><p>Note that there may exist multiple ways to declare the same validity constraint with these elements. This rule only requires that each required validity constraint be declared once in a single form. For example, it may be possible to use either <code>c:HasDocumentElement</code> and <code>c:ValidToXPath</code> to declare the same XML document elements. However, it is only required that an <a name="d3e5893"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author use one or the other.</p><div class="box"><div class="normativeHead"><a name="definition_validity_constraint_context"></a>[Definition: <dfn>validity constraint context</dfn>]</div><div class="sub"><p>A set of information items that establishes the applicability of certain validity constraints.</p></div></div><p>Validity constraint context can refer to multiple information items (e.g., XML elements, attributes, etc.) within an IEP. Also, note that <a name="d3e5905"></a><a href="#definition_validity_constraint_context"><span class="termRef">validity constraint context</span></a> can evaluate to no information items (e.g., in XPath, <q><code>()</code></q>, for which <q><code>empty-sequence()</code></q> is true). In this cases, the validity constraints (within the in scope validity constraint context) will not fire and the test passes.</p><p>The following subsections explain in more detail the purpose and context for validity constraints that can be declared in <code>c:IEPConformanceTarget</code>.</p></div><div class="section"><div class="heading"><a name="Declaring-Validity-Constraints"></a><a name="section_5.6.2"></a>5.6.2. Declaring Validity Constraints</div><div class="section"><div class="heading"><a name="ValidityConstraintWithContext"></a><a name="section_5.6.2.1"></a>5.6.2.1. c:ValidityConstraintWithContext</div><p><code>c:ValidityConstraintWithContext</code> is an abstract element into which various validity constraints will be substituted, depending upon the MPD author’s intent. In the absence of an explicit context (declared by an <code>c:xPathText</code> attribute), <a name="d3e5943"></a><a href="#definition_validity_constraint_context"><span class="termRef">validity constraint context</span></a> defaults to the IEP’s <em>document information item</em> as defined in <a href="#W3-XML-InfoSet" class="ref">[W3-XML-InfoSet]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.document"> §2.1, <q>The Document Information Item</q></a>. In this default case, a specific validity constraint will substitute for <code>c:ValidityConstraint</code> which in turn, substitutes for <code>c:ValidityConstraintWithContext</code>.</p></div><div class="section"><div class="heading"><a name="ValidityConstraint"></a><a name="section_5.6.2.2"></a>5.6.2.2. c:ValidityConstraint</div><p>This is the abstract element for which a specific validity constraint will substitute if no explicit context is used (and therefore, the default <em>document</em> context applies as described in <a href="#section_5.6.2.1">Section 5.6.2.1, <em>c:ValidityConstraintWithContext</em>, above</a>).</p></div><div class="section"><div class="heading"><a name="ValidityContext"></a><a name="section_5.6.2.3"></a>5.6.2.3. c:ValidityContext</div><p><a name="d3e5987"></a><a href="#definition_validity_constraint_context"><span class="termRef">Validity constraint context</span></a> is explicitly declared by an XPath expression that is the value of <code>c:xPathText</code>. <code>c:ValidityContext</code> can contain any of the specific validity constraints that are substitutable for <code>c:ValidityConstraint</code>.</p><div class="rule-section"><div class="heading"><a name="rule_5-41"></a>Rule 5-41. </div><div class="box"><div class="normativeHead">[Rule 5-41] (MPD-catalog) (Interpretation)</div><p>Given a <code>c:xPathText</code> attribute owned by <code>c:ValidityContext</code>, the <a name="d3e6013"></a><a href="#definition_validity_constraint_context"><span class="termRef">validity constraint context</span></a> for the descendant’s validity constraint SHALL be the value of <code>c:xPathText</code> evaluated against the IEP’s document information item (See <a href="#W3-XML-InfoSet" class="ref">[W3-XML-InfoSet]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.document"> §2.1, <q>The Document Information Item</q></a>).</p></div></div></div><div class="section"><div class="heading"><a name="HasDocumentElement"></a><a name="section_5.6.2.4"></a>5.6.2.4. c:HasDocumentElement</div><p><code>c:HasDocumentElement</code> is a validity constraint that identifies all intended XML document elements for an IEP conformance target, and it is directly substitutable for <code>c:ValidityConstraintWithContext</code>. This constraint ensures that an IEP artifact is rooted by one XML document element that is a member of the list of elements in its <code>c:qualifiedNameList</code> attribute. This is a common validity constraint employed by simple IEPDs that declare one or more intended XML document elements.</p><p>Note that <a name="d3e6054"></a><a href="#definition_validity_constraint_context"><span class="termRef">validity constraint context</span></a> of <code>c:HasDocumentElement</code> is always on the IEP’s <em>document information item</em> as defined in <a href="#W3-XML-InfoSet" class="ref">[W3-XML-InfoSet]</a>, <a target="_blank" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/#infoitem.document"> §2.1, <q>The Document Information Item</q></a>. This is because it can only declare XML document elements. So, if an IEP defines a payload that may be included in some XML envelope, then <code>c:HasDocumentElement</code> should not be used. Instead, use <code>c:ValidityContext</code> with another specific validity constraint and <code>c:xPathText</code> to explicitly declare <a name="d3e6084"></a><a href="#definition_validity_constraint_context"><span class="termRef">validity constraint context</span></a>.</p><p>When employing <code>c:HasDocumentElement</code> the following rule applies:</p><div class="rule-section"><div class="heading"><a name="i2"></a><a name="rule_5-42"></a>Rule 5-42. Identifying the Document Element of an IEP</div><div class="box"><div class="normativeHead">[Rule 5-42] (IEP) (Constraint)</div><p>Within an MPD catalog document, if an <code>c:IEPConformanceTarget</code> element for an IEP has a <code>c:HasDocumentElement</code> child element owning a <code>c:qualifiedNameList</code> attribute with a value of <code>$LIST</code>, then the document element of the IEP MUST have a <em>QName</em> that is a member of <code>$LIST</code>.</p></div></div></div><div class="section"><div class="heading"><a name="ValidToXPath"></a><a name="section_5.6.2.5"></a>5.6.2.5. c:ValidToXPath</div><p><code>c:ValidToXPath</code> is a specific validity constraint whose purpose is to ensure that a condition is satisfied within an IEP. The condition is defined by an XPath expression contained in the <code>c:xPathText</code> attribute. If the XPath expression applied to a target instance <a name="d3e6137"></a><a href="#definition_XML_document"><span class="termRef">XML document</span></a> returns a Boolean value of TRUE, then the condition is satisfied by that XML document.</p><p>This validity constraint is useful for a variety of purposes. For example, an <a name="d3e6143"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author may require that a given <code>c:IEPConformanceTarget</code> must contain a particular element with a particular attribute whose value is an integer greater than some required minimum. An XPath expression can validate this.</p><p><code>c:ValidToXPath</code> can also employ a simple XPath expression to validate that an IEP is rooted with an intended XML document element. However, other validity constraints can do this as well; the <a name="d3e6154"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author may choose the constraint representation.</p><p>Note that if <code>c:ValidToXPath</code> is used (substituted) within <code>c:ValidityContext</code> there will be two XPath expressions — the expression within <code>c:ValidToXPath</code> is the condition to validate, the other is the context (where the condition will be validated). For example, the context provided by <code>c:ValidityContext</code> might be <code>//my:speedingTicket</code>, while the <code>c:ValidToXPath</code> might require that a test for <code>exists(nc:DriverPerson)</code> be true.</p><p>This specific validity constraint as well as those that follow below can either be substituted for the <code>c:ValidityConstraint</code> or used within the <code>c:ValidityContext</code> element (i.e., substituted for its <code>c:ValidityConstraint</code> child).</p><p>Note that if <code>c:ValidToXPath</code> is substituted for <code>c:ValidityConstraint</code> within the <code>c:ValidityContext</code> element, then the explicit context, the <code>c:xPathText</code> value, can imply that multiple items must be checked and each must return "true" in order for an IEP to pass the <code>c:ValidToXPath</code> constraint.</p><p>When employing <code>c:ValidToXPath</code> the following rule applies:</p><div class="rule-section"><div class="heading"><a name="i1"></a><a name="rule_5-43"></a>Rule 5-43. Validating an XPath Expression</div><div class="box"><div class="normativeHead">[Rule 5-43] (IEP) (Constraint)</div><p>Within an <a name="d3e6231"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> with a <code>c:xPathText</code> attribute owned by a <code>c:ValidToXPath</code> element, a candidate IEP is a valid IEP, ONLY IF the value of <code>c:ValidToXPath</code> applied to the candidate IEP (an <a name="d3e6243"></a><a href="#definition_XML_document"><span class="termRef">XML document</span></a>) has an effective Boolean value (EBV) equal to <code>true</code>. EBV is defined by <a href="#W3-XPath" class="ref">[W3C XPath 2.0]</a>, <a target="_blank" href="http://www.w3.org/TR/2010/REC-xpath20-20101214/#id-ebv"> §2.4.3, <q>Effective Boolean Value</q></a>.</p></div></div></div><div class="section"><div class="heading"><a name="XMLSchemaValid"></a><a name="section_5.6.2.6"></a>5.6.2.6. c:XMLSchemaValid</div><p>NIEM employs the W3C XML Schema Definition (XSD) Language (<a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a> and <a href="#W3-XML-Schema-Datatypes" class="ref">[W3C XML Schema Part 2 Datatypes]</a>), one of several XML schema definition languages designed to define an instance XML document and enable its validation. In general, an instance XML document is valid against a particular XML schema if it obeys or conforms to the constraints imposed by that schema (<a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, <a target="_blank" href="http://www.w3.org/TR/xmlschema11-1/#sec-schema-validity-and-docs"> §2.5, <q>Schema-validity and documents</q></a>).</p><p>So, a NIEM <a name="d3e6286"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is an MPD that contains a set of XML schema documents, that are assembled into an XML schema (after processing XML catalogs to <a name="d3e6289"></a><a href="#definition_resolve_URI"><span class="termRef">resolve URI</span></a> values in namespace attributes owned by <code>xs:import</code> elements and similar XML Schema constructs). In turn, the resulting XML schema can be used to validate one or more <a name="d3e6295"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML documents</span></a> for NIEM conformance.</p><p>NIEM is based on XML Schema, and so the term "schema validation" usually refers to "XML Schema validation". However, an <a name="d3e6301"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author may also choose to include artifacts to validate with other types of schemas or rules, including but not limited to <a href="#ISO-Schematron" class="ref">[ISO Schematron]</a> and <a href="#ISO-RelaxNG" class="ref">[ISO RelaxNG]</a>. <a name="d3e6308"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authors may also include artifacts for NIEM constraint schema validation, which, of course, is XML Schema validation (See <a href="#section_4.5">Section 4.5, <em>Constraint Schema Document Sets</em>, above</a>.</p><p>Because NIEM is XML Schema based, then <code>c:XMLSchemaValid</code> (of type <code>c:XMLSchemaType</code>) will likely be employed by most IEPDs. This validity constraint ensures that an IEP artifact is schema valid to an XML schema that can be assembled correctly from the schema documents that comprise it. To do this <code>c:XMLSchemaValid</code> provides two methods to choose from based on its child elements, <code>c:XMLCatalog</code> and <code>c:XMLSchemaDocument</code>, both zero to unbounded cardinality. The MPD author can use (1) <code>c:XMLCatalog</code> to identify one or more XML catalog documents that map the correct schema documents; or (2) <code>c:XMLSchemaDocument</code> to explicitly identify the one or more XML schema documents to be retrieved. In each case, depending on the nature of the XML schema document set from which the schema documents are coming, it may be possible to identify a single XML catalog document or a single XML schema document. That catalog or schema document will be the starting point or root document and will contain enough information to explicitly identify or cascade to the rest. (See also <a href="#section_5.5">Section 5.5, <em>XML Catalogs</em>, above</a>)</p><p>It is the MPD author’s responsibility to ensure that the method used (XML catalogs or XML schema document identification) is configured correctly per the appropriate specification (<a href="#OASIS-XML-Catalogs" class="ref">[XML Catalogs 1.1]</a> or <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>).</p></div><div class="section"><div class="heading"><a name="SchematronValid"></a><a name="section_5.6.2.7"></a>5.6.2.7. c:SchematronValid</div><p><code>c:SchematronValid</code> is similar to <code>c:XMLSchemaValid</code>, but uses a <code>c:SchematronSchema</code> element to identify the Schematron rule file that applies to the IEP.</p></div><div class="section"><div class="heading"><a name="RelaxNGValid"></a><a name="section_5.6.2.8"></a>5.6.2.8. c:RelaxNGValid</div><p><code>c:RelaxNGValid</code> is similar to the previous two validity constraints, but uses a <code>c:RelaxNGSchema</code> element to identify the RelaxNG schema file to which the IEP must validate.</p></div><div class="section"><div class="heading"><a name="ConformsToConformanceTarget"></a><a name="section_5.6.2.9"></a>5.6.2.9. c:ConformsToConformanceTarget</div><p><code>c:ConformsToConformanceTarget</code> enables an <a name="d3e6388"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author to effectively subclass and relate conformance target classes. For example, using this constraint, a given conformance target class defined by a <code>c:IEPConformanceTarget</code> <code>structures:id="A2"</code> can be required to also conform to another class <code>structures:id="A1"</code>. This creates an <em>IS-A</em> relationship. We say that <code>A2</code> <em>IS-AN</em> <code>A1</code>, or that <code>A2</code> <em>IS-A</em> specialization of <code>A1</code>.</p><p>Conformance target classes are related through the <code>c:conformanceTargetURI</code> attribute owned by <code>c:ConformsToConformanceTarget</code>. Recall that per <a href="#rule_5-38">Rule 5-38, <em>Conformance Target Identifier</em>, above,</a> a conformance target URI is formed by concatenating the <a name="d3e6433"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> URI (the value of <code>c:mpdURI</code>), the pound character (<code>"#"</code>), and the value of the conformance class (<code>structures:id</code>) of the <a name="d3e6446"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a>.</p></div><div class="section"><div class="heading"><a name="ConformsToRule"></a><a name="section_5.6.2.10"></a>5.6.2.10. c:ConformsToRule</div><p>Sometimes it is not possible to formally declare an executable validity constraint. For example, we can mandate that a <a name="d3e6457"></a><a href="#definition_data_component"><span class="termRef">data component</span></a> definition must be present, must be in English, and must follow <a href="#ISO-11179-4" class="ref">[ISO 11179-4]</a>. Validating that text is present is easy, and validating that it is in English is more difficult, but validating that it obeys <a href="#ISO-11179-4" class="ref">[ISO 11179-4]</a> is essentially intractable. Thus, <code>c:ConformsToRule</code> provides an <a name="d3e6467"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author with English text representation as an alternative when it is not possible or not easy to define more formal validation rules or validity constraints.</p></div></div><div class="section"><div class="heading"><a name="IEP-Samples"></a><a name="section_5.6.3"></a>5.6.3. IEP Sample Instance XML Documents</div><p>This section discusses sample IEPs in the context of an <a name="d3e6479"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. However, this is not meant to imply that sample IEPs are not useful in other MPDs.</p><p>A sample IEP <a name="d3e6485"></a><a href="#definition_instance_XML_document"><span class="termRef">instance XML document</span></a> is a representation of an actual or example exchange data instance. Sample instances can be extremely valuable artifacts in an <a name="d3e6488"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. Sample IEPs:</p><ul><li>Help an <a name="d3e6497"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> implementer to understand the original intent of the <a name="d3e6500"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author.</li><li>Can be used by an implementer as a data point for validation of IEP conformance targets.</li><li>can indicate or imply <a name="d3e6511"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> quality.</li></ul><p>For these reasons, the following rule applies to an <a name="d3e6518"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>:</p><div class="rule-section"><div class="heading"><a name="r-iep-samples"></a><a name="rule_5-44"></a>Rule 5-44. IEPD Has an IEP Sample for Each <code>c:IEPConformanceTarget</code></div><div class="box"><div class="normativeHead">[Rule 5-44] (IEPD) (Constraint)</div><p>Within the MPD catalog document of an <a name="d3e6532"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>, a <code>c:IEPConformanceTarget</code> element MUST contain a <code>c:IEPSampleXMLDocument</code> child element.</p></div></div><p>The rule above requires that each declared <a name="d3e6547"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a> be covered (exemplified or correctly demonstrated) by at least one IEP sample instance XML document. This does not necessarily mandate a different IEP sample for each <a name="d3e6550"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance target</span></a>. It may be possible, and is therefore acceptable, for a given IEP sample to serve as an example of one or more <a name="d3e6553"></a><a href="#definition_IEP_conformance_target"><span class="termRef">IEP conformance targets</span></a>.</p><p>The purpose of this rule is not to provide a test for all possible IEP permutations given the schema definitions and validity constraint declarations; rather, it is to encourage <a name="d3e6559"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authors to test their own designs, and to provide implementers with examples for additional understanding, guidance, and testing. To the extent possible, <a name="d3e6562"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authors should strive to include sample IEPs that (1) capture real world business cases of data exchanges, and (2) exercise as many <a name="d3e6565"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> and validity constraints as possible. Where it makes sense, an <a name="d3e6568"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author should strive to provide enough sample IEPs to exercise all the XML document elements (or payload root elements). If a single IEP cannot provide enough example coverage, an author may include multiple IEPs (but is not required to do so).</p><p>Each sample IEP usually illustrates a single view of the data based on a chosen set of conditions. Other views based on different conditions likely exist. An implementer will still need to review the <a name="d3e6574"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> documentation to ensure understanding of all potential conditions. Therefore, as appropriate, the author should not rely exclusively on sample IEPs to convey implementation understanding, since they will probably not account for all possible permutations.</p><p>The following rule relates to validity of an IEP Sample XML Document:</p><div class="rule-section"><div class="heading"><a name="i3"></a><a name="rule_5-45"></a>Rule 5-45. Validating an IEP Sample XML Document</div><div class="box"><div class="normativeHead">[Rule 5-45] (IEP) (Constraint)</div><p>Within an <a name="d3e6590"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> with a <code>c:pathURI</code> attribute owned by a <code>c:IEPSampleXMLDocument</code>, the artifact resolved by the value of <code>c:pathURI</code> MUST be valid for the validity constraints of the <code>c:IEPConformanceTarget</code> parent of <code>c:IEPSampleXMLDocument</code>.</p></div></div></div></div><div class="section"><div class="heading"><a name="Conformance-Assertion"></a><a name="section_5.7"></a>5.7. Conformance Assertion</div><p>This section discusses a <a name="d3e6622"></a><a href="#definition_conformance_assertion"><span class="termRef">conformance assertion</span></a> in the context of an <a name="d3e6625"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. However, this artifact may also be useful to other classes of MPDs.</p><p>Independent authors build NIEM IEPDs from NIEM <a name="d3e6631"></a><a href="#definition_reference_schema_document_set"><span class="termRef">reference schema document sets</span></a>. Presently, a formal NIEM conformance certification process for IEPDs does not exist. Therefore, this specification requires that an <a name="d3e6634"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> contain an artifact that asserts NIEM conformance and provides a small amount of information to support such.</p><div class="box"><div class="normativeHead"><a name="definition_conformance_assertion"></a>[Definition: <dfn>conformance assertion</dfn>]</div><div class="sub"><p>An artifact that provides a declaration that an MPD conforms to relevant NIEM specifications and associated rules, including <a href="#NIEM-Conformance" class="ref">[NIEM Conformance 3.0]</a>, <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>, <a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a> and <a href="#NIEM-MPD" class="ref">[NIEM MPD Specification 3.0]</a> (this NIEM MPD Specification).</p></div></div><div class="rule-section"><div class="heading"><a name="r1-conform-assert"></a><a name="rule_5-46"></a>Rule 5-46. IEPD Has Conformance Assertion</div><div class="box"><div class="normativeHead">[Rule 5-46] (IEPD) (Constraint)</div><p>An <a name="d3e6660"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> MUST contain a <a name="d3e6663"></a><a href="#definition_conformance_assertion"><span class="termRef">conformance assertion</span></a> artifact that is identified by a <code>c:ConformanceAssertion</code> element in its <a name="d3e6669"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>.</p></div></div><p>A <a name="d3e6677"></a><a href="#definition_conformance_assertion"><span class="termRef">conformance assertion</span></a> provides information to increase the level of confidence that an <a name="d3e6680"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> was checked for NIEM conformance and quality. It does NOT constitute a guarantee or contract. In fact, a conformance assertion can be self-asserted.</p><p>In the absence of a formal NIEM certification process, both weak and strong conformance assertions will exist. An <a name="d3e6687"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> user or implementer (who is not the author) must decide his/her level of confidence in the assertion. A self-signed artifact that simply claims an <a name="d3e6690"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is NIEM-conformant may be considered weak. On the other hand, a stronger self-assertion could provide information that may include (but is not limited to):</p><ul><li>Date of assertion</li><li>URI of the MPD claiming NIEM conformance</li><li>Assertion of NIEM conformance</li><li>Author (name and/or organization, or sponsoring entity; indication of NIEM and XML background or experience)</li><li>Certifier (may be the author or another person/organization)</li><li><p>Details of conformance verification:</p><ul><li>How, what, and/or who? (e.g., automatic checks, manual checks, other reviews?)</li><li>Tool(s) employed? (e.g., tool, version, how used, on what, etc.)</li><li>Results? (e.g., issues, pass/fails, warnings, confirmations, etc.)</li></ul></li></ul><p>Inclusion of a <a name="d3e6740"></a><a href="#definition_conformance_assertion"><span class="termRef">conformance assertion</span></a> made by a reputable, independent, trusted entity (person or organization) would likely increase confidence in conformance. Another strong case can be made by supplementing a conformance assertion with a formal conformance test report or similar artifact. The MPD catalog schema document provides a <code>c:ConformanceReport</code> element to identify a conformance report if one is present.</p><p>In the future, as NIEM procedures and tools advance, a conformance or quality report and a corresponding certificate may become required artifacts. A tool might check conformance and issue the report and certificate together as a digitally signed and hashed artifact that reports conformance, and proves both author and <a name="d3e6749"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> identity (i.e., that the <a name="d3e6752"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is an unaltered copy of the original). For now, inclusion of an informal <a name="d3e6755"></a><a href="#definition_conformance_assertion"><span class="termRef">conformance assertion</span></a> artifact in an <a name="d3e6758"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is the only requirement.</p></div></div><div class="section"><div class="heading"><a name="Optional-MPD-Artifacts"></a><a name="section_6"></a>6. Optional MPD Artifacts</div><p>Aside from the required artifacts, MPD content is relatively flexible. A variety of other optional documentation files may be incorporated into an MPD. When applicable, these may include (but are not limited to) files that describe or explain:</p><ul><li>Implementation details (hardware, software, configuration, etc.)</li><li>Use of multiple root elements</li><li>Use of multiple subsets or mixed releases</li><li>How to use/reuse an MPD for various purposes (such as Web Services)</li><li>Rationales and/or business purposes</li></ul><p>In addition to documentation artifacts, a variety of other optional files can be added to an MPD to facilitate tool support and make reuse, adaptation, and/or implementation easier. These are often files that are inputs to or outputs from software tools. Examples include content diagrams, content models in tool-specific formats, and business rules (either formal or informal representations).</p><p>An MPD author may include any files believed to be useful to understand, implement, reuse, and/or adapt an MPD.</p><p>An MPD of relatively simple content and scope may only need to contain the minimum mandatory artifacts required by this specification in order to understand and implement it. (See <a href="#appendix_C">Appendix C, <em>Common MPD Artifacts</em>, below,</a> for a listing of the mandatory and common optional artifacts for each type of MPD.)</p><p>Files vary widely in format and are often specific to the tools an author uses to parse, consume, or output them. Therefore, if tool-specific files are included in an MPD, it is also a good practice to include copies of those files in formats that display with standard Web browsers or other cost-free, publicly available viewing tools (e.g., ASCII text, PDF, CSV, HTML, JPG, GIF, PNG). This guidance is intended to encourage and facilitate maximal sharing and distribution of MPDs; it does not prohibit and is not intended to discourage the inclusion of other file formats.</p><p>In particular, this specification does not discourage use of Microsoft file formats for documentation and other optional artifacts. Microsoft Office products are in common use, and free viewers are available for many of them (See <a class="url" target="_blank" href="http://office.microsoft.com/en-us/downloads/office-online-file-converters-and-viewers-HA001044981.aspx">http://office.microsoft.com/en-us/downloads/office-online-file-converters-and-viewers-HA001044981.aspx</a>).</p><div class="section"><div class="heading"><a name="Wantlists"></a><a name="section_6.1"></a>6.1. NIEM Wantlist</div><p>A NIEM schema document subset is often associated with a NIEM <em>wantlist</em>. A <em>wantlist</em> is an abbreviated XML representation of a NIEM schema document subset, and identifies only the <a name="d3e6829"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> a user selected (as requirements) to build a schema document subset. To reconstruct the complete schema document subset there are usually a number of additional <a name="d3e6832"></a><a href="#definition_data_component"><span class="termRef">data components</span></a> that the user selections depend upon. These must be computed from the appropriate NIEM reference model and added to reconstruct the complete schema document subset. For example, a user may select <code>nc:Person</code> for the subset. In this case, the wantlist will only contain that component, but the associated full subset must contain both <code>nc:Person</code> and <code>nc:PersonType</code>. A software tool that understands how to process NIEM wantlists and schema document subsets (such as the NIEM Schema Subset Generator Tool <a href="#NIEM-SSGT" class="ref">[NIEM SSGT]</a>) can rebuild an accurate schema document subset from a wantlist (and the reverse).</p><div class="box"><div class="normativeHead"><a name="definition_NIEM_wantlist"></a>[Definition: <dfn>NIEM wantlist</dfn>]</div><div class="sub"><p>An XML document that represents a complete NIEM schema document subset.</p></div></div><p>A NIEM wantlist identifies the <a name="d3e6856"></a><a href="#definition_data_component"><span class="termRef">data component</span></a> requirements declared by the subset author; it does not identify the <a name="d3e6859"></a><a href="#definition_data_component"><span class="termRef">data component</span></a> dependencies required to reconstitute the complete subset. The complete subset can be computed with the reference schema document set from which the subset was derived.</p><p>A wantlist is always associated with a schema document subset. A wantlist may also be associated with a <a name="d3e6865"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">constraint schema document set</span></a>, because constraint schema documents are often built from a <a name="d3e6868"></a><a href="#definition_schema_document_subset"><span class="termRef">schema document subset</span></a>. For a simple <a name="d3e6871"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>, it can sometimes be trivial to identify a single schema document subset. However, this MPD Specification does not prohibit building complex IEPDs that contain schema document sets supported by multiple schema document subsets and associated wantlists. As with other complex cases, the <a name="d3e6874"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author is responsible to clearly document the associations between wantlists and schema document sets. In order to maintain a minimal degree of consistency for placement of a wantlist within an <a name="d3e6877"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> the following rule applies.</p><div class="rule-section"><div class="heading"><a name="r-wantlist-base"></a><a name="rule_6-1"></a>Rule 6-1. Wantlist Location</div><div class="box"><div class="normativeHead">[Rule 6-1] (WF-MPD) (Constraint)</div><p>If present, a NIEM wantlist MUST reside within the root of the MPD subdirectory that groups and defines its corresponding subset schema document set (e.g., <code>niem</code>).</p></div></div></div><div class="section"><div class="heading"><a name="Business-Rules"></a><a name="section_6.2"></a>6.2. Business Rules</div><p>For simplicity and consistency, NIEM employs a profile of the XML Schema language <a href="#W3-XML-Schema-Structures" class="ref">[W3C XML Schema Part 1 Structures]</a>, <a href="#W3-XML-Schema-Datatypes" class="ref">[W3C XML Schema Part 2 Datatypes]</a>. Thus, some constraints on NIEM XML documents cannot be enforced by NIEM. <a name="d3e6907"></a><a href="#definition_constraint_schema_document_set"><span class="termRef">Constraint schema document sets</span></a> provide a convenient technique for enforcing some additional constraints. However, even the full XML Schema language cannot validate and enforce all possible constraints that may be required of an XML document.</p><p>So, NIEM allows (even encourages) the use of formal or informal <a name="d3e6913"></a><a href="#definition_business_rules"><span class="termRef">business rules</span></a> to help define or constrain MPDs (in particular IEPDs).</p><div class="box"><div class="normativeHead"><a name="definition_business_rules"></a>[Definition: <dfn>business rules</dfn>]</div><div class="sub"><p>Formal or informal statements that describe business policy or procedure, and in doing so define or constrain some aspect of a process or procedure in order to impose control.</p></div></div><p><a name="d3e6924"></a><a href="#definition_business_rules"><span class="termRef">Business rules</span></a> may be represented as informal English statements, or as formally coded machine-readable and process-able statements. For example, an <a name="d3e6927"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> may use a <a name="d3e6930"></a><a href="#definition_Schematron_schema"><span class="termRef">Schematron schema</span></a> <a href="#ISO-Schematron" class="ref">[ISO Schematron]</a> or any other formal representation for <a name="d3e6935"></a><a href="#definition_business_rules"><span class="termRef">business rules</span></a>.</p><div class="box"><div class="normativeHead"><a name="definition_business_rule_schema"></a>[Definition: <dfn>business rule schema</dfn>]</div><div class="sub"><p>An artifact that contains <a name="d3e6943"></a><a href="#definition_business_rules"><span class="termRef">business rules</span></a> in a formal representation language with the intent to automatically process them on an XML document to enforce business constraints.</p></div></div><div class="box"><div class="normativeHead"><a name="definition_Schematron_schema"></a>[Definition: <dfn>Schematron schema</dfn>]</div><div class="sub"><p>A <a name="d3e6953"></a><a href="#definition_business_rule_schema"><span class="termRef">business rule schema</span></a> that adheres to <a href="#ISO-Schematron" class="ref">[ISO Schematron]</a>.</p></div></div></div></div><div class="section"><div class="heading"><a name="Organization-Packaging-Other-Criteria"></a><a name="section_7"></a>7. Organization, Packaging, and Other Criteria</div><p>An MPD is a logical set of electronic files aggregated and organized to fulfill a specific purpose in NIEM. Directory organization and packaging of an MPD should be designed around major themes in NIEM: reuse, sharing, interoperability, and efficiency.</p><div class="rule-section"><div class="heading"><a name="r-mpd-archive"></a><a name="rule_7-1"></a>Rule 7-1. An MPD in ZIP File Format Preserves Logical Directory Structure.</div><div class="box"><div class="normativeHead">[Rule 7-1] (WF-MPD) (Constraint)</div><p>An MPD in <a name="d3e6981"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a> format represents a sub-tree of a file system. Such an archive MUST preserve and store the logical directory structure intended by its author for respository format.</p></div></div><p>NIEM XSD and XML <a name="d3e6989"></a><a href="#definition_artifact"><span class="termRef">artifacts</span></a> in an MPD must be valid for both XML Schema and NIEM. This also implies these artifacts must adhere to applicable <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> conformance target rules.</p><div class="rule-section"><div class="heading"><a name="r-mpd-conform-tgts"></a><a name="rule_7-2"></a>Rule 7-2. XSD and XML Documents Conform to Applicable NDR Conformance Targets</div><div class="box"><div class="normativeHead">[Rule 7-2] (WF-MPD) (Constraint)</div><p>Within an MPD, each XML schema document (XSD) or instance XML document (XML) artifact that uses a conformance targets attribute (as defined by <a href="#NIEM-CTAS" class="ref">[NIEM Conformance Targets Attribute Specification 3.0]</a>) MUST satisfy the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> rules for the conformance targets it declares.</p></div></div><p>NIEM releases and domain updates maintain a relatively consistent directory organization <a href="#NIEM-DomainUpdate" class="ref">[NIEM Domain Update Specification 1.0]</a>. But there are many ways to organize <a name="d3e7016"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> directories that may depend on a number of factors including (not limited to) business purpose and complexity. For this reason, strict rules for <a name="d3e7019"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> directory structure are difficult to establish. Therefore, <a name="d3e7022"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authors may create their own logical directory structures subject to the rules of this section.</p><div class="box"><div class="normativeHead"><a name="definition_MPD_root_directory"></a>[Definition: <dfn>MPD root directory</dfn>]</div><div class="sub"><p>The top level file directory relative to all MPD artifacts and subdirectories.</p></div></div><div class="rule-section"><div class="heading"><a name="r-mpd-archive-one-root"></a><a name="rule_7-3"></a>Rule 7-3. MPD Archive Uncompresses to a Single Root Directory</div><div class="box"><div class="normativeHead">[Rule 7-3] (WF-MPD) (Constraint)</div><p>An MPD in <a name="d3e7041"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a> format MUST uncompress (unzip) to one and only one <a name="d3e7044"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>.</p></div></div><p>The foregoing rule ensures that:</p><ul><li>Unpacking an MPD in <a name="d3e7058"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a> format will not scatter its contents on a storage device.</li><li>One common starting directory always exists to explore or use any MPD.</li><li>mpd-catalog and change log artifacts will always be found in the <a name="d3e7069"></a><a href="#definition_MPD_root_directory"><span class="termRef">MPD root directory</span></a>.</li></ul><div class="section"><div class="heading"><a name="Artifact-Sets"></a><a name="section_7.1"></a>7.1. Artifact Sets</div><p>Grouping artifacts into sets is generally optional. There may be many reasons for identifying artifacts sets in an MPD. While directory structure is most often the most convenient method for grouping a set of artifacts, there may multiple logical groupings, and these may spread across multiple directories.</p><p>This specification defines other ways to group MPD artifacts into <a name="d3e7083"></a><a href="#definition_artifact_set"><span class="termRef">sets</span></a>. In general, independent of directory organization, sets can be established through one of two methods. An <a name="d3e7086"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> can be used to establish an <a name="d3e7089"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> set. The <a name="d3e7092"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> can be used to identify all kinds of artifacts sets (including XML schema documents).</p><p><a href="#section_5.5">Section 5.5, <em>XML Catalogs</em>, above,</a> describes how NIEM employs an <a name="d3e7099"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> to assemble an <a name="d3e7102"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a> from <a name="d3e7105"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a>. For user convenience, this method is now used in NIEM releases (as well as their associated core supplements) and domain updates. Note also that this method is applicable to all the various classes of NIEM XML schema documents (reference, subset, extension, constraint, and external).</p><p>Another reason for grouping artifacts into sets is a need for humans to review, identify, and navigate the artifacts of an <a name="d3e7111"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> (particularly, if it is complicated). An <a name="d3e7114"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> has a relatively focused purpose, to identify (by namespace) and assemble a set of XML schema documents into an <a name="d3e7117"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>. It is not intended to index artifacts in general (other than XML schema documents to assigned target namespaces). So, it does not classify or describe the artifacts it identifies.</p><p>On the other hand, the <a name="d3e7123"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> is designed to record, index, classify, and describe (as needed) any or all MPD artifacts (not just schema documents). The MPD catalog provides a flexible method for grouping all kinds artifacts.</p><p>The MPD catalog schema <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below,</a> defines a set of common artifact classifiers and artifact set classifiers. In summary, per <a href="#appendix_A">Appendix A, <em>MPD Catalog XML Schema Document</em>, below</a>, define sets by substituting the appropriate artifact classifier (of type <code>c:FileType</code>) into the abstract element <code>c:ArtifactOrArtifactSet</code>, within the appropriate artifact set classifier (of type <code>c:FileSetType</code>). Use the most specific classifiers available for your artifacts and artifact sets. Otherwise, as needed, use generic <code>c:File</code> and <code>c:FileSet</code> classifiers with <code>nc:DescriptionText</code>.</p><p>Note that the <code>c:pathURI</code> value for an artifact is its operating system relative directory <a name="d3e7159"></a><a href="#definition_path_name"><span class="termRef">path name</span></a> with file name. The <code>c:pathURI</code> value for an artifact set is its operating system relative <a name="d3e7165"></a><a href="#definition_path_name"><span class="termRef">path name</span></a>.</p><p>Artifact sets can be assembled in the MPD Catalog by using c:FileSet with or without a <code>c:pathURI</code> attribute.</p><p>If a single directory contains all the artifacts in a set, then the following simple form of <code>c:FileSet</code> can be used:</p><div class="figure"><div class="caption"><a name="figure_7-1"></a>Figure 7-1: Simple <code>c:FileSet</code> form for a directory-associated artifact set.</div><div class="box"><pre>
<c:FileSet c:pathURI="samples/">
<nc:DescriptionText>All IEP samples within this IEPD.</nc:DescriptionText>
</c:FileSet>
</pre></div></div><p>This simple form of <code>c:FileSet</code> associates an operating system directory with a set of artifacts that also includes all artifacts within subdirectories under the directory named in the value of the <code>c:pathURI</code> attribute. Note that the interpretation of this XML schema component (as implied by <code>nc:DescriptionText</code>) is that all artifacts in the <code>samples/</code> directory are sample IEPs, and no other IEP samples exist in other locations within the <a name="d3e7207"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. The author must construct MPD catalog entries that are clear and correct. So, in this case, if other artifacts exist within this directory that are not sample IEPs or if sample IEPs exist in other directories, then use of this simple directory association form is not appropriate.</p><p>However, multiple artifact sets and artifacts can be nested within a <code>c:FileSet</code> element to organize artifacts into a logical group of files in many locations. For example, an author may identify a set of artifacts in several locations using the following more complicated form of <code>c:FileSet</code> with the MPD catalog:</p><div class="figure"><div class="caption"><a name="figure_7-2"></a>Figure 7-2: <code>c:FileSet</code> form for a more complex artifact set.</div><div class="box"><pre>
<c:FileSet>
<nc:DescriptionText>All IEP samples in this IEPD</nc:DescriptionText>
<c:FileSet c:pathURI="samples/" />
<c:FileSet c:pathURI="iep-samples-1/" />
<c:FileSet c:pathURI="iep-samples-2/" />
<c:FileSet c:pathURI="iep-samples-supplement/" />
<c:IEPSampleXMLDocument c:pathURI="iep/test-case1.xml" c:mimeMediaTypeText="text/xml" />
<c:IEPSampleXMLDocument c:pathURI="test/test-case2.xml" c:mimeMediaTypeText="text/xml" />
</c:FileSet>
</pre></div></div><p>Another way the MPD catalog schema groups artifacts is through the use of the <code>c:RequiredFile</code> element. Use this construct to signify there are strong dependencies among artifacts. For example, documentation may be prepared as a set of hyperlinked HTML files. These HTML files may also incorporate separate GIF or JPG images. Regardless of file location within the MPD, these files depend on one another through hyperlinks. As a result, they tend to operate as a single artifact; removal of a file will cause one or more broken links within the set. This set of artifacts should be grouped using <code>c:RequiredFile</code>. If the set does not have a root HTML document (i.e., the set can be entered from any file in the set), then create an index HTML document and use it as the root of the set (i.e., the index is the value of the <code>c:File</code> element while all others are values for <code>c:RequiredFile</code> child elements).</p><div class="section"><div class="heading"><a name="Constraint-SchemaDocumentSet"></a><a name="section_7.1.1"></a>7.1.1. Constraint on Elements of Type <code>c:SchemaDocumentSetType</code></div><p>In order to accommodate the <a name="d3e7256"></a><a href="#definition_model_package_description"><span class="termRef">model package description</span></a> concept, the design of the MPD catalog schema does not enforce a rule that is required to ensure a <code>c:SchemaDocumentSet</code> within an <a name="d3e7262"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> is used correctly for an <a name="d3e7265"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. This rule assumes that within the IEPD’s MPD catalog any <code>c:SchemaDocumentSet</code> element identifies <a name="d3e7274"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema documents</span></a> to be assembled into an <a name="d3e7277"></a><a href="#definition_XML_Schema"><span class="termRef">XML Schema</span></a>.</p><div class="rule-section"><div class="heading"><a name="r-constraint-schemadocumentset"></a><a name="rule_7-4"></a>Rule 7-4. Constraint on Elements of Type <code>c:SchemaDocumentSetType</code></div><div class="box"><div class="normativeHead">[Rule 7-4] (MPD-catalog) (Constraint)</div><p>An element information item with a type definition validly derived from <code>c:SchemaDocumentSetType</code> MUST have a child element with an element declaration that is in the substitution group of <code>c:XMLCatalog</code> or <code>c:XMLSchemaDocument</code>.</p></div><p>This rule ensures that a <code>c:SchemaDocumentSet</code> element always has at least one child element that is an <a name="d3e7308"></a><a href="#definition_XML_catalog_document"><span class="termRef">XML catalog document</span></a> (which itself defines an <a name="d3e7311"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a>) set, or an <a name="d3e7314"></a><a href="#definition_XML_schema_document"><span class="termRef">XML schema document</span></a> (which constitutes a set of at least one schema document). This rule cannot be enforced within the MPD catalog schema without introducing a UPA error, but it could be enforced by a Schematron rule.</p></div></div></div><div class="section"><div class="heading"><a name="IEPD-File-Name-Syntax"></a><a name="section_7.2"></a>7.2. IEPD File Name Syntax</div><p>Additional non-normative for directory naming and organization for IEPDs is in <a href="#appendix_E">Appendix E, <em>Guidance for IEPD Directories (non-normative)</em>, below</a>.</p><p>It is important to understand that this section does not apply to the syntax for the <code>c:mpdName</code> attribute in the <a name="d3e7336"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a>. Refer to <a href="#section_5.2.1">Section 5.2.1, <em>MPD Name Syntax (<code>c:mpdName</code>)</em>, above,</a> for details regarding the <code>c:mpdName</code> metadata attribute.</p><p>The MPD Specification is intended to help facilitate tool support for processing MPDs. Tools and search mechanisms that can identify basic MPD information as early as possible is efficient and valuable. So, if an MPD name, version, and class can be identified from its file name, then a tool would not have to open the <a name="d3e7347"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a> and parse the MPD catalog to determine such. Of course, to do anything useful, a tool will eventually have to open the MPD archive. However, a standard file name syntax allows a tool to search through a set of MPDs in <a name="d3e7350"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a> format to find a particular MPD name, version, or class without having to open each. File name consistency can also make it easier to scan and identify MPDs in a long list sorted by file name.</p><div class="rule-section"><div class="heading"><a name="r-iepd-name-syntax"></a><a name="rule_7-5"></a>Rule 7-5. IEPD ZIP file Name Syntax</div><div class="box"><div class="normativeHead">[Rule 7-5] (IEPD) (Constraint)</div><p>The file name of an <a name="d3e7363"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> <a name="d3e7366"></a><a href="#definition_ZIP_file"><span class="termRef">ZIP file</span></a> (<code>iepd-filename</code>) SHOULD adhere to the syntax defined by the regular expression:</p><pre>
iepd-filename ::= name '-' version '.iepd.zip'
Where:
name ::= alphanum ((alphanum | special)* alphanum)?
alphanum ::= [a-z0-9]
special ::= '.' | '-' | '_'
version ::= digit+ ('.' digit+)* (status digit+)?
digit ::= [0-9]
status ::= 'alpha' | 'beta' | 'rc' | 'rev'</pre><p>The <code>status</code> values are as defined in <a href="#rule_5-10">Rule 5-10, <em>MPD Version Number Syntax</em>, above</a>.</p></div><p>Regular expression notation in the rule above is from <a href="#W3-XML" class="ref">[W3C XML 1.0]</a> <a class="url" target="_blank" href="http://www.w3.org/TR/2008/REC-xml-20081126/#sec-notation">#sec-notation</a>.</p><p>Alphabetic characters are lower case to reduce complications across various file systems.</p><p>An example of an <a name="d3e7398"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> file name that follows this rule is: <code>abc-query-2.0beta1.iepd.zip</code></p></div><p>File names can easily be changed by a person or process that executes a download on the Internet. Nonetheless, <a name="d3e7407"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> authors and publishers should ensure that their application of <a href="#rule_7-5">Rule 7-5, <em>IEPD ZIP file Name Syntax</em>, above,</a> is consistent with an IEPD’s catalog. The basic metadata in the <a name="d3e7414"></a><a href="#definition_MPD_catalog_document"><span class="termRef">MPD catalog document</span></a> (e.g., IEPD name, version, class, URI, etc.) should match any such information incorporated into the file name.</p></div><div class="section"><div class="heading"><a name="Artifact-Links-to-Other-Resources"></a><a name="section_7.3"></a>7.3. Artifact Links to Other Resources</div><p>It is important to understand that the URI scheme defined in <a href="#section_5.2.4.2">Section 5.2.4.2, <em>URI Scheme for MPD Artifacts (<code>c:externalURI</code>)</em>, above,</a> can only be used to identify relationships among and provide source links to external schemas being reused. It is not sufficient to allow references or links to such schemas stand in for a physical copy. Thus, all schema artifacts necessary to define, validate, and use an MPD must be physically present within that MPD. In accordance with the <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a>, if MPD schemas are moved to an operational environment for implementation, validation, or other purposes, then absolute references may replace relative <a name="d3e7430"></a><a href="#definition_path_name"><span class="termRef">path name</span></a> references when needed. The following rule applies when absolute references to Internet resources are required.</p><div class="rule-section"><div class="heading"><a name="r-mpd-protocol"></a><a name="rule_7-6"></a>Rule 7-6. MPD Reference to Resource Uses Common URI Scheme</div><div class="box"><div class="normativeHead">[Rule 7-6] (WF-MPD) (Constraint)</div><p>An absolute reference to an Internet resource MUST use a well-known URI scheme (e.g., http, https, ftp, ftps) and MUST <a name="d3e7443"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a>. If applicable, documentation SHOULD describe how to <a name="d3e7446"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> with security, account, and/or password information.</p></div></div></div><div class="section"><div class="heading"><a name="IEPD-Completeness"></a><a name="section_7.4"></a>7.4. IEPD Completeness</div><p>Since an <a name="d3e7459"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> defines an information exchange and is often implemented by persons other than the original author, it is important to ensure that they are relatively complete and provide all artifacts needed to use the <a name="d3e7462"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>.</p><div class="rule-section"><div class="heading"><a name="r-mpd-documents"></a><a name="rule_7-7"></a>Rule 7-7. IEPD Completeness</div><div class="box"><div class="normativeHead">[Rule 7-7] (IEPD) (Constraint)</div><p>An <a name="d3e7475"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> SHOULD contain all artifacts needed to understand it and facilitate its correct implementation.</p></div></div><p>The rule above means that an <a name="d3e7483"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> implementer should not be forced to search for or track down specialized schema documents, documentation, or other artifacts required to validate and implement exchanges defined by an <a name="d3e7486"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. Specialized artifacts refer to those designed and built by an <a name="d3e7489"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> author, not artifacts that are standards and publicly available to all implementers. For example, this rule does not imply that an <a name="d3e7492"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> should contain a schema document that defines the XML schema component vocabulary identified by the namespace name <code>http://www.w3.org/2001/XMLSchema</code> (i.e., XS), or <code>http://www.w3.org/2001/XMLSchema-instance</code> (i.e., XSI). All schema processors have appropriate declarations for these built in. Likewise, an <a name="d3e7502"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is not required to contain <code>mpd-catalog-3.0.xsd</code> or the standard NIEM subset that supports it.</p><p>On the other hand, an <a name="d3e7511"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> whose author has extended the MPD catalog schema is clearly required to contain the catalog extension schema document, since this is a specialized customization created by the author. If a different NIEM schema subset is also used, then the <a name="d3e7514"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> must also contain its superset (i.e., a complete subset that incorporates both the original subset with additional NIEM components used to extend the catalog schema document; see <a href="#rule_5-8">Rule 5-8, <em>MPD Schema Document Extension Support Schemas Are Supersets of Spec Subsets</em>, above</a>.)</p><p>The rationale for "SHOULD" in <a href="#rule_7-7">Rule 7-7, <em>IEPD Completeness</em>, above,</a> relates to issues of security. Although NIEM is generally public, some IEPDs (and even other MPDs) may contain XML tags that provide more semantics or structure than a domain is willing to expose. In such cases, it may be necessary to simply refer to schema documents that are required for validation and implementation, instead of circulating them within a public <a name="d3e7524"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. Implementers would then be expected to know how and where to obtain the required documents.</p><p>The <a href="#NIEM-NDR" class="ref">[NIEM Naming and Design Rules 3.0]</a> explains how NIEM employs adapter types to encapsulate and use other standards (e.g., geospatial and emergency management standards) in their native forms that are not NIEM-conformant. Other standards may use <code>xs:import</code> without requiring <code>schemaLocation</code> attributes (instead, relying only on the namespace value). These standards may also use <code>xs:include</code>. This XML Schema construct is disallowed by NIEM. When standards external to NIEM are required within MPDs, the following rule applies:</p><div class="rule-section"><div class="heading"><a name="r-mpd-other-stds"></a><a name="rule_7-8"></a>Rule 7-8. MPD External Schema Documents Are Local Resources</div><div class="box"><div class="normativeHead">[Rule 7-8] (WF-MPD) (Constraint)</div><p>Within an MPD, a non-NIEM-conformant external schema document reference to another schema document and/or namespace MUST <a name="d3e7552"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to a local resource. <code>schemaLocation</code> attributes or XML catalogs can be used to ensure resolution.</p></div></div><p>For the case of non-NIEM-conformant schemas, this rule ensures that all schemas (or corresponding artifacts and namespaces) from external standards required for definition, validation, and use of the MPD are present within it.</p><p>XML schemas are the heart of MPDs since they formally specify normative structure and semantics for <a name="d3e7566"></a><a href="#definition_data_component"><span class="termRef">data components</span></a>. However, in general, an MPD is a closed set of artifacts. This means that all hyperlink references within artifacts should <a name="d3e7569"></a><a href="#definition_resolve_URI"><span class="termRef">resolve</span></a> to the appropriate artifact.</p><div class="rule-section"><div class="heading"><a name="r-mpd-resources"></a><a name="rule_7-9"></a>Rule 7-9. Key MPD Resources Are Local Resources</div><div class="box"><div class="normativeHead">[Rule 7-9] (WF-MPD) (Constraint)</div><p>Within any artifact of an MPD, any direct reference to another resource (i.e., another artifact such as an image, schema, stylesheet, etc.) that is required to process or display an artifact SHOULD exist within the MPD at the location specified by that reference.</p></div></div><p>This means that MPD artifacts, including documentation artifacts, should be complete. For example, if an HTML document within an MPD contains a hyperlink reference (<code>href</code>) to an artifact that is part of or used by the MPD, then the file associated with that hyperlink should be present in the MPD; likewise for a sourced (<code>src</code>) image. Authors should exercise good judgment with this rule. For example, it does not require an MPD to contain copies of all cited documents from a table of references if it contains hyperlinks to those documents. The key operating words in this rule are: "another resource is required to process or display an artifact SHOULD exist within the MPD."</p><p>In some cases, it may not be possible to include all artifacts, even schemas, in an MPD without violating laws, regulations, or policies. For example, an <a name="d3e7597"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> may require use of a schema document that is not publicly accessible; it might be classified or controlled unclassified information (CUI). This is a valid reason for exception to <a href="#rule_7-9">Rule 7-9, <em>Key MPD Resources Are Local Resources</em>, above</a>. If the <a name="d3e7602"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is placed in the public domain, the author should omit the non-public schema document, and if appropriate, document the omission, and explain where and/or how the missing schema document can be obtained.</p></div><div class="section"><div class="heading"><a name="Duplication-of-Artifacts"></a><a name="section_7.5"></a>7.5. Duplication of Artifacts</div><p>Within an MPD, the replication of files or entire file sets should be avoided. However, replication is allowed if a reasonable rationale exists. In some cases, file replication may make it easier to use, validate, implement, or automatically process an MPD. For example, multiple subsets and/or constraint sets may overlap in many identical schema documents. Yet, allowing this duplication may be easier or necessary to accommodate a validation tool, rather than removing duplicate schema documents, and forcing the tool to search for them. Whenever possible, use XML catalogs to coordinate schema assembly.</p></div></div><p> </p><div class="section"><div class="heading"><a name="MPD-Catalog-XSD"></a><a name="appendix_A"></a>Appendix A. MPD Catalog XML Schema Document</div><pre><?xml version="1.0" encoding="US-ASCII"?>
<xs:schema
ct:conformanceTargets="http://reference.niem.gov/niem/specification/naming-and-design-rules/3.0/#ExtensionSchemaDocument"
targetNamespace="http://reference.niem.gov/niem/resource/mpd/catalog/3.0/"
version="3.0"
xmlns:appinfo="http://release.niem.gov/niem/appinfo/3.0/"
xmlns:c="http://reference.niem.gov/niem/resource/mpd/catalog/3.0/"
xmlns:ct="http://release.niem.gov/niem/conformanceTargets/3.0/"
xmlns:nc="http://release.niem.gov/niem/niem-core/3.0/"
xmlns:structures="http://release.niem.gov/niem/structures/3.0/"
xmlns:term="http://release.niem.gov/niem/localTerminology/3.0/"
xmlns:niem-xs="http://release.niem.gov/niem/proxy/xsd/3.0/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://release.niem.gov/niem/structures/3.0/" schemaLocation="niem/structures/3.0/structures.xsd"/>
<xs:import namespace="http://release.niem.gov/niem/niem-core/3.0/" schemaLocation="niem/niem-core/3.0/niem-core.xsd"/>
<xs:import namespace="http://release.niem.gov/niem/proxy/xsd/3.0/" schemaLocation="niem/proxy/xsd/3.0/xs.xsd"/>
<xs:annotation>
<xs:documentation>Model Package Description (MPD) Catalog schema document.
defines an mpd-catalog.xml artifact for Model Package Descriptions (MPD).
The purpose of this schema is to facilitate consistent declaration of MPD
content, conformance targets, metadata, and lineage to process, display,
review, register, search, and discover MPDs efficiently. For IEPDs, this
mpd-catalog schema provides instructions for validating IEPs to schemas.
This XML Schema document is supported by a subset of niem-core 3.0.
</xs:documentation>
<xs:appinfo>
<term:LocalTerm term="EIEM" literal="Enterprise Information Exchange Model"/>
<term:LocalTerm term="EXI" literal="Efficient XML Interchange"/>
<term:LocalTerm term="IANA" literal="Internet Assigned Numbers Authority"/>
<term:LocalTerm term="ID" literal="Identifier"/>
<term:LocalTerm term="IEP" literal="Information Exchange Package"
definition="an instance XML document"/>
<term:LocalTerm term="IEPD" literal="Information Exchange Package
Documentation"/>
<term:LocalTerm term="MIME" literal="Multipurpose Internet Mail Extension"/>
<term:LocalTerm term="MPD" literal="Model Package Description"/>
<term:LocalTerm term="OASIS" literal="Organization for the Advancement
of Structured Information Standards"/>
<term:LocalTerm term="SSGT" literal="Schema Subset Generation Tool"/>
<term:LocalTerm term="URI" literal="Uniform Resource Identifier"/>
<term:LocalTerm term="Wantlist" definition="An XML file that represents a
NIEM schema document subset; used by NIEM Schema Subset Generation
Tool to input/output a schema document subset"/>
</xs:appinfo>
</xs:annotation>
<xs:element name="Catalog" type="c:CatalogType">
<xs:annotation>
<xs:documentation>An MPD catalog that describes MPD artifacts and metadata.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="CatalogType">
<xs:annotation>
<xs:documentation>A data type for an MPD catalog.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="c:MPD"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="MPD" type="c:MPDType">
<xs:annotation>
<xs:documentation>A Model Package Description (MPD).</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="MPDType">
<xs:annotation>
<xs:documentation>A data type for an MPD.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:MPDInformation" minOccurs="0"/>
<xs:element ref="c:IEPConformanceTarget" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:ArtifactOrArtifactSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="c:mpdURI" use="required"/>
<xs:attribute ref="c:mpdClassURIList" use="required"/>
<xs:attribute ref="c:mpdName" use="required"/>
<xs:attribute ref="c:mpdVersionID" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ArtifactOrArtifactSet" abstract="true">
<xs:annotation>
<xs:documentation>
A data concept for a file or file set in an MPD.
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- File artifact classifiers for a table of contents =========================== -->
<xs:element name="File" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
A generic electronic file artifact in an MPD; a file stored on a computer system.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="FileType">
<xs:annotation>
<xs:documentation>A data type for an MPD file artifact.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="c:RequiredFile" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="c:pathURI" use="required"/>
<xs:attribute ref="c:mimeMediaTypeText" use="optional"/>
<xs:attribute ref="c:externalURI" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="XMLCatalog" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact that is an OASIS XML catalog.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="MPDChangeLog" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact that contains a record of the MPD changes.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReadMe" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>An MPD read-me artifact.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="IEPSampleXMLDocument" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An example MPD instance XML document or IEP artifact.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="BusinessRulesArtifact" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact that contains business rules
and constraints on exchange content.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="XMLSchemaDocument" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact that is an XML schema document (i.e., an XSD that
is not necessarily a NIEM subset, extension, or reference schema).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExternalSchemaDocument" type="c:FileType" substitutionGroup="c:XMLSchemaDocument">
<xs:annotation>
<xs:documentation>
An MPD artifact that is a schema document external to NIEM.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExtensionSchemaDocument" type="c:FileType" substitutionGroup="c:XMLSchemaDocument">
<xs:annotation>
<xs:documentation>An MPD artifact that is a NIEM extension schema document.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SubsetSchemaDocument" type="c:FileType" substitutionGroup="c:XMLSchemaDocument">
<xs:annotation>
<xs:documentation>An MPD artifact that is a subset schema document.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ReferenceSchemaDocument" type="c:FileType" substitutionGroup="c:XMLSchemaDocument">
<xs:annotation>
<xs:documentation>An MPD artifact that is a reference schema document (from a release, domain update, or core update).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="EXIXMLSchema" type="c:XMLSchemaType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An XML Schema to be used for EXI serialization of an IEP Class.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Wantlist" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>An MPD artifact that represents a NIEM schema subset
and is used as an import or export for the NIEM SSGT.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ConformanceAssertion" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>An MPD artifact that is a signed declaration
that a NIEM IEPD or EIEM is NIEM-conformant.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ConformanceReport" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact either auto-generated by a NIEM-aware software tool or manually prepared
that checks NIEM conformance and/or quality and renders a detailed report of results.
This report may also be an auto-generated and manually prepared hybrid artifact.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="SchematronSchema" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>A Schematron schema document.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="RelaxNGSchema" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>A RelaxNG schema.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Documentation" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact that is a form of explanatory documentation.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ApplicationInfo" type="c:FileType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact that is used by a software tool (e.g., import, export, input, output, etc.).
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- For declaring sets of dependent artifacts =================================== -->
<xs:element name="RequiredFile" type="c:FileType">
<xs:annotation>
<xs:documentation>
An MPD file artifact that another artifact depends on and should not be separated from.
</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Artifact Set Classifiers ==================================================== -->
<xs:element name="FileSet" type="c:FileSetType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
A generic MPD artifact set; used to group artifacts that are not accounted for by other set classifiers.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="FileSetType">
<xs:annotation>
<xs:documentation>A data type for a set of MPD file artifacts.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:ArtifactOrArtifactSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="c:pathURI" use="optional"/>
<xs:attribute ref="c:externalURI" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="SchemaDocumentSet" type="c:SchemaDocumentSetType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact set that may include subset schema documents, extension and external schema documents, and other supporting artifacts.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ConstraintSchemaDocumentSet" type="c:SchemaDocumentSetType" substitutionGroup="c:ArtifactOrArtifactSet">
<xs:annotation>
<xs:documentation>
An MPD artifact set of constraint schema documents and other supporting artifacts.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="SchemaDocumentSetType">
<xs:annotation>
<xs:documentation>
A data type for an MPD artifact set that may include subset schema documents, extension schema documents, and external schema documents or constraint schema documents.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="c:FileSetType"/>
</xs:complexContent>
</xs:complexType>
<!-- Primitives ================================================================== -->
<xs:attribute name="mpdURI" type="xs:anyURI">
<xs:annotation>
<xs:documentation>
A globally unique identifier (URI) for an MPD.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mpdName" type="c:MPDNameSimpleType">
<xs:annotation>
<xs:documentation>A descriptive label or title for an MPD.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleType name="MPDNameSimpleType">
<xs:annotation>
<xs:documentation>
A data type for an MPD name, label, or title.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern value="[A-Za-z]([-_ ]?[A-Za-z0-9]+)*"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="mpdVersionID" type="c:MPDVersionIDSimpleType">
<xs:annotation>
<xs:documentation>
An identifier that distinguishes releases of a given MPD.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleType name="MPDVersionIDSimpleType">
<xs:annotation>
<xs:documentation>
A data type for an identifier that distinguishes releases of a given MPD.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:pattern value="[0-9]+(\.[0-9]+)*((alpha|beta|rc|rev)[0-9]+)?"/>
</xs:restriction>
</xs:simpleType>
<!-- =========================================================================== -->
<xs:attribute name="mpdClassURIList" type="c:MPDClassURIListSimpleType">
<xs:annotation>
<xs:documentation>
A list of one or more URIs that each represents an MPD class to which the MPD claims conformance.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleType name="MPDClassURIListSimpleType">
<xs:annotation>
<xs:documentation>
A data type that ensures at least one class is identified as an MPD conformance target.
</xs:documentation>
</xs:annotation>
<xs:restriction base="c:MPDClassListSimpleType">
<xs:minLength value="1"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="MPDClassListSimpleType">
<xs:annotation>
<xs:documentation>
A data type for one or more URIs that are MPD conformance target classes.
</xs:documentation>
</xs:annotation>
<xs:list itemType="xs:anyURI"/>
</xs:simpleType>
<!-- =========================================================================== -->
<xs:attribute name="pathURI" type="xs:anyURI">
<xs:annotation>
<xs:documentation>
A URI for the pathname of a local artifact relative to the MPD root directory.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="externalURI" type="xs:anyURI">
<xs:annotation>
<xs:documentation>
A globally unique identifier (URI) for an artifact in another MPD that is reused by this MPD.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mimeMediaTypeText" type="xs:string">
<xs:annotation>
<xs:documentation>
A classification for an MPD file artifact from the IANA MIME media classes: http://www.iana.org/assignments/media-types.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:complexType name="RelationshipType">
<xs:annotation>
<xs:documentation>
A data type for a reference to another MPD related to this MPD.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="c:relationshipCode" use="required"/>
<xs:attribute ref="c:resourceURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attribute name="resourceURI" type="xs:anyURI">
<xs:annotation>
<xs:documentation>
A globally unique identifier (URI) for another MPD or document to which this MPD relates.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="relationshipCode" type="c:RelationshipCodeSimpleType">
<xs:annotation>
<xs:documentation>
A classification or reason for the connectedness between this MPD and the resource referenced in resourceURI.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleType name="RelationshipCodeSimpleType">
<xs:annotation>
<xs:documentation>
A data type for a classification of the relationship between MPDs.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:token">
<xs:enumeration value="version_of">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD is a different version of the MPD referenced in resourceURI. This code value is only needed in cases where significant name changes might obscure the relationship to the previous version. For example, NIEM Justice 4.1 is a version of GJXDM 3.0.3.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="specializes">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD is a specialization of the MPD referenced in resourceURI. This value is the inverse of generalizes.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="generalizes">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD is a generalization of the MPD referenced in resourceURI. This value is the inverse of specializes.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="supersedes">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD replaces the MPD referenced in resourceURI.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="deprecates">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that content in this MPD is preferred over content in the MPD referenced in resourceURI; and at some time in the future will supersede the MPD referenced in resourceURI.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="adapts">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD is an adaptation of the MPD referenced in resourceURI.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="updates">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD is an incremental update to the resource referenced in resourceURI. Used by a core or domain update to identify the domain schema in a NIEM release being incrementally updated (not replaced).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="conforms_to">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD conforms to the specification or standard referenced in resourceURI.
</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="derives_from">
<xs:annotation>
<xs:documentation>
A relationshipCode value for indicating that this MPD has been derived from another; used to indicate an IEPD is derived from an EIEM (may have other uses as well).
</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
<!-- IEP Conformance Targets ==================================================== -->
<xs:element name="IEPConformanceTarget" type="c:IEPConformanceTargetType">
<xs:annotation>
<xs:documentation>
A class or category of IEPs which has a set of validity constraints and a unique identifier. Every IEP is an instance of one or more IEP Conformance Targets.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="IEPConformanceTargetType">
<xs:annotation>
<xs:documentation>
A data type for a class or category of IEP, which has a set of validity constraints and a unique identifier.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:ValidityConstraintWithContext" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:ArtifactOrArtifactSet" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ValidityConstraintWithContext" abstract="true">
<xs:annotation>
<xs:documentation>
A data concept for a rule or instructions for validating an IEP candidate (XML document) using some context within that XML document.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ValidityConstraint" abstract="true" substitutionGroup="c:ValidityConstraintWithContext">
<xs:annotation>
<xs:documentation>
A data concept for a rule or instructions for validating an IEP candidate.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ValidityContext" type="c:ValidityContextType" substitutionGroup="c:ValidityConstraintWithContext">
<xs:annotation>
<xs:documentation>
A rule or instructions for validating an IEP candidate within context defined by an XPath expression.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ValidityContextType">
<xs:annotation>
<xs:documentation>
A data type for a rule or instructions for validating an IEP candidate within context defined by an XPath expression.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:ValidityConstraint" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="c:xPathText" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<!-- Validity Constraints ======================================================== -->
<xs:element name="ValidToXPath" type="c:XPathType" substitutionGroup="c:ValidityConstraint">
<xs:annotation>
<xs:documentation>
A validity constraint that has a an XPath expression that MUST have an effective Boolean value of "TRUE" when applied to a valid IEP.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="XPathType">
<xs:annotation>
<xs:documentation>A data type for an XPath expression.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="c:xPathText" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attribute name="xPathText" type="xs:string">
<xs:annotation>
<xs:documentation>An XPath expression.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="XMLSchemaValid" type="c:XMLSchemaType" substitutionGroup="c:ValidityConstraint">
<xs:annotation>
<xs:documentation>
A validity constraint that indicates that an artifact must be locally XML Schema valid against an XML schema described/asssembled using one or more XML catalog documents or (more explicitly) one or more XML schema documents.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="XMLSchemaType">
<xs:annotation>
<xs:documentation>A data type for a validity constraint that indicating an XML Schema against which an artifact may be validated, or which can be used for other purposes. c:XMLSchemaDocument identifies the root or starting XML schema document.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:XMLCatalog" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:XMLSchemaDocument" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="SchematronValid" type="c:SchematronValidationType" substitutionGroup="c:ValidityConstraint">
<xs:annotation>
<xs:documentation>A validity constraint that indicates that an artifact must be valid against the rules carried by a Schematron file, starting with the identified validation roots.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="SchematronValidationType">
<xs:annotation>
<xs:documentation>
A data type for a Schematron validation constraint, indicating a Schematron schema document against which an artifact may be validated as well as a description of the validation roots for assessment of validity.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:SchematronSchema"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="RelaxNGValid" type="c:RelaxNGValidationType" substitutionGroup="c:ValidityConstraint">
<xs:annotation>
<xs:documentation>
A validity constraint that indicates that an artifact must be valid against the rules carried by a RelaxNG schema.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="RelaxNGValidationType">
<xs:annotation>
<xs:documentation>
A data type for a RelaxNG validation constraint, indicating a RelaxNG schema document against which an artifact may be validated, as well as a description of the validation roots for assessment of validity.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:RelaxNGSchema"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="HasDocumentElement" type="c:QualifiedNamesType" substitutionGroup="c:ValidityConstraintWithContext">
<xs:annotation>
<xs:documentation>
A validity constraint that indicates that an artifact has a document element with a name that is one of the given qualified names.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="QualifiedNamesType">
<xs:annotation>
<xs:documentation>A data type for a set of qualified names.</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="c:qualifiedNameList" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attribute name="qualifiedNameList" type="c:QualifiedNameListSimpleType">
<xs:annotation>
<xs:documentation>A list of qualified names.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:simpleType name="QualifiedNameListSimpleType">
<xs:annotation>
<xs:documentation>A data type for a list of qualified names.</xs:documentation>
</xs:annotation>
<xs:list itemType="xs:QName"/>
</xs:simpleType>
<xs:element name="ConformsToConformanceTarget" type="c:ConformanceTargetType" substitutionGroup="c:ValidityConstraint">
<xs:annotation>
<xs:documentation>
A validity constraint that indicates that an artifact must conform to the given conformance target.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="ConformanceTargetType">
<xs:annotation>
<xs:documentation>
A data type for identifying and describing a conformance target.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
</xs:sequence>
<xs:attribute ref="c:conformanceTargetURI" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:attribute name="conformanceTargetURI" type="xs:anyURI">
<xs:annotation>
<xs:documentation>A URI for a conformance target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:element name="ConformsToRule" type="c:TextRuleType" substitutionGroup="c:ValidityConstraint">
<xs:annotation>
<xs:documentation>
A validity constraint that indicates that an artifact must conform to the given text rule, drafted in a human language.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="TextRuleType">
<xs:annotation>
<xs:documentation>
A data type for a rule drafted in a human language.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="nc:DescriptionText" minOccurs="0"/>
<xs:element ref="c:RuleText"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="RuleText" type="nc:TextType">
<xs:annotation>
<xs:documentation>A rule written in a human language.</xs:documentation>
</xs:annotation>
</xs:element>
<!-- Metadata ==================================================================== -->
<xs:element name="MPDInformation" type="c:MPDInformationType">
<xs:annotation>
<xs:documentation>A set of descriptive data about an MPD.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="MPDInformationType">
<xs:annotation>
<xs:documentation>
A data type for a set of descriptive data about an MPD.
</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="structures:ObjectType">
<xs:sequence>
<xs:element ref="c:AuthoritativeSource" minOccurs="0"/>
<xs:element ref="c:CreationDate" minOccurs="0"/>
<xs:element ref="c:LastRevisionDate" minOccurs="0"/>
<xs:element ref="c:StatusText" minOccurs="0"/>
<xs:element ref="c:Relationship" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:KeywordText" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:DomainText" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:PurposeText" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:ExchangePatternText" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:ExchangePartnerName" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="c:ExtendedInformation" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="ExtendedInformation" abstract="true">
<xs:annotation>
<xs:documentation>
A data concept for a user-defined descriptive data about an MPD.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="AuthoritativeSource" type="nc:EntityType">
<xs:annotation>
<xs:documentation>
An official sponsoring or authoring organization responsible for an MPD.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="CreationDate" type="niem-xs:date">
<xs:annotation>
<xs:documentation>A date this MPD was published.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="LastRevisionDate" type="niem-xs:date">
<xs:annotation>
<xs:documentation>
A date the latest changes to an MPD were published (i.e., CreationDate of previous version).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="StatusText" type="niem-xs:string">
<xs:annotation>
<xs:documentation>
A description of the current state of this MPD in development; may also project future plans for the MPD.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Relationship" type="c:RelationshipType">
<xs:annotation>
<xs:documentation>A reference to another MPD related to this MPD.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="KeywordText" type="niem-xs:string">
<xs:annotation>
<xs:documentation>
A common alias, term, or phrase that would help to facilitate search and discovery of this MPD.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="DomainText" type="niem-xs:string">
<xs:annotation>
<xs:documentation>
A description of the environment or NIEM Domain in which this MPD is applicable or used.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="PurposeText" type="niem-xs:string">
<xs:annotation>
<xs:documentation>
A description of the intended usage and reason for which an MPD exists.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExchangePatternText" type="niem-xs:string">
<xs:annotation>
<xs:documentation>
A description of a transactional or design pattern used for this IEPD (generally, only applicable to IEPDs).
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ExchangePartnerName" type="niem-xs:string">
<xs:annotation>
<xs:documentation>
A name of an entity or organization that uses this MPD (generally, only applicable to IEPDs).
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:schema>
</pre><p> </p></div><div class="section"><div class="heading"><a name="MPD-Catalog-Document-CoT"></a><a name="appendix_B"></a>Appendix B. Example MPD Catalog Document for Cursor on Target</div><p>Below is a simple example of an MPD catalog document for a <em>Cursor on Target</em> <a name="d3e7647"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a>. The entire <a name="d3e7650"></a><a href="#definition_information_exchange_package_documentation"><span class="termRef">IEPD</span></a> is contained in the <a href="#NIEM-MPD-Toolkit" class="ref">[NIEM MPD Toolkit]</a></p><pre><?xml version="1.0" encoding="US-ASCII"?>
<c:Catalog
xmlns:cot="http://example.com/cot-niem/0.9/"
xmlns:c="http://reference.niem.gov/niem/resource/mpd/catalog/3.0/"
xmlns:structures="http://release.niem.gov/niem/structures/3.0/"
xmlns:nc="http://release.niem.gov/niem/niem-core/3.0/">
<c:MPD
c:mpdURI="http://example.com/cot-iepd/0.9rc2/"
c:mpdClassURIList=
"http://reference.niem.gov/niem/specification/model-package-description/3.0/#MPD
http://reference.niem.gov/niem/specification/model-package-description/3.0/#IEPD"
c:mpdName="cot-iepd"
c:mpdVersionID="0.9rc1">
<c:MPDInformation>
<c:AuthoritativeSource>
<nc:EntityOrganization>
<nc:OrganizationName>CoT Program Office</nc:OrganizationName>
<nc:OrganizationPrimaryContactInformation>
<nc:ContactWebsiteURI>
https://partners.mitre.org/sites/CoTUserGroup/
</nc:ContactWebsiteURI>
</nc:OrganizationPrimaryContactInformation>
</nc:EntityOrganization>
</c:AuthoritativeSource>
<c:CreationDate>2014-08-04</c:CreationDate>
<c:StatusText>Release Candidate</c:StatusText>
</c:MPDInformation>
<c:IEPConformanceTarget structures:id="CoT-NIEM-IEP">
<nc:DescriptionText>
An IEP class equivalent to Cursor-on-Target 2.0 messages