"부활:반하코파들의 文서"의 두 판 사이의 차이
(씨1972 2022 2021 12 25 2021 12 28 2021 12 29 바아아알!!!) |
|||
1번째 줄: | 1번째 줄: | ||
− | + | 법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
2021년 12월 28일 (화) 10:00 판
법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규법규