annet 0.16.21__tar.gz → 0.16.22__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of annet might be problematic. Click here for more details.
- {annet-0.16.21/annet.egg-info → annet-0.16.22}/PKG-INFO +1 -1
- {annet-0.16.21 → annet-0.16.22}/README.md +1 -1
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/tabparser.py +27 -3
- {annet-0.16.21 → annet-0.16.22}/annet/tabparser.py +10 -1
- {annet-0.16.21 → annet-0.16.22/annet.egg-info}/PKG-INFO +1 -1
- {annet-0.16.21 → annet-0.16.22}/AUTHORS +0 -0
- {annet-0.16.21 → annet-0.16.22}/LICENSE +0 -0
- {annet-0.16.21 → annet-0.16.22}/MANIFEST.in +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/fetchers/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/fetchers/stub/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/fetchers/stub/fetcher.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/file/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/file/provider.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/client.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/manufacturer.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/models.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/query.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/status_client.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/common/storage_opts.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/provider.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/v24/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/v24/storage.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/v37/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/adapters/netbox/v37/storage.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annet.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/command.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/diff.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/errors.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/filter_acl.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/jsontools.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/lib.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/db.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/devdb/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/devdb/data/devdb.json +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/views/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/views/dump.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/netdev/views/hardware.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/output.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/patching.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rbparser/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rbparser/acl.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rbparser/deploying.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rbparser/ordering.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rbparser/platform.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rbparser/syntax.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rulebook/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/rulebook/common.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/annlib/types.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/api/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/argparse.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/bgp_models.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/cli.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/cli_args.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/configs/context.yml +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/configs/logging.yaml +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/connectors.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/deploy.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/diff.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/executor.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/filtering.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/gen.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/base.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/common/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/common/initial.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/entire.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/exceptions.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/jsonfragment.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/partial.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/perf.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/ref.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/generators/result.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/hardware.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/implicit.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/lib.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/basemodel.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/device_models.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/executor.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/match_args.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/models_converter.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/peer_models.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/mesh/registry.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/output.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/parallel.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/patching.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/reference.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/action.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/condition.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/match_builder.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/policy.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/result.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/routemap.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rpl/statement_builder.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/arista/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/arista/iface.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/aruba/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/aruba/ap_env.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/aruba/misc.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/b4com/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/b4com/file.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/cisco/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/cisco/iface.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/cisco/misc.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/cisco/vlandb.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/common.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/deploying.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/huawei/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/huawei/aaa.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/huawei/bgp.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/huawei/iface.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/huawei/misc.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/huawei/vlandb.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/juniper/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/nexus/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/nexus/iface.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/patching.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/ribbon/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/routeros/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/routeros/file.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/arista.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/arista.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/arista.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/aruba.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/aruba.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/aruba.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/b4com.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/b4com.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/b4com.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/cisco.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/cisco.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/cisco.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/huawei.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/huawei.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/huawei.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/juniper.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/nexus.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/nexus.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/nexus.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/nokia.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/optixtrans.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/optixtrans.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/optixtrans.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/pc.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/pc.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/pc.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/ribbon.deploy +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/ribbon.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/routeros.order +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/rulebook/texts/routeros.rul +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/storage.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/text_term_format.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/tracing.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet/types.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet.egg-info/SOURCES.txt +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet.egg-info/dependency_links.txt +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet.egg-info/entry_points.txt +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet.egg-info/requires.txt +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet.egg-info/top_level.txt +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/example/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/example/lldp.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/mesh_example/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/mesh_example/bgp.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/mesh_example/mesh_logic.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/rpl_example/__init__.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/rpl_example/items.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/rpl_example/policy_generator.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/annet_generators/rpl_example/route_policy.py +0 -0
- {annet-0.16.21 → annet-0.16.22}/requirements.txt +0 -0
- {annet-0.16.21 → annet-0.16.22}/setup.cfg +0 -0
- {annet-0.16.21 → annet-0.16.22}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Annet - configuration generation and deploying utility for network equipment
|
|
2
2
|
|
|
3
|
-
Annet is a configuration generator that can translate differences between old and new configurations into
|
|
3
|
+
Annet is a configuration generator that can translate differences between old and new configurations into sequence of commands. This feature is vital for CLI-based devices, such as Huawei, Cisco IOS, Cisco NX-OS, Juniper. Devices configured via separate config files, Linux, FreeBSD and Cumulus are also supported.
|
|
4
4
|
|
|
5
5
|
It works this way. Annet `gen`erates configuration for a device by running Python code, which usually goes to the Network Source of Truth, like NetBox. Annet then gets the `diff`erence by getting the configuration from the device and comparing it. Finally, Annet translates the difference into a sequence of commands, called a `patch`. After `deploy`ing these commands, the diff will be empty.
|
|
6
6
|
|
|
@@ -330,6 +330,30 @@ class CiscoFormatter(BlockExitFormatter):
|
|
|
330
330
|
yield from super().block_exit(context)
|
|
331
331
|
|
|
332
332
|
|
|
333
|
+
class NexusFormatter(BlockExitFormatter):
|
|
334
|
+
def __init__(self, indent=" "):
|
|
335
|
+
super().__init__("exit", indent)
|
|
336
|
+
|
|
337
|
+
def split(self, text):
|
|
338
|
+
return self.split_remove_spaces(text)
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
class B4comFormatter(BlockExitFormatter):
|
|
342
|
+
def __init__(self, indent=" "):
|
|
343
|
+
super().__init__("exit", indent)
|
|
344
|
+
|
|
345
|
+
def split(self, text):
|
|
346
|
+
return self.split_remove_spaces(text)
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
class ArubaFormatter(BlockExitFormatter):
|
|
350
|
+
def __init__(self, indent=" "):
|
|
351
|
+
super().__init__("exit", indent)
|
|
352
|
+
|
|
353
|
+
def split(self, text):
|
|
354
|
+
return self.split_remove_spaces(text)
|
|
355
|
+
|
|
356
|
+
|
|
333
357
|
class AristaFormatter(CiscoFormatter):
|
|
334
358
|
|
|
335
359
|
def block_exit(self, context: Optional[FormatterContext]) -> str:
|
|
@@ -713,16 +737,16 @@ def make_formatter(vendor, **kwargs):
|
|
|
713
737
|
formatters = {
|
|
714
738
|
"juniper": JuniperFormatter,
|
|
715
739
|
"cisco": CiscoFormatter,
|
|
716
|
-
"nexus":
|
|
740
|
+
"nexus": NexusFormatter,
|
|
717
741
|
"huawei": HuaweiFormatter,
|
|
718
742
|
"optixtrans": OptixtransFormatter,
|
|
719
743
|
"arista": AristaFormatter,
|
|
720
744
|
"nokia": NokiaFormatter,
|
|
721
745
|
"routeros": RosFormatter,
|
|
722
|
-
"aruba":
|
|
746
|
+
"aruba": ArubaFormatter,
|
|
723
747
|
"pc": CommonFormatter,
|
|
724
748
|
"ribbon": RibbonFormatter,
|
|
725
|
-
"b4com":
|
|
749
|
+
"b4com": B4comFormatter,
|
|
726
750
|
}
|
|
727
751
|
return formatters[vendor](**kwargs)
|
|
728
752
|
|
|
@@ -12,6 +12,9 @@ from annet.annlib.tabparser import ( # pylint: disable=unused-import
|
|
|
12
12
|
RosFormatter,
|
|
13
13
|
parse_to_tree,
|
|
14
14
|
AristaFormatter,
|
|
15
|
+
NexusFormatter,
|
|
16
|
+
B4comFormatter,
|
|
17
|
+
ArubaFormatter,
|
|
15
18
|
)
|
|
16
19
|
|
|
17
20
|
|
|
@@ -22,8 +25,14 @@ def make_formatter(hw, **kwargs):
|
|
|
22
25
|
cls = HuaweiFormatter
|
|
23
26
|
elif hw.Cisco.ASR or hw.Cisco.XRV:
|
|
24
27
|
cls = AsrFormatter
|
|
25
|
-
elif hw.Nexus
|
|
28
|
+
elif hw.Nexus:
|
|
29
|
+
cls = NexusFormatter
|
|
30
|
+
elif hw.Cisco:
|
|
26
31
|
cls = CiscoFormatter
|
|
32
|
+
elif hw.B4com:
|
|
33
|
+
cls = B4comFormatter
|
|
34
|
+
elif hw.Aruba:
|
|
35
|
+
cls = ArubaFormatter
|
|
27
36
|
elif hw.Juniper:
|
|
28
37
|
cls = JuniperFormatter
|
|
29
38
|
elif hw.Nokia:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|