TEIV: Update groups and geo location 11/13811/1
authorJvD_Ericsson <jeff.van.dam@est.tech>
Wed, 4 Dec 2024 15:20:40 +0000 (15:20 +0000)
committerJeff van Dam <jeff.van.dam@est.tech>
Wed, 4 Dec 2024 15:37:51 +0000 (15:37 +0000)
Update and refactor code

Issue-ID: SMO-168
Issue-ID: SMO-169
Change-Id: I7d9ac26ac0dc61fb57f5c8aa4cc42fd2dee4c9d0
Signed-off-by: JvD_Ericsson <jeff.van.dam@est.tech>
82 files changed:
docker-compose/sql_scripts/00_init-teiv-exposure-model.sql
docker-compose/sql_scripts/01_init-teiv-exposure-data.sql
docker-compose/sql_scripts/02_init-teiv-exposure-consumer-data.sql
docker-compose/sql_scripts/03_init-teiv-exposure-groups.sql
docs/offeredapis/topology-exposure-inventory-openapi.json
docs/offeredapis/topology-exposure-inventory-openapi.yaml
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/Constants.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/ForeignKeyConstraint.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/schema/BackwardCompatibilityChecker.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/schema/SchemaParser.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/schema/data/DataSchemaHelper.java
pgsql-schema-generator/src/main/java/org/oran/smo/teiv/pgsqlgenerator/schema/data/TableBuilder.java
teiv/src/main/java/org/oran/smo/teiv/exception/TiesException.java
teiv/src/main/java/org/oran/smo/teiv/exposure/consumerdata/operation/ClassifiersOperation.java
teiv/src/main/java/org/oran/smo/teiv/exposure/consumerdata/operation/DecoratorsOperation.java
teiv/src/main/java/org/oran/smo/teiv/exposure/data/api/impl/DataServiceImpl.java
teiv/src/main/java/org/oran/smo/teiv/exposure/spi/impl/DataRepositoryImpl.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/ConditionFactory.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/InnerFilterCriteria.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/LogicalBlock.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/ScopeLogicalBlock.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/ScopeObject.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/refiner/BasePathRefinement.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/refiner/PathToJooqRefinement.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/resolver/ResolverUtil.java
teiv/src/main/java/org/oran/smo/teiv/exposure/tiespath/resolver/ScopeFilterListener.java
teiv/src/main/java/org/oran/smo/teiv/groups/api/impl/resolver/PresentProvidedMembersRetriever.java
teiv/src/main/java/org/oran/smo/teiv/groups/spi/GroupsRepository.java
teiv/src/main/java/org/oran/smo/teiv/groups/spi/impl/GroupsRepositoryImpl.java
teiv/src/main/java/org/oran/smo/teiv/schema/EntityType.java
teiv/src/main/java/org/oran/smo/teiv/schema/RelationCardinality.java [moved from teiv/src/main/java/org/oran/smo/teiv/utils/EnvironmentVariableConstants.java with 84% similarity]
teiv/src/main/java/org/oran/smo/teiv/schema/RelationType.java
teiv/src/main/java/org/oran/smo/teiv/schema/SchemaRegistry.java
teiv/src/main/java/org/oran/smo/teiv/schema/SchemaRegistryErrorCode.java
teiv/src/main/java/org/oran/smo/teiv/service/TiesDbOperations.java
teiv/src/main/java/org/oran/smo/teiv/service/models/OperationResult.java
teiv/src/main/java/org/oran/smo/teiv/utils/Environment.java [deleted file]
teiv/src/main/resources/application.yaml
teiv/src/main/resources/v1/topology-exposure-inventory-openapi.yaml
teiv/src/test/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/DtoToJooqTest.java
teiv/src/test/java/org/oran/smo/teiv/exposure/tiespath/innerlanguage/ScopeLogicalBlockTest.java
teiv/src/test/java/org/oran/smo/teiv/exposure/tiespath/refiner/BasePathRefinementTest.java
teiv/src/test/java/org/oran/smo/teiv/exposure/tiespath/refiner/PathToJooqRefinementTest.java
teiv/src/test/java/org/oran/smo/teiv/exposure/tiespath/resolver/ScopeResolverTest.java
teiv/src/test/java/org/oran/smo/teiv/exposure/tiespath/resolver/TargetResolverTest.java
teiv/src/test/java/org/oran/smo/teiv/service/TiesDbOperationResultsTest.java
teiv/src/test/resources/cloudeventdata/common/ce-data-only.json [deleted file]
teiv/src/test/resources/cloudeventdata/end-to-end/ce-create-one-to-one.json
teiv/src/test/resources/contracts/classifiers/00_getClassifiers_getTopologyByEntityTypeName.groovy [deleted file]
teiv/src/test/resources/contracts/classifiers/01_getClassifiers_getRelationshipsByType.groovy [deleted file]
teiv/src/test/resources/contracts/classifiers/02_getClassifiers_getEntitiesByDomain.groovy [deleted file]
teiv/src/test/resources/contracts/classifiers/03_postClassifiers_merge.groovy [deleted file]
teiv/src/test/resources/contracts/classifiers/04_postClassifiers_delete.groovy [deleted file]
teiv/src/test/resources/contracts/data/00_getAllDomains.groovy [deleted file]
teiv/src/test/resources/contracts/data/01_getTopologyEntityTypes.groovy [deleted file]
teiv/src/test/resources/contracts/data/02_getTopologyByEntityTypeName.groovy [deleted file]
teiv/src/test/resources/contracts/data/03_getTopologyById.groovy [deleted file]
teiv/src/test/resources/contracts/data/04_getAllRelationshipsForEntityId.groovy [deleted file]
teiv/src/test/resources/contracts/data/05_getRelationshipTypes.groovy [deleted file]
teiv/src/test/resources/contracts/data/06_getRelationshipsByType.groovy [deleted file]
teiv/src/test/resources/contracts/data/07_getRelationshipById.groovy [deleted file]
teiv/src/test/resources/contracts/data/08_getEntitiesByDomain.groovy [deleted file]
teiv/src/test/resources/contracts/decorators/00_getDecorators_getTopologyByEntityTypeName.groovy [deleted file]
teiv/src/test/resources/contracts/decorators/01_getDecorators_getRelationshipsByType.groovy [deleted file]
teiv/src/test/resources/contracts/decorators/02_getDecorators_getEntitiesByDomain.groovy [deleted file]
teiv/src/test/resources/contracts/decorators/03_postDecoratorsMerge.groovy [deleted file]
teiv/src/test/resources/contracts/decorators/04_postDecoratorsDelete.groovy [deleted file]
teiv/src/test/resources/contracts/exposure/data/02_getTopologyByEntityTypeName.groovy
teiv/src/test/resources/contracts/exposure/data/03_getTopologyById.groovy
teiv/src/test/resources/contracts/exposure/data/04_getAllRelationshipsForEntityId.groovy
teiv/src/test/resources/contracts/exposure/data/06_getRelationshipsByType.groovy
teiv/src/test/resources/contracts/exposure/data/07_getRelationshipById.groovy
teiv/src/test/resources/contracts/exposure/data/08_getEntitiesByDomain.groovy
teiv/src/test/resources/contracts/groups/05_getMembers.groovy
teiv/src/test/resources/pgsqlschema/00_init-oran-smo-teiv-data-v1.sql [deleted file]
teiv/src/test/resources/pgsqlschema/00_init-oran-smo-teiv-data.sql
teiv/src/test/resources/pgsqlschema/01_init-oran-smo-teiv-model-v1.sql [deleted file]
teiv/src/test/resources/pgsqlschema/02_init-oran-smo-teiv-consumer-data-v1.sql [deleted file]
teiv/src/test/resources/pgsqlschema/consumer-data-v1.sql [deleted file]
teiv/src/test/resources/pgsqlschema/data-deprecated.sql [deleted file]
teiv/src/test/resources/pgsqlschema/data-v1.sql [deleted file]
teiv/src/test/resources/pgsqlschema/data.sql

index dbb7b9d..44e4861 100644 (file)
@@ -27,7 +27,7 @@ ALTER SCHEMA ties_model OWNER TO topology_exposure_user;
 SET default_tablespace = '';
 SET default_table_access_method = heap;
 
-SET ROLE 'topology_exposure_user';
+SET ROLE topology_exposure_user;
 
 CREATE TABLE IF NOT EXISTS ties_model.hash_info (
     "name"        TEXT PRIMARY KEY,
@@ -471,15 +471,15 @@ _3gpp-common-yang-types   urn:3gpp:sa5:_3gpp-common-yang-types    \N      []      2022-07-26      bW
 ietf-geo-location      urn:ietf:params:xml:ns:yang:ietf-geo-location   \N      []      2022-02-11      bW9kdWxlIGlldGYtZ2VvLWxvY2F0aW9uIHsKICB5YW5nLXZlcnNpb24gMS4xOwogIG5hbWVzcGFjZSAidXJuOmlldGY6cGFyYW1zOnhtbDpuczp5YW5nOmlldGYtZ2VvLWxvY2F0aW9uIjsKICBwcmVmaXggZ2VvOwogIGltcG9ydCBpZXRmLXlhbmctdHlwZXMgewogICAgcHJlZml4IHlhbmc7CiAgICByZWZlcmVuY2UgIlJGQyA2OTkxOiBDb21tb24gWUFORyBEYXRhIFR5cGVzIjsKICB9CgogIG9yZ2FuaXphdGlvbgogICAgIklFVEYgTkVUTU9EIFdvcmtpbmcgR3JvdXAgKE5FVE1PRCkiOwogIGNvbnRhY3QKICAgIldHIFdlYjogICA8aHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy93Zy9uZXRtb2QvPgogICAgV0cgTGlzdDogIDxtYWlsdG86bmV0bW9kQGlldGYub3JnPgoKICAgIEVkaXRvcjogICBDaHJpc3RpYW4gSG9wcHMKICAgICAgICAgICAgICA8bWFpbHRvOmNob3Bwc0BjaG9wcHMub3JnPiI7CgogIGRlc2NyaXB0aW9uCiAgICAiVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGdyb3VwaW5nIG9mIGEgY29udGFpbmVyIG9iamVjdCBmb3IKICAgICBzcGVjaWZ5aW5nIGEgbG9jYXRpb24gb24gb3IgYXJvdW5kIGFuIGFzdHJvbm9taWNhbCBvYmplY3QgKGUuZy4sCiAgICAgJ2VhcnRoJykuCgogICAgIFRoZSBrZXkgd29yZHMgJ01VU1QnLCAnTVVTVCBOT1QnLCAnUkVRVUlSRUQnLCAnU0hBTEwnLCAnU0hBTEwKICAgICBOT1QnLCAnU0hPVUxEJywgJ1NIT1VMRCBOT1QnLCAnUkVDT01NRU5ERUQnLCAnTk9UIFJFQ09NTUVOREVEJywKICAgICAnTUFZJywgYW5kICdPUFRJT05BTCcgaW4gdGhpcyBkb2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMKICAgICBkZXNjcmliZWQgaW4gQkNQIDE0IChSRkMgMjExOSkgKFJGQyA4MTc0KSB3aGVuLCBhbmQgb25seSB3aGVuLAogICAgIHRoZXkgYXBwZWFyIGluIGFsbCBjYXBpdGFscywgYXMgc2hvd24gaGVyZS4KCiAgICAgQ29weXJpZ2h0IChjKSAyMDIyIElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50aWZpZWQgYXMKICAgICBhdXRob3JzIG9mIHRoZSBjb2RlLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywKICAgICB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBpcyBwZXJtaXR0ZWQgcHVyc3VhbnQgdG8sCiAgICAgYW5kIHN1YmplY3QgdG8gdGhlIGxpY2Vuc2UgdGVybXMgY29udGFpbmVkIGluLCB0aGUKICAgICBSZXZpc2VkIEJTRCBMaWNlbnNlIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUKICAgICBJRVRGIFRydXN0J3MgTGVnYWwgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50cwogICAgIChodHRwczovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KCiAgICAgVGhpcyB2ZXJzaW9uIG9mIHRoaXMgWUFORyBtb2R1bGUgaXMgcGFydCBvZiBSRkMgOTE3OQogICAgIChodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzkxNzkpOyBzZWUgdGhlIFJGQyBpdHNlbGYKICAgICBmb3IgZnVsbCBsZWdhbCBub3RpY2VzLiI7CgogIHJldmlzaW9uIDIwMjItMDItMTEgewogICAgZGVzY3JpcHRpb24KICAgICAgIkluaXRpYWwgUmV2aXNpb24iOwogICAgcmVmZXJlbmNlCiAgICAgICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucyI7CiAgfQoKICBmZWF0dXJlIGFsdGVybmF0ZS1zeXN0ZW1zIHsKICAgIGRlc2NyaXB0aW9uCiAgICAgICJUaGlzIGZlYXR1cmUgbWVhbnMgdGhlIGRldmljZSBzdXBwb3J0cyBzcGVjaWZ5aW5nIGxvY2F0aW9ucwogICAgICAgdXNpbmcgYWx0ZXJuYXRlIHN5c3RlbXMgZm9yIHJlZmVyZW5jZSBmcmFtZXMuIjsKICB9CgogIGdyb3VwaW5nIGdlby1sb2NhdGlvbiB7CiAgICBkZXNjcmlwdGlvbgogICAgICAiR3JvdXBpbmcgdG8gaWRlbnRpZnkgYSBsb2NhdGlvbiBvbiBhbiBhc3Ryb25vbWljYWwgb2JqZWN0LiI7CgogICAgY29udGFpbmVyIGdlby1sb2NhdGlvbiB7CiAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIkEgbG9jYXRpb24gb24gYW4gYXN0cm9ub21pY2FsIGJvZHkgKGUuZy4sICdlYXJ0aCcpCiAgICAgICAgIHNvbWV3aGVyZSBpbiBhIHVuaXZlcnNlLiI7CgogICAgICBjb250YWluZXIgcmVmZXJlbmNlLWZyYW1lIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIlRoZSBGcmFtZSBvZiBSZWZlcmVuY2UgZm9yIHRoZSBsb2NhdGlvbiB2YWx1ZXMuIjsKCiAgICAgICAgbGVhZiBhbHRlcm5hdGUtc3lzdGVtIHsKICAgICAgICAgIGlmLWZlYXR1cmUgImFsdGVybmF0ZS1zeXN0ZW1zIjsKICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBzeXN0ZW0gaW4gd2hpY2ggdGhlIGFzdHJvbm9taWNhbCBib2R5IGFuZAogICAgICAgICAgICAgZ2VvZGV0aWMtZGF0dW0gaXMgZGVmaW5lZC4gIE5vcm1hbGx5LCB0aGlzIHZhbHVlIGlzIG5vdAogICAgICAgICAgICAgcHJlc2VudCBhbmQgdGhlIHN5c3RlbSBpcyB0aGUgbmF0dXJhbCB1bml2ZXJzZTsgaG93ZXZlciwKICAgICAgICAgICAgIHdoZW4gcHJlc2VudCwgdGhpcyB2YWx1ZSBhbGxvd3MgZm9yIHNwZWNpZnlpbmcgYWx0ZXJuYXRlCiAgICAgICAgICAgICBzeXN0ZW1zIChlLmcuLCB2aXJ0dWFsIHJlYWxpdGllcykuICBBbiBhbHRlcm5hdGUtc3lzdGVtCiAgICAgICAgICAgICBtb2RpZmllcyB0aGUgZGVmaW5pdGlvbiAoYnV0IG5vdCB0aGUgdHlwZSkgb2YgdGhlIG90aGVyCiAgICAgICAgICAgICB2YWx1ZXMgaW4gdGhlIHJlZmVyZW5jZSBmcmFtZS4iOwogICAgICAgIH0KICAgICAgICBsZWFmIGFzdHJvbm9taWNhbC1ib2R5IHsKICAgICAgICAgIHR5cGUgc3RyaW5nIHsKICAgICAgICAgICAgcGF0dGVybiAnWyAtQFxbLVxeXy1+XSonOwogICAgICAgICAgfQogICAgICAgICAgZGVmYXVsdCAiZWFydGgiOwogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIkFuIGFzdHJvbm9taWNhbCBib2R5IGFzIG5hbWVkIGJ5IHRoZSBJbnRlcm5hdGlvbmFsCiAgICAgICAgICAgICBBc3Ryb25vbWljYWwgVW5pb24gKElBVSkgb3IgYWNjb3JkaW5nIHRvIHRoZSBhbHRlcm5hdGUKICAgICAgICAgICAgIHN5c3RlbSBpZiBzcGVjaWZpZWQuICBFeGFtcGxlcyBpbmNsdWRlICdzdW4nIChvdXIgc3RhciksCiAgICAgICAgICAgICAnZWFydGgnIChvdXIgcGxhbmV0KSwgJ21vb24nIChvdXIgbW9vbiksICdlbmNlbGFkdXMnIChhCiAgICAgICAgICAgICBtb29uIG9mIFNhdHVybiksICdjZXJlcycgKGFuIGFzdGVyb2lkKSwgYW5kCiAgICAgICAgICAgICAnNjdwL2NodXJ5dW1vdi1nZXJhc2ltZW5rbyAoYSBjb21ldCkuICBUaGUgQVNDSUkgdmFsdWUKICAgICAgICAgICAgIFNIT1VMRCBoYXZlIHVwcGVyY2FzZSBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGFuZCBub3QKICAgICAgICAgICAgIGluY2x1ZGUgY29udHJvbCBjaGFyYWN0ZXJzIChpLmUuLCB2YWx1ZXMgMzIuLjY0LCBhbmQKICAgICAgICAgICAgIDkxLi4xMjYpLiAgQW55IHByZWNlZGluZyAndGhlJyBpbiB0aGUgbmFtZSBTSE9VTEQgTk9UIGJlCiAgICAgICAgICAgICBpbmNsdWRlZC4iOwogICAgICAgICAgcmVmZXJlbmNlCiAgICAgICAgICAgICJodHRwczovL3d3dy5pYXUub3JnLyI7CiAgICAgICAgfQogICAgICAgIGNvbnRhaW5lciBnZW9kZXRpYy1zeXN0ZW0gewogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBnZW9kZXRpYyBzeXN0ZW0gb2YgdGhlIGxvY2F0aW9uIGRhdGEuIjsKICAgICAgICAgIGxlYWYgZ2VvZGV0aWMtZGF0dW0gewogICAgICAgICAgICB0eXBlIHN0cmluZyB7CiAgICAgICAgICAgICAgcGF0dGVybiAnWyAtQFxbLVxeXy1+XSonOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICAgIkEgZ2VvZGV0aWMtZGF0dW0gZGVmaW5pbmcgdGhlIG1lYW5pbmcgb2YgbGF0aXR1ZGUsCiAgICAgICAgICAgICAgIGxvbmdpdHVkZSwgYW5kIGhlaWdodC4gIFRoZSBkZWZhdWx0IHdoZW4gdGhlCiAgICAgICAgICAgICAgIGFzdHJvbm9taWNhbCBib2R5IGlzICdlYXJ0aCcgaXMgJ3dncy04NCcsIHdoaWNoIGlzCiAgICAgICAgICAgICAgIHVzZWQgYnkgdGhlIEdsb2JhbCBQb3NpdGlvbmluZyBTeXN0ZW0gKEdQUykuICBUaGUKICAgICAgICAgICAgICAgQVNDSUkgdmFsdWUgU0hPVUxEIGhhdmUgdXBwZXJjYXNlIGNvbnZlcnRlZCB0bwogICAgICAgICAgICAgICBsb3dlcmNhc2UgYW5kIG5vdCBpbmNsdWRlIGNvbnRyb2wgY2hhcmFjdGVycwogICAgICAgICAgICAgICAoaS5lLiwgdmFsdWVzIDMyLi42NCwgYW5kIDkxLi4xMjYpLiAgVGhlIElBTkEgcmVnaXN0cnkKICAgICAgICAgICAgICAgZnVydGhlciByZXN0cmljdHMgdGhlIHZhbHVlIGJ5IGNvbnZlcnRpbmcgYWxsIHNwYWNlcwogICAgICAgICAgICAgICAoJyAnKSB0byBkYXNoZXMgKCctJykuCiAgICAgICAgICAgICAgIFRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgZ2VvZGV0aWMtZGF0dW0gaW5kaWNhdGVzCiAgICAgICAgICAgICAgIGhvdyBhY2N1cmF0ZWx5IGl0IG1vZGVscyB0aGUgYXN0cm9ub21pY2FsIGJvZHkgaW4KICAgICAgICAgICAgICAgcXVlc3Rpb24sIGJvdGggZm9yIHRoZSAnaG9yaXpvbnRhbCcKICAgICAgICAgICAgICAgbGF0aXR1ZGUvbG9uZ2l0dWRlIGNvb3JkaW5hdGVzIGFuZCBmb3IgaGVpZ2h0CiAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzLiI7CiAgICAgICAgICAgIHJlZmVyZW5jZQogICAgICAgICAgICAgICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucywKICAgICAgICAgICAgICAgU2VjdGlvbiA2LjEiOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiBjb29yZC1hY2N1cmFjeSB7CiAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgNjsKICAgICAgICAgICAgfQogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICJUaGUgYWNjdXJhY3kgb2YgdGhlIGxhdGl0dWRlL2xvbmdpdHVkZSBwYWlyIGZvcgogICAgICAgICAgICAgICBlbGxpcHNvaWRhbCBjb29yZGluYXRlcywgb3IgdGhlIFgsIFksIGFuZCBaIGNvbXBvbmVudHMKICAgICAgICAgICAgICAgZm9yIENhcnRlc2lhbiBjb29yZGluYXRlcy4gIFdoZW4gY29vcmQtYWNjdXJhY3kgaXMKICAgICAgICAgICAgICAgc3BlY2lmaWVkLCBpdCBpbmRpY2F0ZXMgaG93IHByZWNpc2VseSB0aGUgY29vcmRpbmF0ZXMKICAgICAgICAgICAgICAgaW4gdGhlIGFzc29jaWF0ZWQgbGlzdCBvZiBsb2NhdGlvbnMgaGF2ZSBiZWVuCiAgICAgICAgICAgICAgIGRldGVybWluZWQgd2l0aCByZXNwZWN0IHRvIHRoZSBjb29yZGluYXRlIHN5c3RlbQogICAgICAgICAgICAgICBkZWZpbmVkIGJ5IHRoZSBnZW9kZXRpYy1kYXR1bS4gIEZvciBleGFtcGxlLCB0aGVyZQogICAgICAgICAgICAgICBtaWdodCBiZSB1bmNlcnRhaW50eSBkdWUgdG8gbWVhc3VyZW1lbnQgZXJyb3IgaWYgYW4KICAgICAgICAgICAgICAgZXhwZXJpbWVudGFsIG1lYXN1cmVtZW50IHdhcyBtYWRlIHRvIGRldGVybWluZSBlYWNoCiAgICAgICAgICAgICAgIGxvY2F0aW9uLiI7CiAgICAgICAgICB9CiAgICAgICAgICBsZWFmIGhlaWdodC1hY2N1cmFjeSB7CiAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgNjsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bml0cyAibWV0ZXJzIjsKICAgICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAiVGhlIGFjY3VyYWN5IG9mIHRoZSBoZWlnaHQgdmFsdWUgZm9yIGVsbGlwc29pZGFsCiAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzOyB0aGlzIHZhbHVlIGlzIG5vdCB1c2VkIHdpdGggQ2FydGVzaWFuCiAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzLiAgV2hlbiBoZWlnaHQtYWNjdXJhY3kgaXMgc3BlY2lmaWVkLCBpdAogICAgICAgICAgICAgICBpbmRpY2F0ZXMgaG93IHByZWNpc2VseSB0aGUgaGVpZ2h0cyBpbiB0aGUKICAgICAgICAgICAgICAgYXNzb2NpYXRlZCBsaXN0IG9mIGxvY2F0aW9ucyBoYXZlIGJlZW4gZGV0ZXJtaW5lZAogICAgICAgICAgICAgICB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGRlZmluZWQgYnkgdGhlCiAgICAgICAgICAgICAgIGdlb2RldGljLWRhdHVtLiAgRm9yIGV4YW1wbGUsIHRoZXJlIG1pZ2h0IGJlCiAgICAgICAgICAgICAgIHVuY2VydGFpbnR5IGR1ZSB0byBtZWFzdXJlbWVudCBlcnJvciBpZiBhbgogICAgICAgICAgICAgICBleHBlcmltZW50YWwgbWVhc3VyZW1lbnQgd2FzIG1hZGUgdG8gZGV0ZXJtaW5lIGVhY2gKICAgICAgICAgICAgICAgbG9jYXRpb24uIjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgY2hvaWNlIGxvY2F0aW9uIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIlRoZSBsb2NhdGlvbiBkYXRhIGVpdGhlciBpbiBsYXRpdHVkZS9sb25naXR1ZGUgb3IKICAgICAgICAgICBDYXJ0ZXNpYW4gdmFsdWVzIjsKICAgICAgICBjYXNlIGVsbGlwc29pZCB7CiAgICAgICAgICBsZWFmIGxhdGl0dWRlIHsKICAgICAgICAgICAgdHlwZSBkZWNpbWFsNjQgewogICAgICAgICAgICAgIGZyYWN0aW9uLWRpZ2l0cyAxNjsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bml0cyAiZGVjaW1hbCBkZWdyZWVzIjsKICAgICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAiVGhlIGxhdGl0dWRlIHZhbHVlIG9uIHRoZSBhc3Ryb25vbWljYWwgYm9keS4gIFRoZQogICAgICAgICAgICAgICBkZWZpbml0aW9uIGFuZCBwcmVjaXNpb24gb2YgdGhpcyBtZWFzdXJlbWVudCBpcwogICAgICAgICAgICAgICBpbmRpY2F0ZWQgYnkgdGhlIHJlZmVyZW5jZS1mcmFtZS4iOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiBsb25naXR1ZGUgewogICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDE2OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHVuaXRzICJkZWNpbWFsIGRlZ3JlZXMiOwogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICJUaGUgbG9uZ2l0dWRlIHZhbHVlIG9uIHRoZSBhc3Ryb25vbWljYWwgYm9keS4gIFRoZQogICAgICAgICAgICAgICBkZWZpbml0aW9uIGFuZCBwcmVjaXNpb24gb2YgdGhpcyBtZWFzdXJlbWVudCBpcwogICAgICAgICAgICAgICBpbmRpY2F0ZWQgYnkgdGhlIHJlZmVyZW5jZS1mcmFtZS4iOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiBoZWlnaHQgewogICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW5pdHMgIm1ldGVycyI7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICAgIkhlaWdodCBmcm9tIGEgcmVmZXJlbmNlIDAgdmFsdWUuICBUaGUgcHJlY2lzaW9uIGFuZAogICAgICAgICAgICAgICAnMCcgdmFsdWUgaXMgZGVmaW5lZCBieSB0aGUgcmVmZXJlbmNlLWZyYW1lLiI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhc2UgY2FydGVzaWFuIHsKICAgICAgICAgIGxlYWYgeCB7CiAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgNjsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bml0cyAibWV0ZXJzIjsKICAgICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAiVGhlIFggdmFsdWUgYXMgZGVmaW5lZCBieSB0aGUgcmVmZXJlbmNlLWZyYW1lLiI7CiAgICAgICAgICB9CiAgICAgICAgICBsZWFmIHkgewogICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW5pdHMgIm1ldGVycyI7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICAgIlRoZSBZIHZhbHVlIGFzIGRlZmluZWQgYnkgdGhlIHJlZmVyZW5jZS1mcmFtZS4iOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiB6IHsKICAgICAgICAgICAgdHlwZSBkZWNpbWFsNjQgewogICAgICAgICAgICAgIGZyYWN0aW9uLWRpZ2l0cyA2OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHVuaXRzICJtZXRlcnMiOwogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICJUaGUgWiB2YWx1ZSBhcyBkZWZpbmVkIGJ5IHRoZSByZWZlcmVuY2UtZnJhbWUuIjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgY29udGFpbmVyIHZlbG9jaXR5IHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIklmIHRoZSBvYmplY3QgaXMgaW4gbW90aW9uLCB0aGUgdmVsb2NpdHkgdmVjdG9yIGRlc2NyaWJlcwogICAgICAgICAgIHRoaXMgbW90aW9uIGF0IHRoZSB0aW1lIGdpdmVuIGJ5IHRoZSB0aW1lc3RhbXAuICBGb3IgYQogICAgICAgICAgIGZvcm11bGEgdG8gY29udmVydCB0aGVzZSB2YWx1ZXMgdG8gc3BlZWQgYW5kIGhlYWRpbmcsIHNlZQogICAgICAgICAgIFJGQyA5MTc5LiI7CiAgICAgICAgcmVmZXJlbmNlCiAgICAgICAgICAiUkZDIDkxNzk6IEEgWUFORyBHcm91cGluZyBmb3IgR2VvZ3JhcGhpYyBMb2NhdGlvbnMiOwoKICAgICAgICBsZWFmIHYtbm9ydGggewogICAgICAgICAgdHlwZSBkZWNpbWFsNjQgewogICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgMTI7CiAgICAgICAgICB9CiAgICAgICAgICB1bml0cyAibWV0ZXJzIHBlciBzZWNvbmQiOwogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgInYtbm9ydGggaXMgdGhlIHJhdGUgb2YgY2hhbmdlIChpLmUuLCBzcGVlZCkgdG93YXJkcwogICAgICAgICAgICAgdHJ1ZSBub3J0aCBhcyBkZWZpbmVkIGJ5IHRoZSBnZW9kZXRpYy1zeXN0ZW0uIjsKICAgICAgICB9CgogICAgICAgIGxlYWYgdi1lYXN0IHsKICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDEyOwogICAgICAgICAgfQogICAgICAgICAgdW5pdHMgIm1ldGVycyBwZXIgc2Vjb25kIjsKICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJ2LWVhc3QgaXMgdGhlIHJhdGUgb2YgY2hhbmdlIChpLmUuLCBzcGVlZCkgcGVycGVuZGljdWxhcgogICAgICAgICAgICAgdG8gdGhlIHJpZ2h0IG9mIHRydWUgbm9ydGggYXMgZGVmaW5lZCBieQogICAgICAgICAgICAgdGhlIGdlb2RldGljLXN5c3RlbS4iOwogICAgICAgIH0KCiAgICAgICAgbGVhZiB2LXVwIHsKICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDEyOwogICAgICAgICAgfQogICAgICAgICAgdW5pdHMgIm1ldGVycyBwZXIgc2Vjb25kIjsKICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJ2LXVwIGlzIHRoZSByYXRlIG9mIGNoYW5nZSAoaS5lLiwgc3BlZWQpIGF3YXkgZnJvbSB0aGUKICAgICAgICAgICAgIGNlbnRlciBvZiBtYXNzLiI7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlYWYgdGltZXN0YW1wIHsKICAgICAgICB0eXBlIHlhbmc6ZGF0ZS1hbmQtdGltZTsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIlJlZmVyZW5jZSB0aW1lIHdoZW4gbG9jYXRpb24gd2FzIHJlY29yZGVkLiI7CiAgICAgIH0KICAgICAgbGVhZiB2YWxpZC11bnRpbCB7CiAgICAgICAgdHlwZSB5YW5nOmRhdGUtYW5kLXRpbWU7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICJUaGUgdGltZXN0YW1wIGZvciB3aGljaCB0aGlzIGdlby1sb2NhdGlvbiBpcyB2YWxpZCB1bnRpbC4KICAgICAgICAgICBJZiB1bnNwZWNpZmllZCwgdGhlIGdlby1sb2NhdGlvbiBoYXMgbm8gc3BlY2lmaWMKICAgICAgICAgICBleHBpcmF0aW9uIHRpbWUuIjsKICAgICAgfQogICAgfQogIH0KfQo=
 ietf-inet-types        urn:ietf:params:xml:ns:yang:ietf-inet-types     \N      []      2013-07-15      bW9kdWxlIGlldGYtaW5ldC10eXBlcyB7CgogIG5hbWVzcGFjZSAidXJuOmlldGY6cGFyYW1zOnhtbDpuczp5YW5nOmlldGYtaW5ldC10eXBlcyI7CiAgcHJlZml4ICJpbmV0IjsKCiAgb3JnYW5pemF0aW9uCiAgICJJRVRGIE5FVE1PRCAoTkVUQ09ORiBEYXRhIE1vZGVsaW5nIExhbmd1YWdlKSBXb3JraW5nIEdyb3VwIjsKCiAgY29udGFjdAogICAiV0cgV2ViOiAgIDxodHRwOi8vdG9vbHMuaWV0Zi5vcmcvd2cvbmV0bW9kLz4KICAgIFdHIExpc3Q6ICA8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4KCiAgICBXRyBDaGFpcjogRGF2aWQgS2Vzc2VucwogICAgICAgICAgICAgIDxtYWlsdG86ZGF2aWQua2Vzc2Vuc0Buc24uY29tPgoKICAgIFdHIENoYWlyOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIKICAgICAgICAgICAgICA8bWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4KCiAgICBFZGl0b3I6ICAgSnVlcmdlbiBTY2hvZW53YWVsZGVyCiAgICAgICAgICAgICAgPG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+IjsKCiAgZGVzY3JpcHRpb24KICAgIlRoaXMgbW9kdWxlIGNvbnRhaW5zIGEgY29sbGVjdGlvbiBvZiBnZW5lcmFsbHkgdXNlZnVsIGRlcml2ZWQKICAgIFlBTkcgZGF0YSB0eXBlcyBmb3IgSW50ZXJuZXQgYWRkcmVzc2VzIGFuZCByZWxhdGVkIHRoaW5ncy4KCiAgICBDb3B5cmlnaHQgKGMpIDIwMTMgSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcwogICAgYXV0aG9ycyBvZiB0aGUgY29kZS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgogICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGlzIHBlcm1pdHRlZCBwdXJzdWFudCB0bywgYW5kIHN1YmplY3QKICAgIHRvIHRoZSBsaWNlbnNlIHRlcm1zIGNvbnRhaW5lZCBpbiwgdGhlIFNpbXBsaWZpZWQgQlNEIExpY2Vuc2UKICAgIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUgSUVURiBUcnVzdCdzIExlZ2FsIFByb3Zpc2lvbnMKICAgIFJlbGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzCiAgICAoaHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KCiAgICBUaGlzIHZlcnNpb24gb2YgdGhpcyBZQU5HIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyA2OTkxOyBzZWUKICAgIHRoZSBSRkMgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIjsKCiAgcmV2aXNpb24gMjAxMy0wNy0xNSB7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGlzIHJldmlzaW9uIGFkZHMgdGhlIGZvbGxvd2luZyBuZXcgZGF0YSB0eXBlczoKICAgICAgLSBpcC1hZGRyZXNzLW5vLXpvbmUKICAgICAgLSBpcHY0LWFkZHJlc3Mtbm8tem9uZQogICAgICAtIGlwdjYtYWRkcmVzcy1uby16b25lIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjk5MTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICByZXZpc2lvbiAyMDEwLTA5LTI0IHsKICAgIGRlc2NyaXB0aW9uCiAgICAgIkluaXRpYWwgcmV2aXNpb24uIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjAyMTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgdHlwZXMgcmVsYXRlZCB0byBwcm90b2NvbCBmaWVsZHMgKioqLwoKICB0eXBlZGVmIGlwLXZlcnNpb24gewogICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgIGVudW0gdW5rbm93biB7CiAgICAgICAgdmFsdWUgIjAiOwogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICJBbiB1bmtub3duIG9yIHVuc3BlY2lmaWVkIHZlcnNpb24gb2YgdGhlIEludGVybmV0CiAgICAgICAgICBwcm90b2NvbC4iOwogICAgICB9CiAgICAgIGVudW0gaXB2NCB7CiAgICAgICAgdmFsdWUgIjEiOwogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICJUaGUgSVB2NCBwcm90b2NvbCBhcyBkZWZpbmVkIGluIFJGQyA3OTEuIjsKICAgICAgfQogICAgICBlbnVtIGlwdjYgewogICAgICAgIHZhbHVlICIyIjsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAiVGhlIElQdjYgcHJvdG9jb2wgYXMgZGVmaW5lZCBpbiBSRkMgMjQ2MC4iOwogICAgICB9CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGlzIHZhbHVlIHJlcHJlc2VudHMgdGhlIHZlcnNpb24gb2YgdGhlIElQIHByb3RvY29sLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIEluZXRWZXJzaW9uIHRleHR1YWwgY29udmVudGlvbiBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgIDc5MTogSW50ZXJuZXQgUHJvdG9jb2wKICAgICAgUkZDIDI0NjA6IEludGVybmV0IFByb3RvY29sLCBWZXJzaW9uIDYgKElQdjYpIFNwZWNpZmljYXRpb24KICAgICAgUkZDIDQwMDE6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIEludGVybmV0IE5ldHdvcmsgQWRkcmVzc2VzIjsKICB9CgogIHR5cGVkZWYgZHNjcCB7CiAgICB0eXBlIHVpbnQ4IHsKICAgICAgcmFuZ2UgIjAuLjYzIjsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBkc2NwIHR5cGUgcmVwcmVzZW50cyBhIERpZmZlcmVudGlhdGVkIFNlcnZpY2VzIENvZGUgUG9pbnQKICAgICAgdGhhdCBtYXkgYmUgdXNlZCBmb3IgbWFya2luZyBwYWNrZXRzIGluIGEgdHJhZmZpYyBzdHJlYW0uCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBEc2NwIHRleHR1YWwgY29udmVudGlvbiBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMzI4OTogTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIGZvciB0aGUgRGlmZmVyZW50aWF0ZWQKICAgICAgICAgICAgICAgIFNlcnZpY2VzIEFyY2hpdGVjdHVyZQogICAgICBSRkMgMjQ3NDogRGVmaW5pdGlvbiBvZiB0aGUgRGlmZmVyZW50aWF0ZWQgU2VydmljZXMgRmllbGQKICAgICAgICAgICAgICAgIChEUyBGaWVsZCkgaW4gdGhlIElQdjQgYW5kIElQdjYgSGVhZGVycwogICAgICBSRkMgMjc4MDogSUFOQSBBbGxvY2F0aW9uIEd1aWRlbGluZXMgRm9yIFZhbHVlcyBJbgogICAgICAgICAgICAgICAgdGhlIEludGVybmV0IFByb3RvY29sIGFuZCBSZWxhdGVkIEhlYWRlcnMiOwogIH0KCiAgdHlwZWRlZiBpcHY2LWZsb3ctbGFiZWwgewogICAgdHlwZSB1aW50MzIgewogICAgICByYW5nZSAiMC4uMTA0ODU3NSI7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgaXB2Ni1mbG93LWxhYmVsIHR5cGUgcmVwcmVzZW50cyB0aGUgZmxvdyBpZGVudGlmaWVyIG9yIEZsb3cKICAgICAgTGFiZWwgaW4gYW4gSVB2NiBwYWNrZXQgaGVhZGVyIHRoYXQgbWF5IGJlIHVzZWQgdG8KICAgICAgZGlzY3JpbWluYXRlIHRyYWZmaWMgZmxvd3MuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgSVB2NkZsb3dMYWJlbCB0ZXh0dWFsIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDM1OTU6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIElQdjYgRmxvdyBMYWJlbAogICAgICBSRkMgMjQ2MDogSW50ZXJuZXQgUHJvdG9jb2wsIFZlcnNpb24gNiAoSVB2NikgU3BlY2lmaWNhdGlvbiI7CiAgfQoKICB0eXBlZGVmIHBvcnQtbnVtYmVyIHsKICAgIHR5cGUgdWludDE2IHsKICAgICAgcmFuZ2UgIjAuLjY1NTM1IjsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBwb3J0LW51bWJlciB0eXBlIHJlcHJlc2VudHMgYSAxNi1iaXQgcG9ydCBudW1iZXIgb2YgYW4KICAgICAgSW50ZXJuZXQgdHJhbnNwb3J0LWxheWVyIHByb3RvY29sIHN1Y2ggYXMgVURQLCBUQ1AsIERDQ1AsIG9yCiAgICAgIFNDVFAuICBQb3J0IG51bWJlcnMgYXJlIGFzc2lnbmVkIGJ5IElBTkEuICBBIGN1cnJlbnQgbGlzdCBvZgogICAgICBhbGwgYXNzaWdubWVudHMgaXMgYXZhaWxhYmxlIGZyb20gPGh0dHA6Ly93d3cuaWFuYS5vcmcvPi4KCiAgICAgIE5vdGUgdGhhdCB0aGUgcG9ydCBudW1iZXIgdmFsdWUgemVybyBpcyByZXNlcnZlZCBieSBJQU5BLiAgSW4KICAgICAgc2l0dWF0aW9ucyB3aGVyZSB0aGUgdmFsdWUgemVybyBkb2VzIG5vdCBtYWtlIHNlbnNlLCBpdCBjYW4KICAgICAgYmUgZXhjbHVkZWQgYnkgc3VidHlwaW5nIHRoZSBwb3J0LW51bWJlciB0eXBlLgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgSW5ldFBvcnROdW1iZXIgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAgNzY4OiBVc2VyIERhdGFncmFtIFByb3RvY29sCiAgICAgIFJGQyAgNzkzOiBUcmFuc21pc3Npb24gQ29udHJvbCBQcm90b2NvbAogICAgICBSRkMgNDk2MDogU3RyZWFtIENvbnRyb2wgVHJhbnNtaXNzaW9uIFByb3RvY29sCiAgICAgIFJGQyA0MzQwOiBEYXRhZ3JhbSBDb25nZXN0aW9uIENvbnRyb2wgUHJvdG9jb2wgKERDQ1ApCiAgICAgIFJGQyA0MDAxOiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBJbnRlcm5ldCBOZXR3b3JrIEFkZHJlc3NlcyI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgdHlwZXMgcmVsYXRlZCB0byBhdXRvbm9tb3VzIHN5c3RlbXMgKioqLwoKICB0eXBlZGVmIGFzLW51bWJlciB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBhcy1udW1iZXIgdHlwZSByZXByZXNlbnRzIGF1dG9ub21vdXMgc3lzdGVtIG51bWJlcnMKICAgICAgd2hpY2ggaWRlbnRpZnkgYW4gQXV0b25vbW91cyBTeXN0ZW0gKEFTKS4gIEFuIEFTIGlzIGEgc2V0CiAgICAgIG9mIHJvdXRlcnMgdW5kZXIgYSBzaW5nbGUgdGVjaG5pY2FsIGFkbWluaXN0cmF0aW9uLCB1c2luZwogICAgICBhbiBpbnRlcmlvciBnYXRld2F5IHByb3RvY29sIGFuZCBjb21tb24gbWV0cmljcyB0byByb3V0ZQogICAgICBwYWNrZXRzIHdpdGhpbiB0aGUgQVMsIGFuZCB1c2luZyBhbiBleHRlcmlvciBnYXRld2F5CiAgICAgIHByb3RvY29sIHRvIHJvdXRlIHBhY2tldHMgdG8gb3RoZXIgQVNlcy4gIElBTkEgbWFpbnRhaW5zCiAgICAgIHRoZSBBUyBudW1iZXIgc3BhY2UgYW5kIGhhcyBkZWxlZ2F0ZWQgbGFyZ2UgcGFydHMgdG8gdGhlCiAgICAgIHJlZ2lvbmFsIHJlZ2lzdHJpZXMuCgogICAgICBBdXRvbm9tb3VzIHN5c3RlbSBudW1iZXJzIHdlcmUgb3JpZ2luYWxseSBsaW1pdGVkIHRvIDE2CiAgICAgIGJpdHMuICBCR1AgZXh0ZW5zaW9ucyBoYXZlIGVubGFyZ2VkIHRoZSBhdXRvbm9tb3VzIHN5c3RlbQogICAgICBudW1iZXIgc3BhY2UgdG8gMzIgYml0cy4gIFRoaXMgdHlwZSB0aGVyZWZvcmUgdXNlcyBhbiB1aW50MzIKICAgICAgYmFzZSB0eXBlIHdpdGhvdXQgYSByYW5nZSByZXN0cmljdGlvbiBpbiBvcmRlciB0byBzdXBwb3J0CiAgICAgIGEgbGFyZ2VyIGF1dG9ub21vdXMgc3lzdGVtIG51bWJlciBzcGFjZS4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBJbmV0QXV0b25vbW91c1N5c3RlbU51bWJlciB0ZXh0dWFsIGNvbnZlbnRpb24gb2YKICAgICAgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDE5MzA6IEd1aWRlbGluZXMgZm9yIGNyZWF0aW9uLCBzZWxlY3Rpb24sIGFuZCByZWdpc3RyYXRpb24KICAgICAgICAgICAgICAgIG9mIGFuIEF1dG9ub21vdXMgU3lzdGVtIChBUykKICAgICAgUkZDIDQyNzE6IEEgQm9yZGVyIEdhdGV3YXkgUHJvdG9jb2wgNCAoQkdQLTQpCiAgICAgIFJGQyA0MDAxOiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBJbnRlcm5ldCBOZXR3b3JrIEFkZHJlc3NlcwogICAgICBSRkMgNjc5MzogQkdQIFN1cHBvcnQgZm9yIEZvdXItT2N0ZXQgQXV0b25vbW91cyBTeXN0ZW0gKEFTKQogICAgICAgICAgICAgICAgTnVtYmVyIFNwYWNlIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiB0eXBlcyByZWxhdGVkIHRvIElQIGFkZHJlc3NlcyBhbmQgaG9zdG5hbWVzICoqKi8KCiAgdHlwZWRlZiBpcC1hZGRyZXNzIHsKICAgIHR5cGUgdW5pb24gewogICAgICB0eXBlIGluZXQ6aXB2NC1hZGRyZXNzOwogICAgICB0eXBlIGluZXQ6aXB2Ni1hZGRyZXNzOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGlwLWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElQIGFkZHJlc3MgYW5kIGlzIElQCiAgICAgIHZlcnNpb24gbmV1dHJhbC4gIFRoZSBmb3JtYXQgb2YgdGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24KICAgICAgaW1wbGllcyB0aGUgSVAgdmVyc2lvbi4gIFRoaXMgdHlwZSBzdXBwb3J0cyBzY29wZWQgYWRkcmVzc2VzCiAgICAgIGJ5IGFsbG93aW5nIHpvbmUgaWRlbnRpZmllcnMgaW4gdGhlIGFkZHJlc3MgZm9ybWF0LiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDQwMDc6IElQdjYgU2NvcGVkIEFkZHJlc3MgQXJjaGl0ZWN0dXJlIjsKICB9CgogIHR5cGVkZWYgaXB2NC1hZGRyZXNzIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybgogICAgICAgICcoKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSlcLil7M30nCiAgICAgICsgICcoWzAtOV18WzEtOV1bMC05XXwxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTVdKScKICAgICAgKyAnKCVbXHB7Tn1ccHtMfV0rKT8nOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAgIlRoZSBpcHY0LWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElQdjQgYWRkcmVzcyBpbgogICAgICAgZG90dGVkLXF1YWQgbm90YXRpb24uICBUaGUgSVB2NCBhZGRyZXNzIG1heSBpbmNsdWRlIGEgem9uZQogICAgICAgaW5kZXgsIHNlcGFyYXRlZCBieSBhICUgc2lnbi4KCiAgICAgICBUaGUgem9uZSBpbmRleCBpcyB1c2VkIHRvIGRpc2FtYmlndWF0ZSBpZGVudGljYWwgYWRkcmVzcwogICAgICAgdmFsdWVzLiAgRm9yIGxpbmstbG9jYWwgYWRkcmVzc2VzLCB0aGUgem9uZSBpbmRleCB3aWxsCiAgICAgICB0eXBpY2FsbHkgYmUgdGhlIGludGVyZmFjZSBpbmRleCBudW1iZXIgb3IgdGhlIG5hbWUgb2YgYW4KICAgICAgIGludGVyZmFjZS4gIElmIHRoZSB6b25lIGluZGV4IGlzIG5vdCBwcmVzZW50LCB0aGUgZGVmYXVsdAogICAgICAgem9uZSBvZiB0aGUgZGV2aWNlIHdpbGwgYmUgdXNlZC4KCiAgICAgICBUaGUgY2Fub25pY2FsIGZvcm1hdCBmb3IgdGhlIHpvbmUgaW5kZXggaXMgdGhlIG51bWVyaWNhbAogICAgICAgZm9ybWF0IjsKICB9CgogIHR5cGVkZWYgaXB2Ni1hZGRyZXNzIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKCg6fFswLTlhLWZBLUZdezAsNH0pOikoWzAtOWEtZkEtRl17MCw0fTopezAsNX0nCiAgICAgICAgICAgICsgJygoKFswLTlhLWZBLUZdezAsNH06KT8oOnxbMC05YS1mQS1GXXswLDR9KSl8JwogICAgICAgICAgICArICcoKCgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV0/WzAtOV0pXC4pezN9JwogICAgICAgICAgICArICcoMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldP1swLTldKSkpJwogICAgICAgICAgICArICcoJVtccHtOfVxwe0x9XSspPyc7CiAgICAgIHBhdHRlcm4gJygoW146XSs6KXs2fSgoW146XSs6W146XSspfCguKlwuLiopKSl8JwogICAgICAgICAgICArICcoKChbXjpdKzopKlteOl0rKT86OigoW146XSs6KSpbXjpdKyk/KScKICAgICAgICAgICAgKyAnKCUuKyk/JzsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBpcHY2LWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElQdjYgYWRkcmVzcyBpbiBmdWxsLAogICAgICBtaXhlZCwgc2hvcnRlbmVkLCBhbmQgc2hvcnRlbmVkLW1peGVkIG5vdGF0aW9uLiAgVGhlIElQdjYKICAgICAgYWRkcmVzcyBtYXkgaW5jbHVkZSBhIHpvbmUgaW5kZXgsIHNlcGFyYXRlZCBieSBhICUgc2lnbi4KCiAgICAgIFRoZSB6b25lIGluZGV4IGlzIHVzZWQgdG8gZGlzYW1iaWd1YXRlIGlkZW50aWNhbCBhZGRyZXNzCiAgICAgIHZhbHVlcy4gIEZvciBsaW5rLWxvY2FsIGFkZHJlc3NlcywgdGhlIHpvbmUgaW5kZXggd2lsbAogICAgICB0eXBpY2FsbHkgYmUgdGhlIGludGVyZmFjZSBpbmRleCBudW1iZXIgb3IgdGhlIG5hbWUgb2YgYW4KICAgICAgaW50ZXJmYWNlLiAgSWYgdGhlIHpvbmUgaW5kZXggaXMgbm90IHByZXNlbnQsIHRoZSBkZWZhdWx0CiAgICAgIHpvbmUgb2YgdGhlIGRldmljZSB3aWxsIGJlIHVzZWQuCgogICAgICBUaGUgY2Fub25pY2FsIGZvcm1hdCBvZiBJUHY2IGFkZHJlc3NlcyB1c2VzIHRoZSB0ZXh0dWFsCiAgICAgIHJlcHJlc2VudGF0aW9uIGRlZmluZWQgaW4gU2VjdGlvbiA0IG9mIFJGQyA1OTUyLiAgVGhlCiAgICAgIGNhbm9uaWNhbCBmb3JtYXQgZm9yIHRoZSB6b25lIGluZGV4IGlzIHRoZSBudW1lcmljYWwKICAgICAgZm9ybWF0IGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDExLjIgb2YgUkZDIDQwMDcuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNDI5MTogSVAgVmVyc2lvbiA2IEFkZHJlc3NpbmcgQXJjaGl0ZWN0dXJlCiAgICAgIFJGQyA0MDA3OiBJUHY2IFNjb3BlZCBBZGRyZXNzIEFyY2hpdGVjdHVyZQogICAgICBSRkMgNTk1MjogQSBSZWNvbW1lbmRhdGlvbiBmb3IgSVB2NiBBZGRyZXNzIFRleHQKICAgICAgICAgICAgICAgIFJlcHJlc2VudGF0aW9uIjsKICB9CgogIHR5cGVkZWYgaXAtYWRkcmVzcy1uby16b25lIHsKICAgIHR5cGUgdW5pb24gewogICAgICB0eXBlIGluZXQ6aXB2NC1hZGRyZXNzLW5vLXpvbmU7CiAgICAgIHR5cGUgaW5ldDppcHY2LWFkZHJlc3Mtbm8tem9uZTsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBpcC1hZGRyZXNzLW5vLXpvbmUgdHlwZSByZXByZXNlbnRzIGFuIElQIGFkZHJlc3MgYW5kIGlzCiAgICAgIElQIHZlcnNpb24gbmV1dHJhbC4gIFRoZSBmb3JtYXQgb2YgdGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24KICAgICAgaW1wbGllcyB0aGUgSVAgdmVyc2lvbi4gIFRoaXMgdHlwZSBkb2VzIG5vdCBzdXBwb3J0IHNjb3BlZAogICAgICBhZGRyZXNzZXMgc2luY2UgaXQgZG9lcyBub3QgYWxsb3cgem9uZSBpZGVudGlmaWVycyBpbiB0aGUKICAgICAgYWRkcmVzcyBmb3JtYXQuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNDAwNzogSVB2NiBTY29wZWQgQWRkcmVzcyBBcmNoaXRlY3R1cmUiOwogIH0KCiAgdHlwZWRlZiBpcHY0LWFkZHJlc3Mtbm8tem9uZSB7CiAgICB0eXBlIGluZXQ6aXB2NC1hZGRyZXNzIHsKICAgICAgcGF0dGVybiAnWzAtOVwuXSonOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAgIkFuIElQdjQgYWRkcmVzcyB3aXRob3V0IGEgem9uZSBpbmRleC4gIFRoaXMgdHlwZSwgZGVyaXZlZCBmcm9tCiAgICAgICBpcHY0LWFkZHJlc3MsIG1heSBiZSB1c2VkIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHpvbmUgaXMKICAgICAgIGtub3duIGZyb20gdGhlIGNvbnRleHQgYW5kIGhlbmNlIG5vIHpvbmUgaW5kZXggaXMgbmVlZGVkLiI7CiAgfQoKICB0eXBlZGVmIGlwdjYtYWRkcmVzcy1uby16b25lIHsKICAgIHR5cGUgaW5ldDppcHY2LWFkZHJlc3MgewogICAgICBwYXR0ZXJuICdbMC05YS1mQS1GOlwuXSonOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAgIkFuIElQdjYgYWRkcmVzcyB3aXRob3V0IGEgem9uZSBpbmRleC4gIFRoaXMgdHlwZSwgZGVyaXZlZCBmcm9tCiAgICAgICBpcHY2LWFkZHJlc3MsIG1heSBiZSB1c2VkIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHpvbmUgaXMKICAgICAgIGtub3duIGZyb20gdGhlIGNvbnRleHQgYW5kIGhlbmNlIG5vIHpvbmUgaW5kZXggaXMgbmVlZGVkLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDQyOTE6IElQIFZlcnNpb24gNiBBZGRyZXNzaW5nIEFyY2hpdGVjdHVyZQogICAgICBSRkMgNDAwNzogSVB2NiBTY29wZWQgQWRkcmVzcyBBcmNoaXRlY3R1cmUKICAgICAgUkZDIDU5NTI6IEEgUmVjb21tZW5kYXRpb24gZm9yIElQdjYgQWRkcmVzcyBUZXh0CiAgICAgICAgICAgICAgICBSZXByZXNlbnRhdGlvbiI7CiAgfQoKICB0eXBlZGVmIGlwLXByZWZpeCB7CiAgICB0eXBlIHVuaW9uIHsKICAgICAgdHlwZSBpbmV0OmlwdjQtcHJlZml4OwogICAgICB0eXBlIGluZXQ6aXB2Ni1wcmVmaXg7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgaXAtcHJlZml4IHR5cGUgcmVwcmVzZW50cyBhbiBJUCBwcmVmaXggYW5kIGlzIElQCiAgICAgIHZlcnNpb24gbmV1dHJhbC4gIFRoZSBmb3JtYXQgb2YgdGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb25zCiAgICAgIGltcGxpZXMgdGhlIElQIHZlcnNpb24uIjsKICB9CgogIHR5cGVkZWYgaXB2NC1wcmVmaXggewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuCiAgICAgICAgICcoKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSlcLil7M30nCiAgICAgICArICAnKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSknCiAgICAgICArICcvKChbMC05XSl8KFsxLTJdWzAtOV0pfCgzWzAtMl0pKSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgaXB2NC1wcmVmaXggdHlwZSByZXByZXNlbnRzIGFuIElQdjQgYWRkcmVzcyBwcmVmaXguCiAgICAgIFRoZSBwcmVmaXggbGVuZ3RoIGlzIGdpdmVuIGJ5IHRoZSBudW1iZXIgZm9sbG93aW5nIHRoZQogICAgICBzbGFzaCBjaGFyYWN0ZXIgYW5kIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDMyLgoKICAgICAgQSBwcmVmaXggbGVuZ3RoIHZhbHVlIG9mIG4gY29ycmVzcG9uZHMgdG8gYW4gSVAgYWRkcmVzcwogICAgICBtYXNrIHRoYXQgaGFzIG4gY29udGlndW91cyAxLWJpdHMgZnJvbSB0aGUgbW9zdAogICAgICBzaWduaWZpY2FudCBiaXQgKE1TQikgYW5kIGFsbCBvdGhlciBiaXRzIHNldCB0byAwLgoKICAgICAgVGhlIGNhbm9uaWNhbCBmb3JtYXQgb2YgYW4gSVB2NCBwcmVmaXggaGFzIGFsbCBiaXRzIG9mCiAgICAgIHRoZSBJUHY0IGFkZHJlc3Mgc2V0IHRvIHplcm8gdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlCiAgICAgIElQdjQgcHJlZml4LiI7CiAgfQoKICB0eXBlZGVmIGlwdjYtcHJlZml4IHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKCg6fFswLTlhLWZBLUZdezAsNH0pOikoWzAtOWEtZkEtRl17MCw0fTopezAsNX0nCiAgICAgICAgICAgICsgJygoKFswLTlhLWZBLUZdezAsNH06KT8oOnxbMC05YS1mQS1GXXswLDR9KSl8JwogICAgICAgICAgICArICcoKCgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV0/WzAtOV0pXC4pezN9JwogICAgICAgICAgICArICcoMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldP1swLTldKSkpJwogICAgICAgICAgICArICcoLygoWzAtOV0pfChbMC05XXsyfSl8KDFbMC0xXVswLTldKXwoMTJbMC04XSkpKSc7CiAgICAgIHBhdHRlcm4gJygoW146XSs6KXs2fSgoW146XSs6W146XSspfCguKlwuLiopKSl8JwogICAgICAgICAgICArICcoKChbXjpdKzopKlteOl0rKT86OigoW146XSs6KSpbXjpdKyk/KScKICAgICAgICAgICAgKyAnKC8uKyknOwogICAgfQoKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBpcHY2LXByZWZpeCB0eXBlIHJlcHJlc2VudHMgYW4gSVB2NiBhZGRyZXNzIHByZWZpeC4KICAgICAgVGhlIHByZWZpeCBsZW5ndGggaXMgZ2l2ZW4gYnkgdGhlIG51bWJlciBmb2xsb3dpbmcgdGhlCiAgICAgIHNsYXNoIGNoYXJhY3RlciBhbmQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTI4LgoKICAgICAgQSBwcmVmaXggbGVuZ3RoIHZhbHVlIG9mIG4gY29ycmVzcG9uZHMgdG8gYW4gSVAgYWRkcmVzcwogICAgICBtYXNrIHRoYXQgaGFzIG4gY29udGlndW91cyAxLWJpdHMgZnJvbSB0aGUgbW9zdAogICAgICBzaWduaWZpY2FudCBiaXQgKE1TQikgYW5kIGFsbCBvdGhlciBiaXRzIHNldCB0byAwLgoKICAgICAgVGhlIElQdjYgYWRkcmVzcyBzaG91bGQgaGF2ZSBhbGwgYml0cyB0aGF0IGRvIG5vdCBiZWxvbmcKICAgICAgdG8gdGhlIHByZWZpeCBzZXQgdG8gemVyby4KCiAgICAgIFRoZSBjYW5vbmljYWwgZm9ybWF0IG9mIGFuIElQdjYgcHJlZml4IGhhcyBhbGwgYml0cyBvZgogICAgICB0aGUgSVB2NiBhZGRyZXNzIHNldCB0byB6ZXJvIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZQogICAgICBJUHY2IHByZWZpeC4gIEZ1cnRoZXJtb3JlLCB0aGUgSVB2NiBhZGRyZXNzIGlzIHJlcHJlc2VudGVkCiAgICAgIGFzIGRlZmluZWQgaW4gU2VjdGlvbiA0IG9mIFJGQyA1OTUyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDU5NTI6IEEgUmVjb21tZW5kYXRpb24gZm9yIElQdjYgQWRkcmVzcyBUZXh0CiAgICAgICAgICAgICAgICBSZXByZXNlbnRhdGlvbiI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgZG9tYWluIG5hbWUgYW5kIFVSSSB0eXBlcyAqKiovCgogIHR5cGVkZWYgZG9tYWluLW5hbWUgewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuCiAgICAgICAgJygoKFthLXpBLVowLTlfXShbYS16QS1aMC05XC1fXSl7MCw2MX0pP1thLXpBLVowLTldXC4pKicKICAgICAgKyAnKFthLXpBLVowLTlfXShbYS16QS1aMC05XC1fXSl7MCw2MX0pP1thLXpBLVowLTldXC4/KScKICAgICAgKyAnfFwuJzsKICAgICAgbGVuZ3RoICIxLi4yNTMiOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGRvbWFpbi1uYW1lIHR5cGUgcmVwcmVzZW50cyBhIEROUyBkb21haW4gbmFtZS4gIFRoZQogICAgICBuYW1lIFNIT1VMRCBiZSBmdWxseSBxdWFsaWZpZWQgd2hlbmV2ZXIgcG9zc2libGUuCgogICAgICBJbnRlcm5ldCBkb21haW4gbmFtZXMgYXJlIG9ubHkgbG9vc2VseSBzcGVjaWZpZWQuICBTZWN0aW9uCiAgICAgIDMuNSBvZiBSRkMgMTAzNCByZWNvbW1lbmRzIGEgc3ludGF4IChtb2RpZmllZCBpbiBTZWN0aW9uCiAgICAgIDIuMSBvZiBSRkMgMTEyMykuICBUaGUgcGF0dGVybiBhYm92ZSBpcyBpbnRlbmRlZCB0byBhbGxvdwogICAgICBmb3IgY3VycmVudCBwcmFjdGljZSBpbiBkb21haW4gbmFtZSB1c2UsIGFuZCBzb21lIHBvc3NpYmxlCiAgICAgIGZ1dHVyZSBleHBhbnNpb24uICBJdCBpcyBkZXNpZ25lZCB0byBob2xkIHZhcmlvdXMgdHlwZXMgb2YKICAgICAgZG9tYWluIG5hbWVzLCBpbmNsdWRpbmcgbmFtZXMgdXNlZCBmb3IgQSBvciBBQUFBIHJlY29yZHMKICAgICAgKGhvc3QgbmFtZXMpIGFuZCBvdGhlciByZWNvcmRzLCBzdWNoIGFzIFNSViByZWNvcmRzLiAgTm90ZQogICAgICB0aGF0IEludGVybmV0IGhvc3QgbmFtZXMgaGF2ZSBhIHN0cmljdGVyIHN5bnRheCAoZGVzY3JpYmVkCiAgICAgIGluIFJGQyA5NTIpIHRoYW4gdGhlIEROUyByZWNvbW1lbmRhdGlvbnMgaW4gUkZDcyAxMDM0IGFuZAogICAgICAxMTIzLCBhbmQgdGhhdCBzeXN0ZW1zIHRoYXQgd2FudCB0byBzdG9yZSBob3N0IG5hbWVzIGluCiAgICAgIHNjaGVtYSBub2RlcyB1c2luZyB0aGUgZG9tYWluLW5hbWUgdHlwZSBhcmUgcmVjb21tZW5kZWQgdG8KICAgICAgYWRoZXJlIHRvIHRoaXMgc3RyaWN0ZXIgc3RhbmRhcmQgdG8gZW5zdXJlIGludGVyb3BlcmFiaWxpdHkuCgogICAgICBUaGUgZW5jb2Rpbmcgb2YgRE5TIG5hbWVzIGluIHRoZSBETlMgcHJvdG9jb2wgaXMgbGltaXRlZAogICAgICB0byAyNTUgY2hhcmFjdGVycy4gIFNpbmNlIHRoZSBlbmNvZGluZyBjb25zaXN0cyBvZiBsYWJlbHMKICAgICAgcHJlZml4ZWQgYnkgYSBsZW5ndGggYnl0ZXMgYW5kIHRoZXJlIGlzIGEgdHJhaWxpbmcgTlVMTAogICAgICBieXRlLCBvbmx5IDI1MyBjaGFyYWN0ZXJzIGNhbiBhcHBlYXIgaW4gdGhlIHRleHR1YWwgZG90dGVkCiAgICAgIG5vdGF0aW9uLgoKICAgICAgVGhlIGRlc2NyaXB0aW9uIGNsYXVzZSBvZiBzY2hlbWEgbm9kZXMgdXNpbmcgdGhlIGRvbWFpbi1uYW1lCiAgICAgIHR5cGUgTVVTVCBkZXNjcmliZSB3aGVuIGFuZCBob3cgdGhlc2UgbmFtZXMgYXJlIHJlc29sdmVkIHRvCiAgICAgIElQIGFkZHJlc3Nlcy4gIE5vdGUgdGhhdCB0aGUgcmVzb2x1dGlvbiBvZiBhIGRvbWFpbi1uYW1lIHZhbHVlCiAgICAgIG1heSByZXF1aXJlIHRvIHF1ZXJ5IG11bHRpcGxlIEROUyByZWNvcmRzIChlLmcuLCBBIGZvciBJUHY0CiAgICAgIGFuZCBBQUFBIGZvciBJUHY2KS4gIFRoZSBvcmRlciBvZiB0aGUgcmVzb2x1dGlvbiBwcm9jZXNzIGFuZAogICAgICB3aGljaCBETlMgcmVjb3JkIHRha2VzIHByZWNlZGVuY2UgY2FuIGVpdGhlciBiZSBkZWZpbmVkCiAgICAgIGV4cGxpY2l0bHkgb3IgbWF5IGRlcGVuZCBvbiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUKICAgICAgcmVzb2x2ZXIuCgogICAgICBEb21haW4tbmFtZSB2YWx1ZXMgdXNlIHRoZSBVUy1BU0NJSSBlbmNvZGluZy4gIFRoZWlyIGNhbm9uaWNhbAogICAgICBmb3JtYXQgdXNlcyBsb3dlcmNhc2UgVVMtQVNDSUkgY2hhcmFjdGVycy4gIEludGVybmF0aW9uYWxpemVkCiAgICAgIGRvbWFpbiBuYW1lcyBNVVNUIGJlIEEtbGFiZWxzIGFzIHBlciBSRkMgNTg5MC4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAgOTUyOiBEb0QgSW50ZXJuZXQgSG9zdCBUYWJsZSBTcGVjaWZpY2F0aW9uCiAgICAgIFJGQyAxMDM0OiBEb21haW4gTmFtZXMgLSBDb25jZXB0cyBhbmQgRmFjaWxpdGllcwogICAgICBSRkMgMTEyMzogUmVxdWlyZW1lbnRzIGZvciBJbnRlcm5ldCBIb3N0cyAtLSBBcHBsaWNhdGlvbgogICAgICAgICAgICAgICAgYW5kIFN1cHBvcnQKICAgICAgUkZDIDI3ODI6IEEgRE5TIFJSIGZvciBzcGVjaWZ5aW5nIHRoZSBsb2NhdGlvbiBvZiBzZXJ2aWNlcwogICAgICAgICAgICAgICAgKEROUyBTUlYpCiAgICAgIFJGQyA1ODkwOiBJbnRlcm5hdGlvbmFsaXplZCBEb21haW4gTmFtZXMgaW4gQXBwbGljYXRpb25zCiAgICAgICAgICAgICAgICAoSUROQSk6IERlZmluaXRpb25zIGFuZCBEb2N1bWVudCBGcmFtZXdvcmsiOwogIH0KCiAgdHlwZWRlZiBob3N0IHsKICAgIHR5cGUgdW5pb24gewogICAgICB0eXBlIGluZXQ6aXAtYWRkcmVzczsKICAgICAgdHlwZSBpbmV0OmRvbWFpbi1uYW1lOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGhvc3QgdHlwZSByZXByZXNlbnRzIGVpdGhlciBhbiBJUCBhZGRyZXNzIG9yIGEgRE5TCiAgICAgIGRvbWFpbiBuYW1lLiI7CiAgfQoKICB0eXBlZGVmIHVyaSB7CiAgICB0eXBlIHN0cmluZzsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSB1cmkgdHlwZSByZXByZXNlbnRzIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyCiAgICAgIChVUkkpIGFzIGRlZmluZWQgYnkgU1REIDY2LgoKICAgICAgT2JqZWN0cyB1c2luZyB0aGUgdXJpIHR5cGUgTVVTVCBiZSBpbiBVUy1BU0NJSSBlbmNvZGluZywKICAgICAgYW5kIE1VU1QgYmUgbm9ybWFsaXplZCBhcyBkZXNjcmliZWQgYnkgUkZDIDM5ODYgU2VjdGlvbnMKICAgICAgNi4yLjEsIDYuMi4yLjEsIGFuZCA2LjIuMi4yLiAgQWxsIHVubmVjZXNzYXJ5CiAgICAgIHBlcmNlbnQtZW5jb2RpbmcgaXMgcmVtb3ZlZCwgYW5kIGFsbCBjYXNlLWluc2Vuc2l0aXZlCiAgICAgIGNoYXJhY3RlcnMgYXJlIHNldCB0byBsb3dlcmNhc2UgZXhjZXB0IGZvciBoZXhhZGVjaW1hbAogICAgICBkaWdpdHMsIHdoaWNoIGFyZSBub3JtYWxpemVkIHRvIHVwcGVyY2FzZSBhcyBkZXNjcmliZWQgaW4KICAgICAgU2VjdGlvbiA2LjIuMi4xLgoKICAgICAgVGhlIHB1cnBvc2Ugb2YgdGhpcyBub3JtYWxpemF0aW9uIGlzIHRvIGhlbHAgcHJvdmlkZQogICAgICB1bmlxdWUgVVJJcy4gIE5vdGUgdGhhdCB0aGlzIG5vcm1hbGl6YXRpb24gaXMgbm90CiAgICAgIHN1ZmZpY2llbnQgdG8gcHJvdmlkZSB1bmlxdWVuZXNzLiAgVHdvIFVSSXMgdGhhdCBhcmUKICAgICAgdGV4dHVhbGx5IGRpc3RpbmN0IGFmdGVyIHRoaXMgbm9ybWFsaXphdGlvbiBtYXkgc3RpbGwgYmUKICAgICAgZXF1aXZhbGVudC4KCiAgICAgIE9iamVjdHMgdXNpbmcgdGhlIHVyaSB0eXBlIG1heSByZXN0cmljdCB0aGUgc2NoZW1lcyB0aGF0CiAgICAgIHRoZXkgcGVybWl0LiAgRm9yIGV4YW1wbGUsICdkYXRhOicgYW5kICd1cm46JyBzY2hlbWVzCiAgICAgIG1pZ2h0IG5vdCBiZSBhcHByb3ByaWF0ZS4KCiAgICAgIEEgemVyby1sZW5ndGggVVJJIGlzIG5vdCBhIHZhbGlkIFVSSS4gIFRoaXMgY2FuIGJlIHVzZWQgdG8KICAgICAgZXhwcmVzcyAnVVJJIGFic2VudCcgd2hlcmUgcmVxdWlyZWQuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgVXJpIFNNSXYyIHRleHR1YWwgY29udmVudGlvbiBkZWZpbmVkIGluIFJGQyA1MDE3LiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDM5ODY6IFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKTogR2VuZXJpYyBTeW50YXgKICAgICAgUkZDIDMzMDU6IFJlcG9ydCBmcm9tIHRoZSBKb2ludCBXM0MvSUVURiBVUkkgUGxhbm5pbmcgSW50ZXJlc3QKICAgICAgICAgICAgICAgIEdyb3VwOiBVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXJzIChVUklzKSwgVVJMcywKICAgICAgICAgICAgICAgIGFuZCBVbmlmb3JtIFJlc291cmNlIE5hbWVzIChVUk5zKTogQ2xhcmlmaWNhdGlvbnMKICAgICAgICAgICAgICAgIGFuZCBSZWNvbW1lbmRhdGlvbnMKICAgICAgUkZDIDUwMTc6IE1JQiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBVbmlmb3JtIFJlc291cmNlCiAgICAgICAgICAgICAgICBJZGVudGlmaWVycyAoVVJJcykiOwogIH0KCn0K
 ietf-yang-types        urn:ietf:params:xml:ns:yang:ietf-yang-types     \N      []      2013-07-15      bW9kdWxlIGlldGYteWFuZy10eXBlcyB7CgogIG5hbWVzcGFjZSAidXJuOmlldGY6cGFyYW1zOnhtbDpuczp5YW5nOmlldGYteWFuZy10eXBlcyI7CiAgcHJlZml4ICJ5YW5nIjsKCiAgb3JnYW5pemF0aW9uCiAgICJJRVRGIE5FVE1PRCAoTkVUQ09ORiBEYXRhIE1vZGVsaW5nIExhbmd1YWdlKSBXb3JraW5nIEdyb3VwIjsKCiAgY29udGFjdAogICAiV0cgV2ViOiAgIDxodHRwOi8vdG9vbHMuaWV0Zi5vcmcvd2cvbmV0bW9kLz4KICAgIFdHIExpc3Q6ICA8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4KCiAgICBXRyBDaGFpcjogRGF2aWQgS2Vzc2VucwogICAgICAgICAgICAgIDxtYWlsdG86ZGF2aWQua2Vzc2Vuc0Buc24uY29tPgoKICAgIFdHIENoYWlyOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIKICAgICAgICAgICAgICA8bWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4KCiAgICBFZGl0b3I6ICAgSnVlcmdlbiBTY2hvZW53YWVsZGVyCiAgICAgICAgICAgICAgPG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+IjsKCiAgZGVzY3JpcHRpb24KICAgIlRoaXMgbW9kdWxlIGNvbnRhaW5zIGEgY29sbGVjdGlvbiBvZiBnZW5lcmFsbHkgdXNlZnVsIGRlcml2ZWQKICAgIFlBTkcgZGF0YSB0eXBlcy4KCiAgICBDb3B5cmlnaHQgKGMpIDIwMTMgSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcwogICAgYXV0aG9ycyBvZiB0aGUgY29kZS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgogICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGlzIHBlcm1pdHRlZCBwdXJzdWFudCB0bywgYW5kIHN1YmplY3QKICAgIHRvIHRoZSBsaWNlbnNlIHRlcm1zIGNvbnRhaW5lZCBpbiwgdGhlIFNpbXBsaWZpZWQgQlNEIExpY2Vuc2UKICAgIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUgSUVURiBUcnVzdCdzIExlZ2FsIFByb3Zpc2lvbnMKICAgIFJlbGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzCiAgICAoaHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KCiAgICBUaGlzIHZlcnNpb24gb2YgdGhpcyBZQU5HIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyA2OTkxOyBzZWUKICAgIHRoZSBSRkMgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIjsKCiAgcmV2aXNpb24gMjAxMy0wNy0xNSB7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGlzIHJldmlzaW9uIGFkZHMgdGhlIGZvbGxvd2luZyBuZXcgZGF0YSB0eXBlczoKICAgICAgLSB5YW5nLWlkZW50aWZpZXIKICAgICAgLSBoZXgtc3RyaW5nCiAgICAgIC0gdXVpZAogICAgICAtIGRvdHRlZC1xdWFkIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjk5MTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICByZXZpc2lvbiAyMDEwLTA5LTI0IHsKICAgIGRlc2NyaXB0aW9uCiAgICAgIkluaXRpYWwgcmV2aXNpb24uIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjAyMTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgY291bnRlciBhbmQgZ2F1Z2UgdHlwZXMgKioqLwoKICB0eXBlZGVmIGNvdW50ZXIzMiB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBjb3VudGVyMzIgdHlwZSByZXByZXNlbnRzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIKICAgICAgdGhhdCBtb25vdG9uaWNhbGx5IGluY3JlYXNlcyB1bnRpbCBpdCByZWFjaGVzIGEKICAgICAgbWF4aW11bSB2YWx1ZSBvZiAyXjMyLTEgKDQyOTQ5NjcyOTUgZGVjaW1hbCksIHdoZW4gaXQKICAgICAgd3JhcHMgYXJvdW5kIGFuZCBzdGFydHMgaW5jcmVhc2luZyBhZ2FpbiBmcm9tIHplcm8uCgogICAgICBDb3VudGVycyBoYXZlIG5vIGRlZmluZWQgJ2luaXRpYWwnIHZhbHVlLCBhbmQgdGh1cywgYQogICAgICBzaW5nbGUgdmFsdWUgb2YgYSBjb3VudGVyIGhhcyAoaW4gZ2VuZXJhbCkgbm8gaW5mb3JtYXRpb24KICAgICAgY29udGVudC4gIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nCiAgICAgIHZhbHVlIG5vcm1hbGx5IG9jY3VyIGF0IHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZQogICAgICBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzIGFzIHNwZWNpZmllZCBpbiB0aGUKICAgICAgZGVzY3JpcHRpb24gb2YgYSBzY2hlbWEgbm9kZSB1c2luZyB0aGlzIHR5cGUuICBJZiBzdWNoCiAgICAgIG90aGVyIHRpbWVzIGNhbiBvY2N1ciwgZm9yIGV4YW1wbGUsIHRoZSBjcmVhdGlvbiBvZgogICAgICBhIHNjaGVtYSBub2RlIG9mIHR5cGUgY291bnRlcjMyIGF0IHRpbWVzIG90aGVyIHRoYW4KICAgICAgcmUtaW5pdGlhbGl6YXRpb24sIHRoZW4gYSBjb3JyZXNwb25kaW5nIHNjaGVtYSBub2RlCiAgICAgIHNob3VsZCBiZSBkZWZpbmVkLCB3aXRoIGFuIGFwcHJvcHJpYXRlIHR5cGUsIHRvIGluZGljYXRlCiAgICAgIHRoZSBsYXN0IGRpc2NvbnRpbnVpdHkuCgogICAgICBUaGUgY291bnRlcjMyIHR5cGUgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBjb25maWd1cmF0aW9uCiAgICAgIHNjaGVtYSBub2Rlcy4gIEEgZGVmYXVsdCBzdGF0ZW1lbnQgU0hPVUxEIE5PVCBiZSB1c2VkIGluCiAgICAgIGNvbWJpbmF0aW9uIHdpdGggdGhlIHR5cGUgY291bnRlcjMyLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIENvdW50ZXIzMiB0eXBlIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyNTc4OiBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBWZXJzaW9uIDIKICAgICAgICAgICAgICAgIChTTUl2MikiOwogIH0KCiAgdHlwZWRlZiB6ZXJvLWJhc2VkLWNvdW50ZXIzMiB7CiAgICB0eXBlIHlhbmc6Y291bnRlcjMyOwogICAgZGVmYXVsdCAiMCI7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgemVyby1iYXNlZC1jb3VudGVyMzIgdHlwZSByZXByZXNlbnRzIGEgY291bnRlcjMyCiAgICAgIHRoYXQgaGFzIHRoZSBkZWZpbmVkICdpbml0aWFsJyB2YWx1ZSB6ZXJvLgoKICAgICAgQSBzY2hlbWEgbm9kZSBvZiB0aGlzIHR5cGUgd2lsbCBiZSBzZXQgdG8gemVybyAoMCkgb24gY3JlYXRpb24KICAgICAgYW5kIHdpbGwgdGhlcmVhZnRlciBpbmNyZWFzZSBtb25vdG9uaWNhbGx5IHVudGlsIGl0IHJlYWNoZXMKICAgICAgYSBtYXhpbXVtIHZhbHVlIG9mIDJeMzItMSAoNDI5NDk2NzI5NSBkZWNpbWFsKSwgd2hlbiBpdAogICAgICB3cmFwcyBhcm91bmQgYW5kIHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluIGZyb20gemVyby4KCiAgICAgIFByb3ZpZGVkIHRoYXQgYW4gYXBwbGljYXRpb24gZGlzY292ZXJzIGEgbmV3IHNjaGVtYSBub2RlCiAgICAgIG9mIHRoaXMgdHlwZSB3aXRoaW4gdGhlIG1pbmltdW0gdGltZSB0byB3cmFwLCBpdCBjYW4gdXNlIHRoZQogICAgICAnaW5pdGlhbCcgdmFsdWUgYXMgYSBkZWx0YS4gIEl0IGlzIGltcG9ydGFudCBmb3IgYSBtYW5hZ2VtZW50CiAgICAgIHN0YXRpb24gdG8gYmUgYXdhcmUgb2YgdGhpcyBtaW5pbXVtIHRpbWUgYW5kIHRoZSBhY3R1YWwgdGltZQogICAgICBiZXR3ZWVuIHBvbGxzLCBhbmQgdG8gZGlzY2FyZCBkYXRhIGlmIHRoZSBhY3R1YWwgdGltZSBpcyB0b28KICAgICAgbG9uZyBvciB0aGVyZSBpcyBubyBkZWZpbmVkIG1pbmltdW0gdGltZS4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBaZXJvQmFzZWRDb3VudGVyMzIgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgICJSRkMgNDUwMjogUmVtb3RlIE5ldHdvcmsgTW9uaXRvcmluZyBNYW5hZ2VtZW50IEluZm9ybWF0aW9uCiAgICAgICAgICAgICAgICAgQmFzZSBWZXJzaW9uIDIiOwogIH0KCiAgdHlwZWRlZiBjb3VudGVyNjQgewogICAgdHlwZSB1aW50NjQ7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgY291bnRlcjY0IHR5cGUgcmVwcmVzZW50cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyCiAgICAgIHRoYXQgbW9ub3RvbmljYWxseSBpbmNyZWFzZXMgdW50aWwgaXQgcmVhY2hlcyBhCiAgICAgIG1heGltdW0gdmFsdWUgb2YgMl42NC0xICgxODQ0Njc0NDA3MzcwOTU1MTYxNSBkZWNpbWFsKSwKICAgICAgd2hlbiBpdCB3cmFwcyBhcm91bmQgYW5kIHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluIGZyb20gemVyby4KCiAgICAgIENvdW50ZXJzIGhhdmUgbm8gZGVmaW5lZCAnaW5pdGlhbCcgdmFsdWUsIGFuZCB0aHVzLCBhCiAgICAgIHNpbmdsZSB2YWx1ZSBvZiBhIGNvdW50ZXIgaGFzIChpbiBnZW5lcmFsKSBubyBpbmZvcm1hdGlvbgogICAgICBjb250ZW50LiAgRGlzY29udGludWl0aWVzIGluIHRoZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcKICAgICAgdmFsdWUgbm9ybWFsbHkgb2NjdXIgYXQgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlCiAgICAgIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMgYXMgc3BlY2lmaWVkIGluIHRoZQogICAgICBkZXNjcmlwdGlvbiBvZiBhIHNjaGVtYSBub2RlIHVzaW5nIHRoaXMgdHlwZS4gIElmIHN1Y2gKICAgICAgb3RoZXIgdGltZXMgY2FuIG9jY3VyLCBmb3IgZXhhbXBsZSwgdGhlIGNyZWF0aW9uIG9mCiAgICAgIGEgc2NoZW1hIG5vZGUgb2YgdHlwZSBjb3VudGVyNjQgYXQgdGltZXMgb3RoZXIgdGhhbgogICAgICByZS1pbml0aWFsaXphdGlvbiwgdGhlbiBhIGNvcnJlc3BvbmRpbmcgc2NoZW1hIG5vZGUKICAgICAgc2hvdWxkIGJlIGRlZmluZWQsIHdpdGggYW4gYXBwcm9wcmlhdGUgdHlwZSwgdG8gaW5kaWNhdGUKICAgICAgdGhlIGxhc3QgZGlzY29udGludWl0eS4KCiAgICAgIFRoZSBjb3VudGVyNjQgdHlwZSBzaG91bGQgbm90IGJlIHVzZWQgZm9yIGNvbmZpZ3VyYXRpb24KICAgICAgc2NoZW1hIG5vZGVzLiAgQSBkZWZhdWx0IHN0YXRlbWVudCBTSE9VTEQgTk9UIGJlIHVzZWQgaW4KICAgICAgY29tYmluYXRpb24gd2l0aCB0aGUgdHlwZSBjb3VudGVyNjQuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgQ291bnRlcjY0IHR5cGUgb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDI1Nzg6IFN0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24gMgogICAgICAgICAgICAgICAgKFNNSXYyKSI7CiAgfQoKICB0eXBlZGVmIHplcm8tYmFzZWQtY291bnRlcjY0IHsKICAgIHR5cGUgeWFuZzpjb3VudGVyNjQ7CiAgICBkZWZhdWx0ICIwIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSB6ZXJvLWJhc2VkLWNvdW50ZXI2NCB0eXBlIHJlcHJlc2VudHMgYSBjb3VudGVyNjQgdGhhdAogICAgICBoYXMgdGhlIGRlZmluZWQgJ2luaXRpYWwnIHZhbHVlIHplcm8uCgogICAgICBBIHNjaGVtYSBub2RlIG9mIHRoaXMgdHlwZSB3aWxsIGJlIHNldCB0byB6ZXJvICgwKSBvbiBjcmVhdGlvbgogICAgICBhbmQgd2lsbCB0aGVyZWFmdGVyIGluY3JlYXNlIG1vbm90b25pY2FsbHkgdW50aWwgaXQgcmVhY2hlcwogICAgICBhIG1heGltdW0gdmFsdWUgb2YgMl42NC0xICgxODQ0Njc0NDA3MzcwOTU1MTYxNSBkZWNpbWFsKSwKICAgICAgd2hlbiBpdCB3cmFwcyBhcm91bmQgYW5kIHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluIGZyb20gemVyby4KCiAgICAgIFByb3ZpZGVkIHRoYXQgYW4gYXBwbGljYXRpb24gZGlzY292ZXJzIGEgbmV3IHNjaGVtYSBub2RlCiAgICAgIG9mIHRoaXMgdHlwZSB3aXRoaW4gdGhlIG1pbmltdW0gdGltZSB0byB3cmFwLCBpdCBjYW4gdXNlIHRoZQogICAgICAnaW5pdGlhbCcgdmFsdWUgYXMgYSBkZWx0YS4gIEl0IGlzIGltcG9ydGFudCBmb3IgYSBtYW5hZ2VtZW50CiAgICAgIHN0YXRpb24gdG8gYmUgYXdhcmUgb2YgdGhpcyBtaW5pbXVtIHRpbWUgYW5kIHRoZSBhY3R1YWwgdGltZQogICAgICBiZXR3ZWVuIHBvbGxzLCBhbmQgdG8gZGlzY2FyZCBkYXRhIGlmIHRoZSBhY3R1YWwgdGltZSBpcyB0b28KICAgICAgbG9uZyBvciB0aGVyZSBpcyBubyBkZWZpbmVkIG1pbmltdW0gdGltZS4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBaZXJvQmFzZWRDb3VudGVyNjQgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyODU2OiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBBZGRpdGlvbmFsIEhpZ2ggQ2FwYWNpdHkKICAgICAgICAgICAgICAgIERhdGEgVHlwZXMiOwogIH0KCiAgdHlwZWRlZiBnYXVnZTMyIHsKICAgIHR5cGUgdWludDMyOwogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGdhdWdlMzIgdHlwZSByZXByZXNlbnRzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIsIHdoaWNoCiAgICAgIG1heSBpbmNyZWFzZSBvciBkZWNyZWFzZSwgYnV0IHNoYWxsIG5ldmVyIGV4Y2VlZCBhIG1heGltdW0KICAgICAgdmFsdWUsIG5vciBmYWxsIGJlbG93IGEgbWluaW11bSB2YWx1ZS4gIFRoZSBtYXhpbXVtIHZhbHVlCiAgICAgIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gMl4zMi0xICg0Mjk0OTY3Mjk1IGRlY2ltYWwpLCBhbmQKICAgICAgdGhlIG1pbmltdW0gdmFsdWUgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAwLiAgVGhlIHZhbHVlIG9mCiAgICAgIGEgZ2F1Z2UzMiBoYXMgaXRzIG1heGltdW0gdmFsdWUgd2hlbmV2ZXIgdGhlIGluZm9ybWF0aW9uCiAgICAgIGJlaW5nIG1vZGVsZWQgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGl0cyBtYXhpbXVtCiAgICAgIHZhbHVlLCBhbmQgaGFzIGl0cyBtaW5pbXVtIHZhbHVlIHdoZW5ldmVyIHRoZSBpbmZvcm1hdGlvbgogICAgICBiZWluZyBtb2RlbGVkIGlzIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byBpdHMgbWluaW11bSB2YWx1ZS4KICAgICAgSWYgdGhlIGluZm9ybWF0aW9uIGJlaW5nIG1vZGVsZWQgc3Vic2VxdWVudGx5IGRlY3JlYXNlcwogICAgICBiZWxvdyAoaW5jcmVhc2VzIGFib3ZlKSB0aGUgbWF4aW11bSAobWluaW11bSkgdmFsdWUsIHRoZQogICAgICBnYXVnZTMyIGFsc28gZGVjcmVhc2VzIChpbmNyZWFzZXMpLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIEdhdWdlMzIgdHlwZSBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMjU3ODogU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyCiAgICAgICAgICAgICAgICAoU01JdjIpIjsKICB9CgogIHR5cGVkZWYgZ2F1Z2U2NCB7CiAgICB0eXBlIHVpbnQ2NDsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBnYXVnZTY0IHR5cGUgcmVwcmVzZW50cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLCB3aGljaAogICAgICBtYXkgaW5jcmVhc2Ugb3IgZGVjcmVhc2UsIGJ1dCBzaGFsbCBuZXZlciBleGNlZWQgYSBtYXhpbXVtCiAgICAgIHZhbHVlLCBub3IgZmFsbCBiZWxvdyBhIG1pbmltdW0gdmFsdWUuICBUaGUgbWF4aW11bSB2YWx1ZQogICAgICBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIDJeNjQtMSAoMTg0NDY3NDQwNzM3MDk1NTE2MTUpLCBhbmQKICAgICAgdGhlIG1pbmltdW0gdmFsdWUgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAwLiAgVGhlIHZhbHVlIG9mCiAgICAgIGEgZ2F1Z2U2NCBoYXMgaXRzIG1heGltdW0gdmFsdWUgd2hlbmV2ZXIgdGhlIGluZm9ybWF0aW9uCiAgICAgIGJlaW5nIG1vZGVsZWQgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGl0cyBtYXhpbXVtCiAgICAgIHZhbHVlLCBhbmQgaGFzIGl0cyBtaW5pbXVtIHZhbHVlIHdoZW5ldmVyIHRoZSBpbmZvcm1hdGlvbgogICAgICBiZWluZyBtb2RlbGVkIGlzIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byBpdHMgbWluaW11bSB2YWx1ZS4KICAgICAgSWYgdGhlIGluZm9ybWF0aW9uIGJlaW5nIG1vZGVsZWQgc3Vic2VxdWVudGx5IGRlY3JlYXNlcwogICAgICBiZWxvdyAoaW5jcmVhc2VzIGFib3ZlKSB0aGUgbWF4aW11bSAobWluaW11bSkgdmFsdWUsIHRoZQogICAgICBnYXVnZTY0IGFsc28gZGVjcmVhc2VzIChpbmNyZWFzZXMpLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIENvdW50ZXJCYXNlZEdhdWdlNjQgU01JdjIgdGV4dHVhbCBjb252ZW50aW9uIGRlZmluZWQKICAgICAgaW4gUkZDIDI4NTYiOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyODU2OiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBBZGRpdGlvbmFsIEhpZ2ggQ2FwYWNpdHkKICAgICAgICAgICAgICAgIERhdGEgVHlwZXMiOwogIH0KCiAgLyoqKiBjb2xsZWN0aW9uIG9mIGlkZW50aWZpZXItcmVsYXRlZCB0eXBlcyAqKiovCgogIHR5cGVkZWYgb2JqZWN0LWlkZW50aWZpZXIgewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuICcoKFswLTFdKFwuWzEtM10/WzAtOV0pKXwoMlwuKDB8KFsxLTldXGQqKSkpKScKICAgICAgICAgICAgKyAnKFwuKDB8KFsxLTldXGQqKSkpKic7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgb2JqZWN0LWlkZW50aWZpZXIgdHlwZSByZXByZXNlbnRzIGFkbWluaXN0cmF0aXZlbHkKICAgICAgYXNzaWduZWQgbmFtZXMgaW4gYSByZWdpc3RyYXRpb24taGllcmFyY2hpY2FsLW5hbWUgdHJlZS4KCiAgICAgIFZhbHVlcyBvZiB0aGlzIHR5cGUgYXJlIGRlbm90ZWQgYXMgYSBzZXF1ZW5jZSBvZiBudW1lcmljYWwKICAgICAgbm9uLW5lZ2F0aXZlIHN1Yi1pZGVudGlmaWVyIHZhbHVlcy4gIEVhY2ggc3ViLWlkZW50aWZpZXIKICAgICAgdmFsdWUgTVVTVCBOT1QgZXhjZWVkIDJeMzItMSAoNDI5NDk2NzI5NSkuICBTdWItaWRlbnRpZmllcnMKICAgICAgYXJlIHNlcGFyYXRlZCBieSBzaW5nbGUgZG90cyBhbmQgd2l0aG91dCBhbnkgaW50ZXJtZWRpYXRlCiAgICAgIHdoaXRlc3BhY2UuCgogICAgICBUaGUgQVNOLjEgc3RhbmRhcmQgcmVzdHJpY3RzIHRoZSB2YWx1ZSBzcGFjZSBvZiB0aGUgZmlyc3QKICAgICAgc3ViLWlkZW50aWZpZXIgdG8gMCwgMSwgb3IgMi4gIEZ1cnRoZXJtb3JlLCB0aGUgdmFsdWUgc3BhY2UKICAgICAgb2YgdGhlIHNlY29uZCBzdWItaWRlbnRpZmllciBpcyByZXN0cmljdGVkIHRvIHRoZSByYW5nZQogICAgICAwIHRvIDM5IGlmIHRoZSBmaXJzdCBzdWItaWRlbnRpZmllciBpcyAwIG9yIDEuICBGaW5hbGx5LAogICAgICB0aGUgQVNOLjEgc3RhbmRhcmQgcmVxdWlyZXMgdGhhdCBhbiBvYmplY3QgaWRlbnRpZmllcgogICAgICBoYXMgYWx3YXlzIGF0IGxlYXN0IHR3byBzdWItaWRlbnRpZmllcnMuICBUaGUgcGF0dGVybgogICAgICBjYXB0dXJlcyB0aGVzZSByZXN0cmljdGlvbnMuCgogICAgICBBbHRob3VnaCB0aGUgbnVtYmVyIG9mIHN1Yi1pZGVudGlmaWVycyBpcyBub3QgbGltaXRlZCwKICAgICAgbW9kdWxlIGRlc2lnbmVycyBzaG91bGQgcmVhbGl6ZSB0aGF0IHRoZXJlIG1heSBiZQogICAgICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBzdGljayB3aXRoIHRoZSBTTUl2MiBsaW1pdCBvZiAxMjgKICAgICAgc3ViLWlkZW50aWZpZXJzLgoKICAgICAgVGhpcyB0eXBlIGlzIGEgc3VwZXJzZXQgb2YgdGhlIFNNSXYyIE9CSkVDVCBJREVOVElGSUVSIHR5cGUKICAgICAgc2luY2UgaXQgaXMgbm90IHJlc3RyaWN0ZWQgdG8gMTI4IHN1Yi1pZGVudGlmaWVycy4gIEhlbmNlLAogICAgICB0aGlzIHR5cGUgU0hPVUxEIE5PVCBiZSB1c2VkIHRvIHJlcHJlc2VudCB0aGUgU01JdjIgT0JKRUNUCiAgICAgIElERU5USUZJRVIgdHlwZTsgdGhlIG9iamVjdC1pZGVudGlmaWVyLTEyOCB0eXBlIFNIT1VMRCBiZQogICAgICB1c2VkIGluc3RlYWQuIjsKICAgIHJlZmVyZW5jZQogICAgICJJU085ODM0LTE6IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLS0gT3BlbiBTeXN0ZW1zCiAgICAgIEludGVyY29ubmVjdGlvbiAtLSBQcm9jZWR1cmVzIGZvciB0aGUgb3BlcmF0aW9uIG9mIE9TSQogICAgICBSZWdpc3RyYXRpb24gQXV0aG9yaXRpZXM6IEdlbmVyYWwgcHJvY2VkdXJlcyBhbmQgdG9wCiAgICAgIGFyY3Mgb2YgdGhlIEFTTi4xIE9iamVjdCBJZGVudGlmaWVyIHRyZWUiOwogIH0KCiAgdHlwZWRlZiBvYmplY3QtaWRlbnRpZmllci0xMjggewogICAgdHlwZSBvYmplY3QtaWRlbnRpZmllciB7CiAgICAgIHBhdHRlcm4gJ1xkKihcLlxkKil7MSwxMjd9JzsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgdHlwZSByZXByZXNlbnRzIG9iamVjdC1pZGVudGlmaWVycyByZXN0cmljdGVkIHRvIDEyOAogICAgICBzdWItaWRlbnRpZmllcnMuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgT0JKRUNUIElERU5USUZJRVIgdHlwZSBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMjU3ODogU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyCiAgICAgICAgICAgICAgICAoU01JdjIpIjsKICB9CgogIHR5cGVkZWYgeWFuZy1pZGVudGlmaWVyIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgbGVuZ3RoICIxLi5tYXgiOwogICAgICBwYXR0ZXJuICdbYS16QS1aX11bYS16QS1aMC05XC1fLl0qJzsKICAgICAgcGF0dGVybiAnLnwuLnxbXnhYXS4qfC5bXm1NXS4qfC4uW15sTF0uKic7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICAiQSBZQU5HIGlkZW50aWZpZXIgc3RyaW5nIGFzIGRlZmluZWQgYnkgdGhlICdpZGVudGlmaWVyJwogICAgICAgcnVsZSBpbiBTZWN0aW9uIDEyIG9mIFJGQyA2MDIwLiAgQW4gaWRlbnRpZmllciBtdXN0CiAgICAgICBzdGFydCB3aXRoIGFuIGFscGhhYmV0aWMgY2hhcmFjdGVyIG9yIGFuIHVuZGVyc2NvcmUKICAgICAgIGZvbGxvd2VkIGJ5IGFuIGFyYml0cmFyeSBzZXF1ZW5jZSBvZiBhbHBoYWJldGljIG9yCiAgICAgICBudW1lcmljIGNoYXJhY3RlcnMsIHVuZGVyc2NvcmVzLCBoeXBoZW5zLCBvciBkb3RzLgoKICAgICAgIEEgWUFORyBpZGVudGlmaWVyIE1VU1QgTk9UIHN0YXJ0IHdpdGggYW55IHBvc3NpYmxlCiAgICAgICBjb21iaW5hdGlvbiBvZiB0aGUgbG93ZXJjYXNlIG9yIHVwcGVyY2FzZSBjaGFyYWN0ZXIKICAgICAgIHNlcXVlbmNlICd4bWwnLiI7CiAgICByZWZlcmVuY2UKICAgICAgIlJGQyA2MDIwOiBZQU5HIC0gQSBEYXRhIE1vZGVsaW5nIExhbmd1YWdlIGZvciB0aGUgTmV0d29yawogICAgICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24gUHJvdG9jb2wgKE5FVENPTkYpIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiB0eXBlcyByZWxhdGVkIHRvIGRhdGUgYW5kIHRpbWUqKiovCgogIHR5cGVkZWYgZGF0ZS1hbmQtdGltZSB7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4gJ1xkezR9LVxkezJ9LVxkezJ9VFxkezJ9OlxkezJ9OlxkezJ9KFwuXGQrKT8nCiAgICAgICAgICAgICsgJyhafFtcK1wtXVxkezJ9OlxkezJ9KSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgZGF0ZS1hbmQtdGltZSB0eXBlIGlzIGEgcHJvZmlsZSBvZiB0aGUgSVNPIDg2MDEKICAgICAgc3RhbmRhcmQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGRhdGVzIGFuZCB0aW1lcyB1c2luZyB0aGUKICAgICAgR3JlZ29yaWFuIGNhbGVuZGFyLiAgVGhlIHByb2ZpbGUgaXMgZGVmaW5lZCBieSB0aGUKICAgICAgZGF0ZS10aW1lIHByb2R1Y3Rpb24gaW4gU2VjdGlvbiA1LjYgb2YgUkZDIDMzMzkuCgogICAgICBUaGUgZGF0ZS1hbmQtdGltZSB0eXBlIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZGF0ZVRpbWUgWE1MCiAgICAgIHNjaGVtYSB0eXBlIHdpdGggdGhlIGZvbGxvd2luZyBub3RhYmxlIGV4Y2VwdGlvbnM6CgogICAgICAoYSkgVGhlIGRhdGUtYW5kLXRpbWUgdHlwZSBkb2VzIG5vdCBhbGxvdyBuZWdhdGl2ZSB5ZWFycy4KCiAgICAgIChiKSBUaGUgZGF0ZS1hbmQtdGltZSB0aW1lLW9mZnNldCAtMDA6MDAgaW5kaWNhdGVzIGFuIHVua25vd24KICAgICAgICAgIHRpbWUgem9uZSAoc2VlIFJGQyAzMzM5KSB3aGlsZSAtMDA6MDAgYW5kICswMDowMCBhbmQgWgogICAgICAgICAgYWxsIHJlcHJlc2VudCB0aGUgc2FtZSB0aW1lIHpvbmUgaW4gZGF0ZVRpbWUuCgogICAgICAoYykgVGhlIGNhbm9uaWNhbCBmb3JtYXQgKHNlZSBiZWxvdykgb2YgZGF0YS1hbmQtdGltZSB2YWx1ZXMKICAgICAgICAgIGRpZmZlcnMgZnJvbSB0aGUgY2Fub25pY2FsIGZvcm1hdCB1c2VkIGJ5IHRoZSBkYXRlVGltZSBYTUwKICAgICAgICAgIHNjaGVtYSB0eXBlLCB3aGljaCByZXF1aXJlcyBhbGwgdGltZXMgdG8gYmUgaW4gVVRDIHVzaW5nCiAgICAgICAgICB0aGUgdGltZS1vZmZzZXQgJ1onLgoKICAgICAgVGhpcyB0eXBlIGlzIG5vdCBlcXVpdmFsZW50IHRvIHRoZSBEYXRlQW5kVGltZSB0ZXh0dWFsCiAgICAgIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyIHNpbmNlIFJGQyAzMzM5IHVzZXMgYSBkaWZmZXJlbnQKICAgICAgc2VwYXJhdG9yIGJldHdlZW4gZnVsbC1kYXRlIGFuZCBmdWxsLXRpbWUgYW5kIHByb3ZpZGVzCiAgICAgIGhpZ2hlciByZXNvbHV0aW9uIG9mIHRpbWUtc2VjZnJhYy4KCiAgICAgIFRoZSBjYW5vbmljYWwgZm9ybWF0IGZvciBkYXRlLWFuZC10aW1lIHZhbHVlcyB3aXRoIGEga25vd24gdGltZQogICAgICB6b25lIHVzZXMgYSBudW1lcmljIHRpbWUgem9uZSBvZmZzZXQgdGhhdCBpcyBjYWxjdWxhdGVkIHVzaW5nCiAgICAgIHRoZSBkZXZpY2UncyBjb25maWd1cmVkIGtub3duIG9mZnNldCB0byBVVEMgdGltZS4gIEEgY2hhbmdlIG9mCiAgICAgIHRoZSBkZXZpY2UncyBvZmZzZXQgdG8gVVRDIHRpbWUgd2lsbCBjYXVzZSBkYXRlLWFuZC10aW1lIHZhbHVlcwogICAgICB0byBjaGFuZ2UgYWNjb3JkaW5nbHkuICBTdWNoIGNoYW5nZXMgbWlnaHQgaGFwcGVuIHBlcmlvZGljYWxseQogICAgICBpbiBjYXNlIGEgc2VydmVyIGZvbGxvd3MgYXV0b21hdGljYWxseSBkYXlsaWdodCBzYXZpbmcgdGltZQogICAgICAoRFNUKSB0aW1lIHpvbmUgb2Zmc2V0IGNoYW5nZXMuICBUaGUgY2Fub25pY2FsIGZvcm1hdCBmb3IKICAgICAgZGF0ZS1hbmQtdGltZSB2YWx1ZXMgd2l0aCBhbiB1bmtub3duIHRpbWUgem9uZSAodXN1YWxseQogICAgICByZWZlcnJpbmcgdG8gdGhlIG5vdGlvbiBvZiBsb2NhbCB0aW1lKSB1c2VzIHRoZSB0aW1lLW9mZnNldAogICAgICAtMDA6MDAuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMzMzOTogRGF0ZSBhbmQgVGltZSBvbiB0aGUgSW50ZXJuZXQ6IFRpbWVzdGFtcHMKICAgICAgUkZDIDI1Nzk6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyCiAgICAgIFhTRC1UWVBFUzogWE1MIFNjaGVtYSBQYXJ0IDI6IERhdGF0eXBlcyBTZWNvbmQgRWRpdGlvbiI7CiAgfQoKICB0eXBlZGVmIHRpbWV0aWNrcyB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSB0aW1ldGlja3MgdHlwZSByZXByZXNlbnRzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdGhhdAogICAgICByZXByZXNlbnRzIHRoZSB0aW1lLCBtb2R1bG8gMl4zMiAoNDI5NDk2NzI5NiBkZWNpbWFsKSwgaW4KICAgICAgaHVuZHJlZHRocyBvZiBhIHNlY29uZCBiZXR3ZWVuIHR3byBlcG9jaHMuICBXaGVuIGEgc2NoZW1hCiAgICAgIG5vZGUgaXMgZGVmaW5lZCB0aGF0IHVzZXMgdGhpcyB0eXBlLCB0aGUgZGVzY3JpcHRpb24gb2YKICAgICAgdGhlIHNjaGVtYSBub2RlIGlkZW50aWZpZXMgYm90aCBvZiB0aGUgcmVmZXJlbmNlIGVwb2Nocy4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBUaW1lVGlja3MgdHlwZSBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMjU3ODogU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyCiAgICAgICAgICAgICAgICAoU01JdjIpIjsKICB9CgogIHR5cGVkZWYgdGltZXN0YW1wIHsKICAgIHR5cGUgeWFuZzp0aW1ldGlja3M7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgdGltZXN0YW1wIHR5cGUgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgYW4gYXNzb2NpYXRlZAogICAgICB0aW1ldGlja3Mgc2NoZW1hIG5vZGUgYXQgd2hpY2ggYSBzcGVjaWZpYyBvY2N1cnJlbmNlCiAgICAgIGhhcHBlbmVkLiAgVGhlIHNwZWNpZmljIG9jY3VycmVuY2UgbXVzdCBiZSBkZWZpbmVkIGluIHRoZQogICAgICBkZXNjcmlwdGlvbiBvZiBhbnkgc2NoZW1hIG5vZGUgZGVmaW5lZCB1c2luZyB0aGlzIHR5cGUuICBXaGVuCiAgICAgIHRoZSBzcGVjaWZpYyBvY2N1cnJlbmNlIG9jY3VycmVkIHByaW9yIHRvIHRoZSBsYXN0IHRpbWUgdGhlCiAgICAgIGFzc29jaWF0ZWQgdGltZXRpY2tzIGF0dHJpYnV0ZSB3YXMgemVybywgdGhlbiB0aGUgdGltZXN0YW1wCiAgICAgIHZhbHVlIGlzIHplcm8uICBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyBhbGwgdGltZXN0YW1wIHZhbHVlcwogICAgICB0byBiZSByZXNldCB0byB6ZXJvIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBhc3NvY2lhdGVkIHRpbWV0aWNrcwogICAgICBhdHRyaWJ1dGUgcmVhY2hlcyA0OTcrIGRheXMgYW5kIHdyYXBzIGFyb3VuZCB0byB6ZXJvLgoKICAgICAgVGhlIGFzc29jaWF0ZWQgdGltZXRpY2tzIHNjaGVtYSBub2RlIG11c3QgYmUgc3BlY2lmaWVkCiAgICAgIGluIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgc2NoZW1hIG5vZGUgdXNpbmcgdGhpcyB0eXBlLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIFRpbWVTdGFtcCB0ZXh0dWFsIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDI1Nzk6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiBnZW5lcmljIGFkZHJlc3MgdHlwZXMgKioqLwoKICB0eXBlZGVmIHBoeXMtYWRkcmVzcyB7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4gJyhbMC05YS1mQS1GXXsyfSg6WzAtOWEtZkEtRl17Mn0pKik/JzsKICAgIH0KCiAgICBkZXNjcmlwdGlvbgogICAgICJSZXByZXNlbnRzIG1lZGlhLSBvciBwaHlzaWNhbC1sZXZlbCBhZGRyZXNzZXMgcmVwcmVzZW50ZWQKICAgICAgYXMgYSBzZXF1ZW5jZSBvY3RldHMsIGVhY2ggb2N0ZXQgcmVwcmVzZW50ZWQgYnkgdHdvIGhleGFkZWNpbWFsCiAgICAgIG51bWJlcnMuICBPY3RldHMgYXJlIHNlcGFyYXRlZCBieSBjb2xvbnMuICBUaGUgY2Fub25pY2FsCiAgICAgIHJlcHJlc2VudGF0aW9uIHVzZXMgbG93ZXJjYXNlIGNoYXJhY3RlcnMuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgUGh5c0FkZHJlc3MgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyNTc5OiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBTTUl2MiI7CiAgfQoKICB0eXBlZGVmIG1hYy1hZGRyZXNzIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnWzAtOWEtZkEtRl17Mn0oOlswLTlhLWZBLUZdezJ9KXs1fSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgbWFjLWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElFRUUgODAyIE1BQyBhZGRyZXNzLgogICAgICBUaGUgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIHVzZXMgbG93ZXJjYXNlIGNoYXJhY3RlcnMuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgTWFjQWRkcmVzcyB0ZXh0dWFsIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiSUVFRSA4MDI6IElFRUUgU3RhbmRhcmQgZm9yIExvY2FsIGFuZCBNZXRyb3BvbGl0YW4gQXJlYQogICAgICAgICAgICAgICAgTmV0d29ya3M6IE92ZXJ2aWV3IGFuZCBBcmNoaXRlY3R1cmUKICAgICAgUkZDIDI1Nzk6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiBYTUwtc3BlY2lmaWMgdHlwZXMgKioqLwoKICB0eXBlZGVmIHhwYXRoMS4wIHsKICAgIHR5cGUgc3RyaW5nOwogICAgZGVzY3JpcHRpb24KICAgICAiVGhpcyB0eXBlIHJlcHJlc2VudHMgYW4gWFBBVEggMS4wIGV4cHJlc3Npb24uCgogICAgICBXaGVuIGEgc2NoZW1hIG5vZGUgaXMgZGVmaW5lZCB0aGF0IHVzZXMgdGhpcyB0eXBlLCB0aGUKICAgICAgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVtYSBub2RlIE1VU1Qgc3BlY2lmeSB0aGUgWFBhdGgKICAgICAgY29udGV4dCBpbiB3aGljaCB0aGUgWFBhdGggZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQuIjsKICAgIHJlZmVyZW5jZQogICAgICJYUEFUSDogWE1MIFBhdGggTGFuZ3VhZ2UgKFhQYXRoKSBWZXJzaW9uIDEuMCI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2Ygc3RyaW5nIHR5cGVzICoqKi8KCiAgdHlwZWRlZiBoZXgtc3RyaW5nIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKFswLTlhLWZBLUZdezJ9KDpbMC05YS1mQS1GXXsyfSkqKT8nOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiQSBoZXhhZGVjaW1hbCBzdHJpbmcgd2l0aCBvY3RldHMgcmVwcmVzZW50ZWQgYXMgaGV4IGRpZ2l0cwogICAgICBzZXBhcmF0ZWQgYnkgY29sb25zLiAgVGhlIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiB1c2VzCiAgICAgIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLiI7CiAgfQoKICB0eXBlZGVmIHV1aWQgewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuICdbMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS0nCiAgICAgICAgICAgICsgJ1swLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJBIFVuaXZlcnNhbGx5IFVuaXF1ZSBJRGVudGlmaWVyIGluIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24KICAgICAgZGVmaW5lZCBpbiBSRkMgNDEyMi4gIFRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gdXNlcwogICAgICBsb3dlcmNhc2UgY2hhcmFjdGVycy4KCiAgICAgIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiBhIFVVSUQgaW4gc3RyaW5nIHJlcHJlc2VudGF0aW9uOgogICAgICBmODFkNGZhZS03ZGVjLTExZDAtYTc2NS0wMGEwYzkxZTZiZjYKICAgICAgIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNDEyMjogQSBVbml2ZXJzYWxseSBVbmlxdWUgSURlbnRpZmllciAoVVVJRCkgVVJOCiAgICAgICAgICAgICAgICBOYW1lc3BhY2UiOwogIH0KCiAgdHlwZWRlZiBkb3R0ZWQtcXVhZCB7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4KICAgICAgICAnKChbMC05XXxbMS05XVswLTldfDFbMC05XVswLTldfDJbMC00XVswLTldfDI1WzAtNV0pXC4pezN9JwogICAgICArICcoWzAtOV18WzEtOV1bMC05XXwxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTVdKSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICAiQW4gdW5zaWduZWQgMzItYml0IG51bWJlciBleHByZXNzZWQgaW4gdGhlIGRvdHRlZC1xdWFkCiAgICAgICBub3RhdGlvbiwgaS5lLiwgZm91ciBvY3RldHMgd3JpdHRlbiBhcyBkZWNpbWFsIG51bWJlcnMKICAgICAgIGFuZCBzZXBhcmF0ZWQgd2l0aCB0aGUgJy4nIChmdWxsIHN0b3ApIGNoYXJhY3Rlci4iOwogIH0KfQo=
-o-ran-smo-teiv-cloud   urn:o-ran:smo-teiv-cloud        CLOUD   []      2024-07-15      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNsb3VkIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1jbG91ZCI7CiAgICBwcmVmaXggb3ItdGVpdi1jbG91ZDsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgaWV0Zi1nZW8tbG9jYXRpb24gewogICAgICAgIHByZWZpeCBnZW87CiAgICAgICAgcmVmZXJlbmNlICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucyI7CiAgICB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBDbG91ZCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgdG9wb2xvZ3kgZW50aXRpZXMgYW5kIHJlbGF0aW9ucyBpbiB0aGUKICAgICAgICBSQU4gQ0xPVUQgZG9tYWluLCB3aGljaCBjb21wcmlzZXMgY2xvdWQgaW5mcmFzdHJ1Y3R1cmUgYW5kCiAgICAgICAgZGVwbG95bWVudCBhc3BlY3RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIHRvcG9sb2d5IG1vZGVsLgoKICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgICAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgICAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgICAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICAgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTA1LTAyIiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDctMTUiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhpcyByZXZpc2lvbiBhbGlnbnMgTy1SQU4gV29yayBHcm91cCAxMCBTdGFnZSAyIFNwZWNpZmljYXRpb24gKE8tUkFOLldHMTAuVEUmSVYtQ0lNSS4wLVIwMDQudjAyLjAwKSI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gQ0xPVUQ7CgogICAgbGlzdCBDbG91ZGlmaWVkTkYgewogICAgICAgIGRlc2NyaXB0aW9uICJBIFJBTiBOZXR3b3JrIEZ1bmN0aW9uIHNvZnR3YXJlIHRoYXQgaXMgZGVwbG95ZWQgaW4gdGhlIE8tQ2xvdWQgdmlhIG9uZSBvciBtb3JlIE5GIERlcGxveW1lbnRzLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBDbG91ZGlmaWVkIE5GIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgTkZEZXBsb3ltZW50IHsKICAgICAgICBkZXNjcmlwdGlvbiAiQSBzb2Z0d2FyZSBkZXBsb3ltZW50IG9uIE8tQ2xvdWQgcmVzb3VyY2VzIHRoYXQgcmVhbGl6ZXMsIGFsbCBvciBwYXJ0IG9mLCBhIENsb3VkaWZpZWQgTkYuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgbGVhZiBuYW1lIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOYW1lIG9mIE5GIERlcGxveW1lbnQiOwogICAgICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBPQ2xvdWROYW1lc3BhY2UgewogICAgICAgIGRlc2NyaXB0aW9uICJPQ2xvdWROYW1lc3BhY2UgcHJvdmlkZSBhIG1lY2hhbmlzbSBmb3IgaXNvbGF0aW5nCiAgICAgICAgZ3JvdXBzIG9mIHJlc291cmNlcyB3aXRoaW4gYSBzaW5nbGUgY2x1c3Rlci4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG5hbWUgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5hbWUgb2YgQ2xvdWQgTmFtZXNwYWNlIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgTm9kZUNsdXN0ZXIgewogICAgICAgIGRlc2NyaXB0aW9uICJBIE5vZGVDbHVzdGVyIG1hbmFnZXMgYSBjb2xsZWN0aW9uIG9mIE5vZGVzLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBOb2RlIENsdXN0ZXIiOwogICAgICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBPQ2xvdWRTaXRlIHsKICAgICAgICBkZXNjcmlwdGlvbiAiUmVwcmVzZW50cyB0aGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdAogICAgICAgIGhvc3RzIHRoZSBORiBEZXBsb3ltZW50LiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBDbG91ZCBTaXRlIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CgogICAgICAgICAgICB1c2VzIGdlbzpnZW8tbG9jYXRpb247CiAgICAgICAgfQogICAgfQoKCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIENMT1VESUZJRURORl9DT01QUklTRVNfTkZERVBMT1lNRU5UIHsgLy8gMSB0byAxLi5uCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgY29tcHJpc2VkLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJDbG91ZGlmaWVkIE5GIGNvbXByaXNlcyBvZiB0aGVzZSBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBDbG91ZGlmaWVkTkY7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQoKICAgICAgICBsZWFmIGNvbXByaXNlZC1ieS1jbG91ZGlmaWVkTkYgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCBwYXJ0IG9mIENsb3VkaWZpZWQgTkYuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfREVQTE9ZRURfT05fT0NMT1VETkFNRVNQQUNFIHsgLy8gMS4ubiB0byAxLi5uCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgZGVwbG95ZWQtb24tb2Nsb3VkTmFtZXNwYWNlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5GIERlcGxveW1lbnQgZGVwbG95ZWQgb24gTy1DbG91ZCBOYW1lc3BhY2UuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIE5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBkZXBsb3llZC1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiT0Nsb3VkIE5hbWVzcGFjZSBkZXBsb3lzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE9DbG91ZE5hbWVzcGFjZTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBPQ0xPVUROQU1FU1BBQ0VfREVQTE9ZRURfT05fTk9ERUNMVVNURVIgeyAvLyAxLi5uIHRvIDEKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYgZGVwbG95ZWQtb24tbm9kZUNsdXN0ZXIgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DbG91ZCBOYW1lc3BhY2UgZGVwbG95ZWQgb24gTm9kZSBDbHVzdGVyLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBPQ2xvdWROYW1lc3BhY2U7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3QgZGVwbG95ZWQtb2Nsb3VkTmFtZXNwYWNlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5vZGUgQ2x1c3RlciBkZXBsb3lzIE8tQ2xvdWQgTmFtZXNwYWNlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBOb2RlQ2x1c3RlcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBOT0RFQ0xVU1RFUl9MT0NBVEVEX0FUX09DTE9VRFNJVEUgeyAvLyAxLi5uIHRvIDEuLm4KCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBsb2NhdGVkLWF0LW9jbG91ZFNpdGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTm9kZSBDbHVzdGVyIGxvY2F0ZWQgYXQgTy1DbG91ZCBTaXRlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBOb2RlQ2x1c3RlcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBsb2NhdGlvbi1vZi1vbm9kZUNsdXN0ZXIgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DbG91ZCBTaXRlIGlzIGxvY2F0aW9uIG9mIE5vZGUgQ2x1c3Rlci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgT0Nsb3VkU2l0ZTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9Cn0=
+o-ran-smo-teiv-cloud   urn:o-ran:smo-teiv-cloud        CLOUD   []      2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNsb3VkIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1jbG91ZCI7CiAgICBwcmVmaXggb3ItdGVpdi1jbG91ZDsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgaWV0Zi1nZW8tbG9jYXRpb24gewogICAgICAgIHByZWZpeCBnZW87CiAgICAgICAgcmVmZXJlbmNlICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucyI7CiAgICB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBDbG91ZCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgdG9wb2xvZ3kgZW50aXRpZXMgYW5kIHJlbGF0aW9ucyBpbiB0aGUKICAgICAgICBSQU4gQ0xPVUQgZG9tYWluLCB3aGljaCBjb21wcmlzZXMgY2xvdWQgaW5mcmFzdHJ1Y3R1cmUgYW5kCiAgICAgICAgZGVwbG95bWVudCBhc3BlY3RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIHRvcG9sb2d5IG1vZGVsLgoKICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgICAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgICAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgICAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICAgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTEwLTA0IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkFkZGVkIGdyb3VwaW5ncywgT3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycCBvciBPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwCiAgICAgICAgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdG9wb2xvZ3kgb2JqZWN0cy4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNS0wMiIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA3LTE1IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcmV2aXNpb24gYWxpZ25zIE8tUkFOIFdvcmsgR3JvdXAgMTAgU3RhZ2UgMiBTcGVjaWZpY2F0aW9uIChPLVJBTi5XRzEwLlRFJklWLUNJTUkuMC1SMDA0LnYwMi4wMCkiOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICBvci10ZWl2LXlleHQ6ZG9tYWluIENMT1VEOwoKICAgIGxpc3QgQ2xvdWRpZmllZE5GIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQSBSQU4gTmV0d29yayBGdW5jdGlvbiBzb2Z0d2FyZSB0aGF0IGlzIGRlcGxveWVkIGluIHRoZSBPLUNsb3VkIHZpYSBvbmUgb3IgbW9yZSBORiBEZXBsb3ltZW50cy4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG5hbWUgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5hbWUgb2YgQ2xvdWRpZmllZCBORiI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE5GRGVwbG95bWVudCB7CiAgICAgICAgZGVzY3JpcHRpb24gIkEgc29mdHdhcmUgZGVwbG95bWVudCBvbiBPLUNsb3VkIHJlc291cmNlcyB0aGF0IHJlYWxpemVzLCBhbGwgb3IgcGFydCBvZiwgYSBDbG91ZGlmaWVkIE5GLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBORiBEZXBsb3ltZW50IjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgT0Nsb3VkTmFtZXNwYWNlIHsKICAgICAgICBkZXNjcmlwdGlvbiAiT0Nsb3VkTmFtZXNwYWNlIHByb3ZpZGUgYSBtZWNoYW5pc20gZm9yIGlzb2xhdGluZwogICAgICAgIGdyb3VwcyBvZiByZXNvdXJjZXMgd2l0aGluIGEgc2luZ2xlIGNsdXN0ZXIuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgbGVhZiBuYW1lIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOYW1lIG9mIENsb3VkIE5hbWVzcGFjZSI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE5vZGVDbHVzdGVyIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQSBOb2RlQ2x1c3RlciBtYW5hZ2VzIGEgY29sbGVjdGlvbiBvZiBOb2Rlcy4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG5hbWUgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5hbWUgb2YgTm9kZSBDbHVzdGVyIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgT0Nsb3VkU2l0ZSB7CiAgICAgICAgZGVzY3JpcHRpb24gIlJlcHJlc2VudHMgdGhlIGluZnJhc3RydWN0dXJlIHRoYXQKICAgICAgICBob3N0cyB0aGUgTkYgRGVwbG95bWVudC4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG5hbWUgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5hbWUgb2YgQ2xvdWQgU2l0ZSI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdXNlcyBnZW86Z2VvLWxvY2F0aW9uOwogICAgICAgIH0KICAgIH0KCgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBDTE9VRElGSUVETkZfQ09NUFJJU0VTX05GREVQTE9ZTUVOVCB7IC8vIDEgdG8gMS4ubgoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IGNvbXByaXNlZC1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiQ2xvdWRpZmllZCBORiBjb21wcmlzZXMgb2YgdGhlc2UgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgQ2xvdWRpZmllZE5GOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1pbi1lbGVtZW50cyAxOwogICAgICAgIH0KCiAgICAgICAgbGVhZiBjb21wcmlzZWQtYnktY2xvdWRpZmllZE5GIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5GIERlcGxveW1lbnQgcGFydCBvZiBDbG91ZGlmaWVkIE5GLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTkZERVBMT1lNRU5UX0RFUExPWUVEX09OX09DTE9VRE5BTUVTUEFDRSB7IC8vIDEuLm4gdG8gMS4ubgoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IGRlcGxveWVkLW9uLW9jbG91ZE5hbWVzcGFjZSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJORiBEZXBsb3ltZW50IGRlcGxveWVkIG9uIE8tQ2xvdWQgTmFtZXNwYWNlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3QgZGVwbG95ZWQtbkZEZXBsb3ltZW50IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk9DbG91ZCBOYW1lc3BhY2UgZGVwbG95cyBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBPQ2xvdWROYW1lc3BhY2U7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgT0NMT1VETkFNRVNQQUNFX0RFUExPWUVEX09OX05PREVDTFVTVEVSIHsgLy8gMS4ubiB0byAxCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmIGRlcGxveWVkLW9uLW5vZGVDbHVzdGVyIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk8tQ2xvdWQgTmFtZXNwYWNlIGRlcGxveWVkIG9uIE5vZGUgQ2x1c3Rlci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgT0Nsb3VkTmFtZXNwYWNlOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KCiAgICAgICAgbGVhZi1saXN0IGRlcGxveWVkLW9jbG91ZE5hbWVzcGFjZSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOb2RlIENsdXN0ZXIgZGVwbG95cyBPLUNsb3VkIE5hbWVzcGFjZS4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgTm9kZUNsdXN0ZXI7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTk9ERUNMVVNURVJfTE9DQVRFRF9BVF9PQ0xPVURTSVRFIHsgLy8gMS4ubiB0byAxLi5uCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgbG9jYXRlZC1hdC1vY2xvdWRTaXRlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5vZGUgQ2x1c3RlciBsb2NhdGVkIGF0IE8tQ2xvdWQgU2l0ZS4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgTm9kZUNsdXN0ZXI7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3QgbG9jYXRpb24tb2Ytb25vZGVDbHVzdGVyIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk8tQ2xvdWQgU2l0ZSBpcyBsb2NhdGlvbiBvZiBOb2RlIENsdXN0ZXIuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE9DbG91ZFNpdGU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQp9
 o-ran-smo-teiv-common-yang-extensions  urn:o-ran:smo-teiv-common-yang-extensions       \N      []      2024-05-24      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMgewoKICB5YW5nLXZlcnNpb24gMS4xOwogIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMiOwogIHByZWZpeCBvci10ZWl2LXlleHQ7CgogIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgY29udGFjdCAiVGhlIEF1dGhvcnMiOwogIGRlc2NyaXB0aW9uCiAgIlRvcG9sb2d5IGFuZCBJbnZlbnRvcnkgWUFORyBleHRlbnNpb25zIG1vZGVsCgogIFRoaXMgbW9kZWwgY29udGFpbnMgZXh0ZW5zaW9ucyB0byB0aGUgWUFORyBsYW5ndWFnZSB0aGF0IHRvcG9sb2d5IGFuZAogIGludmVudG9yeSBtb2RlbHMgd2lsbCB1c2UgdG8gZGVmaW5lIGFuZCBhbm5vdGF0ZSB0eXBlcyBhbmQgcmVsYXRpb25zaGlwcy4KCiAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0wNS0yNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIGV4dGVuc2lvbiBiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgewogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJEZWZpbmVzIGEgYmktZGlyZWN0aW9uYWwgcmVsYXRpb25zaGlwIGluIHRoZSB0b3BvbG9neS4KCiAgICAgICAgICAgIEEgYmktZGlyZWN0aW9uYWwtYXNzb2NpYXRpb24gKEJEQSkgaXMgYSByZWxhdGlvbnNoaXAgY29tcHJpc2luZyBvZgogICAgICAgICAgICBhbiBBLXNpZGUgYW5kIGEgQi1zaWRlLiBUaGUgQS1zaWRlIGlzIGNvbnNpZGVyZWQgdGhlIG9yaWdpbmF0aW5nCiAgICAgICAgICAgIHNpZGUgb2YgdGhlIHJlbGF0aW9uc2hpcDsgdGhlIEItc2lkZSBpcyBjb25zaWRlcmVkIHRoZSB0ZXJtaW5hdGluZwogICAgICAgICAgICBzaWRlIG9mIHRoZSByZWxhdGlvbnNoaXAuIFRoZSBvcmRlciBvZiBBLXNpZGUgYW5kIEItc2lkZSBpcyBvZgogICAgICAgICAgICBpbXBvcnRhbmNlIGFuZCBNVVNUIE5PVCBiZSBjaGFuZ2VkIG9uY2UgZGVmaW5lZC4KCiAgICAgICAgICAgIEJvdGggQS1zaWRlIGFuZCBCLXNpZGUgYXJlIGRlZmluZWQgb24gYSB0eXBlLCBhbmQgYXJlIGdpdmVuIGEgcm9sZS4KICAgICAgICAgICAgQSB0eXBlIG1heSBoYXZlIG11bHRpcGxlIG9yaWdpbmF0aW5nIGFuZC9vciB0ZXJtaW5hdGluZyBzaWRlcyBvZiBhCiAgICAgICAgICAgIHJlbGF0aW9uc2hpcCwgYWxsIGRpc3Rpbmd1aXNoZWQgYnkgcm9sZSBuYW1lLgoKICAgICAgICAgICAgVGhlIHN0YXRlbWVudCBNVVNUIG9ubHkgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgdGhlICdtb2R1bGUnIHN0YXRlbWVudC4KICAgICAgICAgICAgTXVsdGlwbGUgJ2JpLWRpcmVjdGlvbmFsLXRvcG9sb2d5LXJlbGF0aW9uc2hpcCcgc3RhdGVtZW50cyBhcmUKICAgICAgICAgICAgYWxsb3dlZCBwZXIgcGFyZW50IHN0YXRlbWVudC4KCiAgICAgICAgICAgIFN1YnN0YXRlbWVudHMgdG8gdGhlICdiaS1kaXJlY3Rpb25hbC10b3BvbG9neS1yZWxhdGlvbnNoaXAnIGRlZmluZQogICAgICAgICAgICB0aGUgQS1zaWRlIGFuZCB0aGUgQi1zaWRlLCByZXNwZWN0aXZlbHksIGFuZCBvcHRpb25hbGx5IHByb3BlcnRpZXMKICAgICAgICAgICAgb2YgdGhlIHJlbGF0aW9uc2hpcC4gRGF0YSBub2RlcyBvZiB0eXBlcyAnbGVhZicgYW5kICdsZWFmLWxpc3QnIGFyZQogICAgICAgICAgICB1c2VkIGZvciB0aGlzIHB1cnBvc2UuIE9uZSBvZiB0aGUgZGF0YSBub2RlcyBNVVNUIGJlIGFubm90YXRlZCB3aXRoCiAgICAgICAgICAgIHRoZSAnYS1zaWRlJyBleHRlbnNpb247IGFub3RoZXIgZGF0YSBub2RlIE1VU1QgYmUgYW5ub3RhdGVkIHdpdGggdGhlCiAgICAgICAgICAgICdiLXNpZGUnIGV4dGVuc2lvbi4gT3RoZXIgZGF0YSBub2RlcyBkZWZpbmUgcHJvcGVydGllcyBvZiB0aGUKICAgICAgICAgICAgcmVsYXRpb25zaGlwLgoKICAgICAgICAgICAgVGhlIGFyZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoZSByZWxhdGlvbnNoaXAuIFRoZSByZWxhdGlvbnNoaXAgbmFtZQogICAgICAgICAgICBpcyBzY29wZWQgdG8gdGhlIG5hbWVzcGFjZSBvZiB0aGUgZGVjbGFyaW5nIG1vZHVsZSBhbmQgTVVTVCBiZQogICAgICAgICAgICB1bmlxdWUgd2l0aGluIHRoZSBzY29wZS4iOwoKICAgICAgICBhcmd1bWVudCByZWxhdGlvbnNoaXBOYW1lOwogICAgfQoKICAgIGV4dGVuc2lvbiBhU2lkZSB7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIkRlZmluZXMgdGhlIEEtc2lkZSBvZiBhIHJlbGF0aW9uc2hpcC4KCiAgICAgICAgICAgIFRoZSBzdGF0ZW1lbnQgTVVTVCBvbmx5IGJlIGEgc3Vic3RhdGVtZW50IG9mIGEgJ2xlYWYnIG9yICdsZWFmLWxpc3QnCiAgICAgICAgICAgIHN0YXRlbWVudCwgd2hpY2ggaXRzZWxmIG11c3QgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgdGhlCiAgICAgICAgICAgICd1bmktZGlyZWN0aW9uYWwtdG9wb2xvZ3ktcmVsYXRpb25zaGlwJyBzdGF0ZW1lbnQuCgogICAgICAgICAgICBUaGUgZGF0YSB0eXBlIG9mIHRoZSBwYXJlbnQgJ2xlYWYnIG9yICdsZWFmLWxpc3QnIE1VU1QgYmUKICAgICAgICAgICAgJ2luc3RhbmNlLWlkZW50aWZpZXInLiBDb25zdHJhaW50cyBNQVkgYmUgdXNlZCBhcyBwYXJ0IG9mIHRoZSBwYXJlbnQKICAgICAgICAgICAgJ2xlYWYnIG9yICdsZWFmLWxpc3QnIHRvIGVuZm9yY2UgY2FyZGluYWxpdHkuCgogICAgICAgICAgICBUaGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50ICdsZWFmJyBvciAnbGVhZi1saXN0JyBpcyB1c2VkIGFzIG5hbWUKICAgICAgICAgICAgb2YgdGhlIHJvbGUgb2YgdGhlIEEtc2lkZSBvZiB0aGUgcmVsYXRpb25zaGlwLiBUaGUgbmFtZSBvZiB0aGUgcm9sZQogICAgICAgICAgICBpcyBzY29wZWQgdG8gdGhlIHR5cGUgb24gd2hpY2ggdGhlIEEtc2lkZSBpcyBkZWZpbmVkIGFuZCBNVVNUIGJlCiAgICAgICAgICAgIHVuaXF1ZSB3aXRoaW4gdGhlIHNjb3BlLgoKICAgICAgICAgICAgV2hpbGUgdGhlIHBhcmVudCAnbGVhZicgb3IgJ2xlYWYtbGlzdCcgZG9lcyBub3QgcmVzdWx0IGluIGEgcHJvcGVydHkKICAgICAgICAgICAgb2YgdGhlIHJlbGF0aW9uc2hpcCwgaXQgaXMgUkVDT01NRU5ERUQgdG8gYXZvaWQgdXNpbmcgdGhlIG5hbWUgb2YgYW4KICAgICAgICAgICAgZXhpc3RpbmcgdHlwZSBwcm9wZXJ0eSBhcyByb2xlIG5hbWUgdG8gYXZvaWQgcG90ZW50aWFsIGFtYmlndWl0aWVzCiAgICAgICAgICAgIGJldHdlZW4gcHJvcGVydGllcyBvZiBhIHR5cGUsIGFuZCByb2xlcyBvZiBhIHJlbGF0aW9uc2hpcCBvbiB0aGUKICAgICAgICAgICAgdHlwZS4KCiAgICAgICAgICAgIFRoZSBhcmd1bWVudCBpcyB0aGUgbmFtZSBvZiB0aGUgdHlwZSBvbiB3aGljaCB0aGUgQS1zaWRlIHJlc2lkZXMuCiAgICAgICAgICAgIElmIHRoZSB0eXBlIGlzIGRlY2xhcmVkIGluIGFub3RoZXIgbW9kdWxlLCB0aGUgdHlwZSBtdXN0IGJlCiAgICAgICAgICAgIHByZWZpeGVkLCBhbmQgYSBjb3JyZXNwb25kaW5nICdpbXBvcnQnIHN0YXRlbWVudCBiZSB1c2VkIHRvIGRlY2xhcmUKICAgICAgICAgICAgdGhlIHByZWZpeC4iOwoKICAgICAgICBhcmd1bWVudCBhU2lkZVR5cGU7CiAgICB9CgogICAgZXh0ZW5zaW9uIGJTaWRlIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiRGVmaW5lcyB0aGUgQi1zaWRlIG9mIGEgcmVsYXRpb25zaGlwLgoKICAgICAgICAgICAgVGhlIHN0YXRlbWVudCBNVVNUIG9ubHkgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgYSAnbGVhZicgb3IgJ2xlYWYtbGlzdCcKICAgICAgICAgICAgc3RhdGVtZW50LCB3aGljaCBpdHNlbGYgbXVzdCBiZSBhIHN1YnN0YXRlbWVudCBvZiB0aGUKICAgICAgICAgICAgJ3VuaS1kaXJlY3Rpb25hbC10b3BvbG9neS1yZWxhdGlvbnNoaXAnIHN0YXRlbWVudC4KCiAgICAgICAgICAgIFRoZSBkYXRhIHR5cGUgb2YgdGhlIHBhcmVudCAnbGVhZicgb3IgJ2xlYWYtbGlzdCcgTVVTVCBiZQogICAgICAgICAgICAnaW5zdGFuY2UtaWRlbnRpZmllcicuIENvbnN0cmFpbnRzIE1BWSBiZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHBhcmVudAogICAgICAgICAgICAnbGVhZicgb3IgJ2xlYWYtbGlzdCcgdG8gZW5mb3JjZSBjYXJkaW5hbGl0eS4KCiAgICAgICAgICAgIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwYXJlbnQgJ2xlYWYnIG9yICdsZWFmLWxpc3QnIGlzIHVzZWQgYXMgbmFtZQogICAgICAgICAgICBvZiB0aGUgcm9sZSBvZiB0aGUgQi1zaWRlIG9mIHRoZSByZWxhdGlvbnNoaXAuIFRoZSBuYW1lIG9mIHRoZSByb2xlCiAgICAgICAgICAgIGlzIHNjb3BlZCB0byB0aGUgdHlwZSBvbiB3aGljaCB0aGUgQi1zaWRlIGlzIGRlZmluZWQgYW5kIE1VU1QgYmUKICAgICAgICAgICAgdW5pcXVlIHdpdGhpbiB0aGUgc2NvcGUuCgogICAgICAgICAgICBXaGlsZSB0aGUgcGFyZW50ICdsZWFmJyBvciAnbGVhZi1saXN0JyBkb2VzIG5vdCByZXN1bHQgaW4gYSBwcm9wZXJ0eQogICAgICAgICAgICBvZiB0aGUgcmVsYXRpb25zaGlwLCBpdCBpcyBSRUNPTU1FTkRFRCB0byBhdm9pZCB1c2luZyB0aGUgbmFtZSBvZiBhbgogICAgICAgICAgICBleGlzdGluZyB0eXBlIHByb3BlcnR5IGFzIHJvbGUgbmFtZSB0byBhdm9pZCBwb3RlbnRpYWwgYW1iaWd1aXRpZXMKICAgICAgICAgICAgYmV0d2VlbiBwcm9wZXJ0aWVzIG9mIGEgdHlwZSwgYW5kIHJvbGVzIG9mIGEgcmVsYXRpb25zaGlwIG9uIHRoZQogICAgICAgICAgICB0eXBlLgoKICAgICAgICAgICAgVGhlIGFyZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoZSB0eXBlIG9uIHdoaWNoIHRoZSBCLXNpZGUgcmVzaWRlcy4KICAgICAgICAgICAgSWYgdGhlIHR5cGUgaXMgZGVjbGFyZWQgaW4gYW5vdGhlciBtb2R1bGUsIHRoZSB0eXBlIG11c3QgYmUKICAgICAgICAgICAgcHJlZml4ZWQsIGFuZCBhIGNvcnJlc3BvbmRpbmcgJ2ltcG9ydCcgc3RhdGVtZW50IGJlIHVzZWQgdG8gZGVjbGFyZQogICAgICAgICAgICB0aGUgcHJlZml4LiI7CgogICAgICAgIGFyZ3VtZW50IGJTaWRlVHlwZTsKICAgIH0KCiAgICBleHRlbnNpb24gZG9tYWluIHsKICAgICAgICBkZXNjcmlwdGlvbiAiS2V5d29yZCB1c2VkIHRvIGNhcnJ5IGRvbWFpbiBpbmZvcm1hdGlvbi4iOwogICAgICAgIGFyZ3VtZW50IGRvbWFpbk5hbWU7CiAgICB9CgogICAgZXh0ZW5zaW9uIGxhYmVsIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGxhYmVsIGNhbiBiZSB1c2VkIHRvIGdpdmUgbW9kdWxlcyBhbmQgc3VibW9kdWxlcyBhIHNlbWFudGljCiAgICAgICAgICAgIHZlcnNpb24sIGluIGFkZGl0aW9uIHRvIHRoZWlyIHJldmlzaW9uLgoKICAgICAgICAgICAgVGhlIGZvcm1hdCBvZiB0aGUgbGFiZWwgaXMgJ3gueS56JyAtIGV4cHJlc3NlZCBhcyBwYXR0ZXJuLCBpdCBpcwogICAgICAgICAgICBbMC05XStcXC5bMC05XStcXC5bMC05XSsKCiAgICAgICAgICAgIFRoZSBzdGF0ZW1lbnQgTVVTVCBvbmx5IGJlIGEgc3Vic3RhdGVtZW50IG9mIHRoZSByZXZpc2lvbiBzdGF0ZW1lbnQuCiAgICAgICAgICAgIFplcm8gb3Igb25lIHJldmlzaW9uIGxhYmVsIHN0YXRlbWVudHMgcGVyIHBhcmVudCBzdGF0ZW1lbnQgYXJlCiAgICAgICAgICAgIGFsbG93ZWQuCgogICAgICAgICAgICBSZXZpc2lvbiBsYWJlbHMgTVVTVCBiZSB1bmlxdWUgYW1vbmdzdCBhbGwgcmV2aXNpb25zIG9mIGEgbW9kdWxlIG9yCiAgICAgICAgICAgIHN1Ym1vZHVsZS4iOwoKICAgICAgICBhcmd1bWVudCBzZW12ZXJzaW9uOwogICAgfQp9
 o-ran-smo-teiv-common-yang-types       urn:o-ran:smo-teiv-common-yang-types    \N      []      2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLXR5cGVzIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyI7CiAgICBwcmVmaXggb3ItdGVpdi10eXBlczsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7IHByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgXzNncHAtY29tbW9uLXlhbmctdHlwZXMgeyBwcmVmaXggdHlwZXMzZ3BwOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAiVG9wb2xvZ3kgYW5kIEludmVudG9yeSBjb21tb24gdHlwZXMgbW9kZWwKCiAgICBUaGlzIG1vZGVsIGNvbnRhaW5zIHJlLXVzYWJsZSBkYXRhIHR5cGVzIHRoYXQgdG9wb2xvZ3kgYW5kIGludmVudG9yeSBtb2RlbHMKICAgIHdpbGwgZnJlcXVlbnRseSB1c2UgYXMgcGFydCBvZiB0eXBlcyBhbmQgcmVsYXRpb25zaGlwcy4KCiAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0xMC0wNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJBZGRlZCBPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwIGFuZCBPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwCiAgICAgICAgZm9yIHNvdXJjZUlkcyBhbmQgcmVsaWFiaWxpdHlJbmRpY2F0b3IgdG8gbWV0YWRhdGEuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC40LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDUtMjQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCByZXZpc2lvbi4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjMuMDsKICAgIH0KCiAgICBncm91cGluZyBUb3BfR3JwX1R5cGUgewogICAgICAgIGRlc2NyaXB0aW9uICJHcm91cGluZyBjb250YWluaW5nIHRoZSBrZXkgYXR0cmlidXRlIGNvbW1vbiB0byBhbGwgdHlwZXMuCiAgICAgICAgICAgIEFsbCB0eXBlcyBNVVNUIHVzZSB0aGlzIGdyb3VwaW5nLiI7CgogICAgICAgIGxlYWYgaWQgewogICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRvcG9sb2d5IGVudGl0aWVzLiBSZXByZXNlbnRzIHRoZQogICAgICAgICAgICAgICAgRW50aXR5IEluc3RhbmNlIElkZW50aWZpZXIuIjsKICAgICAgICB9CiAgICB9CgogICAgY29udGFpbmVyIGRlY29yYXRvcnMgewogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGlzIGNvbnRhaW5lciBzZXJ2ZXMgYXMgZXh0ZW5zaW9uIHBvaW50IGZvciBhcHBsaWNhdGlvbnMgd2lzaGluZwogICAgICAgICAgICB0byBkZWZpbmUgdGhlaXIgb3duIGRlY29yYXRvcnMuIFRoaXMgaXMgZG9uZSB2aWEgYXVnbWVudGF0aW9ucy4gVGhleQogICAgICAgICAgICBjYW4gb25seSBiZSBkZWZpbmVkIGluIG5hbWUgdmFsdWUgcGFpci4KCiAgICAgICAgICAgIFRoaXMgaXMgYSBjb25zdW1lciBkYXRhIGFuZCBjYW4gYmUgYXR0YWNoZWQgdG8gVG9wb2xvZ3kgRW50aXR5IG9yCiAgICAgICAgICAgIFRvcG9sb2d5IFJlbGF0aW9uIGluc3RhbmNlLCBvdXRzaWRlIG9mIHRoZSBkZWNsYXJlZCBUb3BvbG9neSBFbnRpdHkKICAgICAgICAgICAgb3IgVG9wb2xvZ3kgUmVsYXRpb25zaGlwJ3MgYXR0cmlidXRlcy4gVGhpcyBjYW5ub3QgYmUgaW5zdGFudGlhdGVkLAogICAgICAgICAgICBhbmQgaXQgTVVTVCBOT1QgYmUgYXVnbWVudGVkIG9yIGRldmlhdGVkIGluIGFueSB3YXksIHVubGVzcyBzdGF0ZWQKICAgICAgICAgICAgb3RoZXJ3aXNlLiI7CiAgICB9CgogICAgbGVhZi1saXN0IGNsYXNzaWZpZXJzIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiQ29uc3VtZXIgZGVmaW5lZCB0YWdzIHRvIHRvcG9sb2d5IGVudGl0aWVzIGFuZCByZWxhdGlvbnNoaXBzLgoKICAgICAgICAgICAgVGhpcyBpcyBhIGNvbnN1bWVyIGRhdGEgYW5kIGNhbiBiZSBhdHRhY2hlZCB0byBUb3BvbG9neSBFbnRpdHkgb3IKICAgICAgICAgICAgVG9wb2xvZ3kgUmVsYXRpb24gaW5zdGFuY2UsIG91dHNpZGUgb2YgdGhlIGRlY2xhcmVkIFRvcG9sb2d5IEVudGl0eQogICAgICAgICAgICBvciBUb3BvbG9neSBSZWxhdGlvbnNoaXAncyBhdHRyaWJ1dGVzLiBUaGlzIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQsCiAgICAgICAgICAgIGFuZCBpdCBNVVNUIE5PVCBiZSBhdWdtZW50ZWQgb3IgZGV2aWF0ZWQgaW4gYW55IHdheSwgdW5sZXNzIHN0YXRlZAogICAgICAgICAgICBvdGhlcndpc2UuIjsKCiAgICAgICAgdHlwZSBpZGVudGl0eXJlZiB7IGJhc2UgY2xhc3NpZmllcjsgfQogICAgfQoKICAgIGdyb3VwaW5nIE9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnAgewogICAgICAgIGRlc2NyaXB0aW9uICJHcm91cGluZyB0byBpZGVudGlmeSBzb3VyY2VJZHMgb24gYSB0b3BvbG9neSBlbnRpdHkuIjsKCiAgICAgICAgbGVhZi1saXN0IHNvdXJjZUlkcyB7CgogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgIkFuIG9yZGVyZWQgbGlzdCBvZiBpZGVudGl0aWVzIHRoYXQgcmVwcmVzZW50IHRoZSBzZXQgb2YgbmF0aXZlCiAgICAgICAgICAgICAgICBzb3VyY2UgaWRlbnRpZmllcnMgZm9yIHBhcnRpY2lwYXRpbmcgZW50aXRpZXMuCgogICAgICAgICAgICAgICAgVGhpcyBtdXN0IGJlIGF0dGFjaGVkIHRvIHRoZSBUb3BvbG9neSBFbnRpdHkgaW5zdGFuY2UsIG91dHNpZGUgb2YgdGhlCiAgICAgICAgICAgICAgICBkZWNsYXJlZCBUb3BvbG9neSBFbnRpdHkncyBhdHRyaWJ1dGVzLiBUaGlzIGlzIGV4cG9zZWQgdG8gdGhlCiAgICAgICAgICAgICAgICBjb25zdW1lcnMgYW5kIGNhbiBvbmx5IGJlIHNldCBieSB0aGUgcmVzcG9uc2libGUgYWRhcHRlci4gVGhpcwogICAgICAgICAgICAgICAgY2Fubm90IGJlIGluc3RhbnRpYXRlZCwgYW5kIGl0IE1VU1QgTk9UIGJlIGF1Z21lbnRlZCBvciBkZXZpYXRlZAogICAgICAgICAgICAgICAgaW4gYW55IHdheSwgdW5sZXNzIHN0YXRlZCBvdGhlcndpc2UuIjsKCiAgICAgICAgICAgIHR5cGUgc291cmNlSWQ7CiAgICAgICAgICAgIG9yZGVyZWQtYnkgdXNlcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQoKICAgIGdyb3VwaW5nIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgewogICAgICAgIGRlc2NyaXB0aW9uICJHcm91cGluZyB0byBpZGVudGlmeSBzb3VyY2VJZHMgb24gYSB0b3BvbG9neSByZWxhdGlvbnNoaXAuIjsKCiAgICAgICAgbGVhZi1saXN0IHNvdXJjZUlkcyB7CgogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgIkFuIG9yZGVyZWQgbGlzdCBvZiBpZGVudGl0aWVzIHRoYXQgcmVwcmVzZW50IHRoZSBzZXQgb2YgbmF0aXZlCiAgICAgICAgICAgICAgICBzb3VyY2UgaWRlbnRpZmllcnMgZm9yIHBhcnRpY2lwYXRpbmcgZW50aXRpZXMgaW4gdGhlIHJlbGF0aW9uc2hpcC4KCiAgICAgICAgICAgICAgICBUaGlzIG11c3QgYmUgYXR0YWNoZWQgdG8gdGhlIFRvcG9sb2d5IFJlbGF0aW9uIGluc3RhbmNlLCBvdXRzaWRlIG9mIHRoZQogICAgICAgICAgICAgICAgZGVjbGFyZWQgVG9wb2xvZ3kgUmVsYXRpb25zaGlwJ3MgYXR0cmlidXRlcy4gVGhpcyBpcyBleHBvc2VkIHRvIHRoZQogICAgICAgICAgICAgICAgY29uc3VtZXJzIGFuZCBjYW4gb25seSBiZSBzZXQgYnkgdGhlIHJlc3BvbnNpYmxlIGFkYXB0ZXIuIFRoaXMKICAgICAgICAgICAgICAgIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQsIGFuZCBpdCBNVVNUIE5PVCBiZSBhdWdtZW50ZWQgb3IgZGV2aWF0ZWQgaW4KICAgICAgICAgICAgICAgIGFueSB3YXksIHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNlLiI7CgogICAgICAgICAgICB0eXBlIHNvdXJjZUlkOwogICAgICAgICAgICBvcmRlcmVkLWJ5IHVzZXI7CiAgICAgICAgICAgIG1pbi1lbGVtZW50cyAyOwogICAgICAgIH0KICAgIH0KCiAgICBjb250YWluZXIgbWV0YWRhdGEgewogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGlzIGNvbnRhaW5lciBzZXJ2ZXMgYXMgYW4gZXh0ZW5zaW9uIHBvaW50IHRvIGRlZmluZSBtZXRhZGF0YS4gVGhleQogICAgICAgICAgICBjYW4gb25seSBiZSBkZWZpbmVkIGluIG5hbWUgdmFsdWUgcGFpcnMuCgogICAgICAgICAgICBUaGlzIG11c3QgYmUgYXR0YWNoZWQgdG8gdGhlIFRvcG9sb2d5IEVudGl0eSBvciBUb3BvbG9neSBSZWxhdGlvbiBpbnN0YW5jZSwKICAgICAgICAgICAgb3V0c2lkZSBvZiB0aGUgZGVjbGFyZWQgVG9wb2xvZ3kgRW50aXR5IG9yIFRvcG9sb2d5IFJlbGF0aW9uc2hpcCdzCiAgICAgICAgICAgIGF0dHJpYnV0ZXMuIFRoaXMgaXMgZXhwb3NlZCB0byB0aGUgY29uc3VtZXJzIGFuZCBjYW4gb25seSBiZSBzZXQgYnkKICAgICAgICAgICAgdGhlIHJlc3BvbnNpYmxlIGFkYXB0ZXIuIFRoaXMgY2Fubm90IGJlIGluc3RhbnRpYXRlZCwgYW5kIGl0IE1VU1QgTk9UIGJlCiAgICAgICAgICAgIGF1Z21lbnRlZCBvciBkZXZpYXRlZCBpbiBhbnkgd2F5LCB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZS4iOwoKICAgICAgICBsZWFmIHJlbGlhYmlsaXR5SW5kaWNhdG9yIHsKICAgICAgICAgICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgICAgICAgICAgICBlbnVtIE9LIHsKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIGRhdGEgaXMgaW4gYWxpZ25tZW50IHdpdGggdGhlIHNvdXJjZSBvZiB0cnV0aCwKICAgICAgICAgICAgICAgICAgICBhcyBmYXIgYXMgVG9wb2xvZ3kgRXhwb3N1cmUgSGFuZGxpbmcgaXMgYXdhcmUuIjsKICAgICAgICAgICAgICAgICAgICB2YWx1ZSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZW51bSBSRVNUT1JFRCB7CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBkYXRhIHdhcyByZXN0b3JlZCBmcm9tIGJhY2t1cCBhbmQgdGhlIHJlc3BvbnNpYmxlCiAgICAgICAgICAgICAgICAgICAgYWRhcHRlcnMgYXJlIGNoZWNraW5nIHRvIGVuc3VyZSB0aGUgZGF0YSBpcyBjdXJyZW50LiI7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVudW0gQURWSVNFRCB7CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkVudGl0eSBpbXBsaWNpdGx5IGNyZWF0ZWQgYnkgVG9wb2xvZ3kgRXhwb3N1cmUgSGFuZGxpbmcgYW5kCiAgICAgICAgICAgICAgICAgICAgcG90ZW50aWFsbHkgbm90IGFsaWduZWQgd2l0aCB0aGUgc291cmNlIG9mIHRydXRoLiI7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBpZGVudGl0eSBjbGFzc2lmaWVyIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIGNsYXNzaWZpZXIgaXMgdXNlZCBhcyBhIGJhc2UgdG8gcHJvdmlkZSBhbGwgY2xhc3NpZmllcnMKICAgICAgICB3aXRoIGlkZW50aXR5LiAiOwogICAgfQoKICAgIHR5cGVkZWYgc291cmNlSWQgewogICAgICAgIGRlc2NyaXB0aW9uICJBbiBpZGVudGl0eSB0aGF0IHJlcHJlc2VudHMgYSBuYXRpdmUgaWRlbnRpZmllciBvZiBhIHRvcG9sb2d5IGVudGl0eS4iOwogICAgICAgIHR5cGUgc3RyaW5nOwogICAgfQp9
 o-ran-smo-teiv-equipment       urn:o-ran:smo-teiv-equipment    EQUIPMENT       []      2024-10-21      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWVxdWlwbWVudCB7CiAgICB5YW5nLXZlcnNpb24gMS4xOwogICAgbmFtZXNwYWNlICJ1cm46by1yYW46c21vLXRlaXYtZXF1aXBtZW50IjsKICAgIHByZWZpeCBvci10ZWl2LWVxdWlwOwoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyB7cHJlZml4IG9yLXRlaXYtdHlwZXM7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7cHJlZml4IG9yLXRlaXYteWV4dDsgfQoKICAgIGltcG9ydCBpZXRmLWdlby1sb2NhdGlvbiB7CiAgICAgICAgcHJlZml4IGdlbzsKICAgICAgICByZWZlcmVuY2UgIlJGQyA5MTc5OiBBIFlBTkcgR3JvdXBpbmcgZm9yIEdlb2dyYXBoaWMgTG9jYXRpb25zIjsKICAgIH0KCiAgICBvcmdhbml6YXRpb24gIk9SQU4iOwogICAgY29udGFjdCAiVGhlIEF1dGhvcnMiOwogICAgZGVzY3JpcHRpb24KICAgICJSQU4gRXF1aXBtZW50IHRvcG9sb2d5IG1vZGVsLgoKICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIHRvcG9sb2d5IGVudGl0aWVzIGFuZCByZWxhdGlvbnMgaW4gdGhlCiAgICBSQU4gRXF1aXBtZW50IGRvbWFpbiwgd2hpY2ggaXMgbW9kZWxsZWQgdG8gdW5kZXJzdGFuZCB0aGUgcGh5c2ljYWwKICAgIGxvY2F0aW9uIG9mIGVxdWlwbWVudCBzdWNoIGFzIGFudGVubmFzIGFzc29jaWF0ZWQgd2l0aCBhIGNlbGwvY2FycmllcgogICAgYW5kIHRoZWlyIHJlbGV2YW50IHByb3BlcnRpZXMgZS5nLiB0aWx0LCBtYXggcG93ZXIgZXRjLgoKICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMjEiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiRGVwcmVjYXRlIEFudGVubmFNb2R1bGUgYXR0cmlidXRlIGFudGVubmFCZWFtV2lkdGguCiAgICAgICAgVG8gYmUgcmVwbGFjZWQgYnkgaG9yaXpvbnRhbEJlYW1XaWR0aCBhbmQgdmVydGljYWxCZWFtV2lkdGguIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC42LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDgiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgYXppbXV0aCBhdHRyaWJ1dGUgZm9yIEFudGVubmFNb2R1bGUuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC41LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmdzLCBPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwIG9yIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAKICAgICAgICB0byB0aGUgY29ycmVzcG9uZGluZyB0b3BvbG9neSBvYmplY3RzLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA1LTI0IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmRvbWFpbiBFUVVJUE1FTlQ7CgogICAgbGlzdCBBbnRlbm5hTW9kdWxlIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQW4gQW50ZW5uYSBNb2R1bGUgcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgYXNwZWN0IG9mIGFuCiAgICAgICAgYW50ZW5uYS4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIGFudGVubmFNb2RlbE51bWJlciB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVmVuZG9yLXNwZWNpZmljIGFudGVubmEgbW9kZWwgaWRlbnRpZmllci4gVGhpcwogICAgICAgICAgICAgICAgYXR0cmlidXRlIGlzIHBhcnQgb2YgQUlTRyB2MyBBREIgU3RhbmRhcmQgYW5kIGhhcyBubwogICAgICAgICAgICAgICAgb3BlcmF0aW9uYWwgaW1wYWN0LiI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBtZWNoYW5pY2FsQW50ZW5uYUJlYXJpbmcgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgYmVhcmluZyBvbiBhbnRlbm5hIHN1YnVuaXQgd2hlcmUgYW50ZW5uYQogICAgICAgICAgICAgICAgdW5pdCBpcyBpbnN0YWxsZWQuIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgbWVjaGFuaWNhbEFudGVubmFUaWx0IHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJUaGUgZml4ZWQgYW50ZW5uYSB0aWx0IG9mIHRoZSBpbnN0YWxsYXRpb24sIGRlZmluZWQKICAgICAgICAgICAgICAgIGFzIHRoZSBpbmNsaW5hdGlvbiBvZiB0aGUgYW50ZW5uYSBlbGVtZW50IHJlc3BlY3QgdG8gdGhlCiAgICAgICAgICAgICAgICB2ZXJ0aWNhbCBwbGFuZS4gSXQgaXMgYSBzaWduZWQgdmFsdWUuIFBvc2l0aXZlIGluZGljYXRlcwogICAgICAgICAgICAgICAgZG93bnRpbHQsIGFuZCBuZWdhdGl2ZSBpbmRpY2F0ZXMgdXB0aWx0LiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIHBvc2l0aW9uV2l0aGluU2VjdG9yIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJBbnRlbm5hIHVuaXQgcG9zaXRpb24gd2l0aGluIHNlY3Rvci4gVGhpcyBhdHRyaWJ1dGUKICAgICAgICAgICAgICAgIGlzIHBhcnQgb2YgQUlTRyB2MyBBREIgU3RhbmRhcmQgYW5kIGhhcyBubyBvcGVyYXRpb25hbAogICAgICAgICAgICAgICAgaW1wYWN0LiI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiB0b3RhbFRpbHQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRvdGFsIGFudGVubmEgZWxldmF0aW9uIGluY2x1ZGluZyB0aGUgaW5zdGFsbGVkCiAgICAgICAgICAgICAgICB0aWx0IGFuZCB0aGUgdGlsdCBhcHBsaWVkIGJ5IHRoZSBSZW1vdGUgRWxlY3RyaWNhbAogICAgICAgICAgICAgICAgVGlsdCAoUkVUKS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBlbGVjdHJpY2FsQW50ZW5uYVRpbHQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkVsZWN0cmljYWxseS1jb250cm9sbGVkIHRpbHQgb2YgbWFpbiBiZWFtIG1heGltdW0KICAgICAgICAgICAgICAgIHdpdGggcmVzcGVjdCB0byBkaXJlY3Rpb24gb3J0aG9nb25hbCB0byBhbnRlbm5hIGVsZW1lbnQKICAgICAgICAgICAgICAgIGF4aXMgKHNlZSAzR1BQIFRTIDI1LjQ2NikuIFZhbHVlIGlzIHNpZ25lZDsgdGlsdCBkb3duIGlzCiAgICAgICAgICAgICAgICBwb3NpdGl2ZSwgdGlsdCB1cCBpcyBuZWdhdGl2ZS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZi1saXN0IGFudGVubmFCZWFtV2lkdGggewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBhbmd1bGFyIHNwYW4gb2YgdGhlIG1haW4gbG9iZSBvZiB0aGUgYW50ZW5uYQogICAgICAgICAgICAgICAgcmFkaWF0aW9uIHBhdHRlcm4gaW4gdGhlIGhvcml6b250YWwgcGxhbmUuIE1lYXN1cmVkIGluCiAgICAgICAgICAgICAgICBkZWdyZWVzLgoKICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ6IFNpbmNlIDI0LlE0LiBSZXBsYWNlZCBieSBBbnRlbm5hTW9kdWxlOjpob3Jpem9udGFsQmVhbVdpZHRoCiAgICAgICAgICAgICAgICBhbmQgQW50ZW5uYU1vZHVsZTo6dmVydGljYWxCZWFtV2lkdGguIFBsYW5uZWQgdG8gYmUgcmVtb3ZlZC4iOwogICAgICAgICAgICAgICAgdHlwZSB1aW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgaG9yaXpvbnRhbEJlYW1XaWR0aCAgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBhbmd1bGFyIHNwYW4gb2YgdGhlIG1haW4gbG9iZSBvZiB0aGUgYW50ZW5uYQogICAgICAgICAgICAgICAgcmFkaWF0aW9uIHBhdHRlcm4gaW4gdGhlIGhvcml6b250YWwgcGxhbmUuIjsKICAgICAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgMTsKICAgICAgICAgICAgICAgICAgICByYW5nZSAiMC4uMzYwIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHVuaXRzICJkZWNpbWFsIGRlZ3JlZXMiOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIHZlcnRpY2FsQmVhbVdpZHRoICAgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBhbmd1bGFyIHNwYW4gb2YgdGhlIG1haW4gbG9iZSBvZiB0aGUgYW50ZW5uYQogICAgICAgICAgICAgICAgcmFkaWF0aW9uIHBhdHRlcm4gaW4gdGhlIHZlcnRpY2FsIHBsYW5lLiI7CiAgICAgICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDE7CiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgIjAuLjM2MCI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bml0cyAiZGVjaW1hbCBkZWdyZWVzIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBhemltdXRoIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJUaGUgdmFsdWUgb2YgdGhlIGF6aW11dGggb2YgdGhlIEFudGVubmEgTW9kdWxlLiI7CiAgICAgICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDE7CiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgIjAuLjM2MCI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bml0cyAiZGVjaW1hbCBkZWdyZWVzIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdXNlcyBnZW86Z2VvLWxvY2F0aW9uOwogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IFNpdGUgewogICAgICAgIGRlc2NyaXB0aW9uICJBIHNpdGUgaXMgYSBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSBhbiBlcXVpcG1lbnQgY2FuIGJlCiAgICAgICAgaW5zdGFsbGVkLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBTaXRlIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CgogICAgICAgICAgICB1c2VzIGdlbzpnZW8tbG9jYXRpb247CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgQU5URU5OQU1PRFVMRV9JTlNUQUxMRURfQVRfU0lURSB7IC8vIDAuLm4gdG8gMC4uMQoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBBbnRlbm5hTW9kdWxlIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgU2l0ZSB0eXBlLgogICAgICAgICAgICBUaGUgU2l0ZSByZXByZXNlbnRzIHRoZSBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgQW50ZW5uYU1vZHVsZSBpcyBpbnN0YWxsZWQuCiAgICAgICAgICAgIEFuIEFudGVubmFNb2R1bGUgaW5zdGFuY2UgY2FuIG9ubHkgYmUgaW5zdGFsbGVkIGF0IG9uZSBTaXRlLgogICAgICAgICAgICBBIFNpdGUgaW5zdGFuY2UgY2FuIGhhdmUgbWFueSBpbnN0YWxsZWQgQW50ZW5uYU1vZHVsZXMuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmIGluc3RhbGxlZC1hdC1zaXRlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgTW9kdWxlIGluc3RhbGxlZCBhdCBTaXRlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBBbnRlbm5hTW9kdWxlOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3QgaW5zdGFsbGVkLWFudGVubmFNb2R1bGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiU2l0ZSB3aGVyZSBBbnRlbm5hIE1vZHVsZSBpcyBpbnN0YWxsZWQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIFNpdGU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9Cn0=
 o-ran-smo-teiv-oam     urn:o-ran:smo-teiv-oam  OAM     []      2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LW9hbSB7CiAgICB5YW5nLXZlcnNpb24gMS4xOwogICAgbmFtZXNwYWNlICJ1cm46by1yYW46c21vLXRlaXYtb2FtIjsKICAgIHByZWZpeCBvci10ZWl2LW9hbTsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMgeyBwcmVmaXggb3ItdGVpdi10eXBlczsgfQoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy1leHRlbnNpb25zIHsgcHJlZml4IG9yLXRlaXYteWV4dDsgfQoKICAgIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgICBjb250YWN0ICJUaGUgQXV0aG9ycyI7CiAgICBkZXNjcmlwdGlvbiAKICAgICJSQU4gTyZNIHRvcG9sb2d5IG1vZGVsLgoKICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIHRvcG9sb2d5IGVudGl0aWVzIGFuZCByZWxhdGlvbnMgaW4gdGhlCiAgICBSQU4gTyZNIGRvbWFpbiwgd2hpY2ggYXJlIGludGVuZGVkIHRvIHJlcHJlc2VudCBtYW5hZ2VtZW50IHN5c3RlbXMKICAgIGFuZCBtYW5hZ2VtZW50IGludGVyZmFjZXMuCgogICAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNS0yNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gT0FNOwoKICAgIGxpc3QgTWFuYWdlZEVsZW1lbnQgewogICAgICAgIGRlc2NyaXB0aW9uICJBIE1hbmFnZWQgRWxlbWVudCAoTUUpIGlzIGEgbm9kZSBpbnRvIGEgdGVsZWNvbW11bmljYXRpb24KICAgICAgICBuZXR3b3JrIHByb3ZpZGluZyBzdXBwb3J0IGFuZC9vciBzZXJ2aWNlIHRvIHN1YnNjcmliZXJzLiBBbiBNRQogICAgICAgIGNvbW11bmljYXRlcyB3aXRoIGEgbWFuYWdlciBhcHBsaWNhdGlvbiAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkKICAgICAgICBvdmVyIG9uZSBvciBtb3JlIGludGVyZmFjZXMgZm9yIHRoZSBwdXJwb3NlIG9mIGJlaW5nIG1vbml0b3JlZAogICAgICAgIGFuZC9vciBjb250cm9sbGVkLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwogICAgfQp9
 o-ran-smo-teiv-ran     urn:o-ran:smo-teiv-ran  RAN     []      2024-10-08      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJhbiB7CiAgICB5YW5nLXZlcnNpb24gMS4xOwogICAgbmFtZXNwYWNlICJ1cm46by1yYW46c21vLXRlaXYtcmFuIjsKICAgIHByZWZpeCBvci10ZWl2LXJhbjsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgXzNncHAtY29tbW9uLXlhbmctdHlwZXMgeyBwcmVmaXggdHlwZXMzZ3BwOyB9CgogICAgaW1wb3J0IGlldGYtZ2VvLWxvY2F0aW9uIHsKICAgICAgICBwcmVmaXggZ2VvOwogICAgICAgIHJlZmVyZW5jZSAiUkZDIDkxNzk6IEEgWUFORyBHcm91cGluZyBmb3IgR2VvZ3JhcGhpYyBMb2NhdGlvbnMiOwogICAgfQoKICAgIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgICBjb250YWN0ICJUaGUgQXV0aG9ycyI7CiAgICBkZXNjcmlwdGlvbgogICAgICAgICJSQU4gTG9naWNhbCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgdG9wb2xvZ3kgZW50aXRpZXMgYW5kIHJlbGF0aW9ucyBpbiB0aGUKICAgICAgICBSQU4gTG9naWNhbCBkb21haW4sIHdoaWNoIHJlcHJlc2VudHMgdGhlIGZ1bmN0aW9uYWwgY2FwYWJpbGl0eQogICAgICAgIG9mIHRoZSBkZXBsb3llZCBSQU4gdGhhdCBhcmUgcmVsZXZhbnQgdG8gckFwcHMgdXNlIGNhc2VzLgoKICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgICAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgICAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgICAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICAgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTEwLTA4IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkFkZGVkIHJhbmdlIGZvciBhemltdXRoIGF0dHJpYnV0ZSBvZiBTZWN0b3IuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC42LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmdzLCBPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwIG9yIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAKICAgICAgICB0byB0aGUgY29ycmVzcG9uZGluZyB0b3BvbG9neSBvYmplY3QuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC41LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDctMTUiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhpcyByZXZpc2lvbiBhbGlnbnMgTy1SQU4gV29yayBHcm91cCAxMCBTdGFnZSAyIFNwZWNpZmljYXRpb24gKE8tUkFOLldHMTAuVEUmSVYtQ0lNSS4wLVIwMDQudjAyLjAwKSI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA1LTI0IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmRvbWFpbiBSQU47CgogICAgbGlzdCBPUlVGdW5jdGlvbiB7CiAgICAgICAgZGVzY3JpcHRpb24gIk8tUkFOIFJhZGlvIFVuaXQgKE8tUlUpLgoKICAgICAgICBBIGxvZ2ljYWwgbm9kZSBob3N0aW5nIExvdy1QSFkgbGF5ZXIgYW5kIFJGIHByb2Nlc3NpbmcgYmFzZWQgb24gYQogICAgICAgIGxvd2VyIGxheWVyIGZ1bmN0aW9uYWwgc3BsaXQuICBUaGlzIGlzIHNpbWlsYXIgdG8gM0dQUOKAmXMg4oCcVFJQ4oCdIG9yCiAgICAgICAg4oCcUlJI4oCdIGJ1dCBtb3JlIHNwZWNpZmljIGluIGluY2x1ZGluZyB0aGUgTG93LVBIWSBsYXllciAoRkZUL2lGRlQsCiAgICAgICAgUFJBQ0ggZXh0cmFjdGlvbikuIFRoZSBPLVJVIHRlcm1pbmF0ZXMgdGhlIE9wZW4gRnJvbnRoYXVsIGludGVyZmFjZQogICAgICAgIChhbHNvIGtub3duIGFzIExMUyBpbnRlcmZhY2UpIGFzIHdlbGwgYXMgTG93LVBIWSBmdW5jdGlvbnMgb2YgdGhlCiAgICAgICAgcmFkaW8gaW50ZXJmYWNlIHRvd2FyZHMgdGhlIFVFLiBUaGlzIGlzIGRlcGxveWVkIGFzIGEgUE5GLiBUaGUgTy1SVQogICAgICAgIHRlcm1pbmF0ZXMgdGhlIE9wZW4gRnJvbnRoYXVsIE0tUGxhbmUgaW50ZXJmYWNlIHRvd2FyZHMgdGhlIE8tRFUKICAgICAgICBhbmQgU01PLgoKICAgICAgICBOb3RlOiBJbiBUb3BvbG9neSwgeW91IGNhbiBjcmVhdGUsIHJlYWQsIHVwZGF0ZSwgYW5kIGRlbGV0ZQogICAgICAgIHRoZSBPLVJVIG9iamVjdC4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG9ydUlkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIE8tUlUgd2l0aGluIGEgT1JVRnVuY3Rpb24iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQ2NDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE5lYXJSVFJJQ0Z1bmN0aW9uIHsKICAgICAgICBkZXNjcmlwdGlvbiAiTmVhci1SZWFsLVRpbWUgUkFOIEludGVsbGlnZW50IENvbnRyb2xsZXIgKE5lYXItUlQgUklDKS4KCiAgICAgICAgQW4gTy1SQU4gTmV0d29yayBGdW5jdGlvbiAoTkYpIHRoYXQgZW5hYmxlcyBuZWFyLXJlYWwtdGltZSBjb250cm9sCiAgICAgICAgYW5kIG9wdGltaXphdGlvbiBvZiBSQU4gZWxlbWVudHMgYW5kIHJlc291cmNlcyB2aWEgZmluZS1ncmFpbmVkCiAgICAgICAgZGF0YSBjb2xsZWN0aW9uIGFuZCBhY3Rpb25zIG92ZXIgRTIgaW50ZXJmYWNlLiBJdCBtYXkgaW5jbHVkZQogICAgICAgIEFJL01MIChBcnRpZmljaWFsIEludGVsbGlnZW5jZSAvIE1hY2hpbmUgTGVhcm5pbmcpIHdvcmtmbG93CiAgICAgICAgaW5jbHVkaW5nIG1vZGVsIHRyYWluaW5nLCBpbmZlcmVuY2UsIGFuZCB1cGRhdGVzLgoKICAgICAgICBOb3RlOiBJbiBUb3BvbG9neSwgeW91IGNhbiBjcmVhdGUsIHJlYWQsIHVwZGF0ZSwgYW5kIGRlbGV0ZQogICAgICAgIHRoZSBOZWFyLVJUIFJJQyBvYmplY3QuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgbGVhZiBuZWFyUnRSaWNJZCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBOZWFyLVJUIFJJQyB3aXRoaW4gYSBOZWFyUlRSSUNGdW5jdGlvbiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDY0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBjb250YWluZXIgcExNTklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJQTE1OIGlkZW50aWZpZXIgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGdsb2JhbCBSQU4KICAgICAgICAgICAgICAgIG5vZGUgaWRlbnRpdHkiOwogICAgICAgICAgICAgICAgdXNlcyB0eXBlczNncHA6UExNTklkOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgT0RVRnVuY3Rpb24gewogICAgICAgIGRlc2NyaXB0aW9uICJPLVJBTiBEaXN0cmlidXRlZCBVbml0IChPLURVKS4KCiAgICAgICAgVGhlIE8tRFUgaXMgYW4gTy1SQU4gTkYgaW4gdGhlIE8tUkFOIEFyY2hpdGVjdHVyZS4gQW4gTy1EVSwgY29tYmluZWQKICAgICAgICB3aXRoIG9uZSBvciBtb3JlIE8tUlUocykgY29ubmVjdGVkIHRvIGl0LCBzdXBwb3J0cyBhbmQgaXMgZnVsbHkKICAgICAgICBjb21wYXRpYmxlIHdpdGggdGhlIGZ1bmN0aW9ucyBvZiBhIGdOQi1EVSBhcyBkZWZpbmVkIGJ5IDNHUFAgVFMgMzguNDAxLgoKICAgICAgICBUaGUgZm9sbG93aW5nIGlzIHRydWUgZm9yIGEgTy1EVToKICAgICAgICBJcyBjb25uZWN0ZWQgdG8gdGhlIE8tQ1UtQ1AgdGhyb3VnaCB0aGUgRjEtQyBpbnRlcmZhY2UuIElzCiAgICAgICAgY29ubmVjdGVkIHRvIHRoZSBPLUNVLVVQIHRocm91Z2ggdGhlIEYxLVUgaW50ZXJmYWNlLiBPbmUgTy1EVSBpcwogICAgICAgIGNvbm5lY3RlZCB0byBvbmx5IG9uZSBPLUNVLUNQLiBPbmUgTy1EVSBjYW4gYmUgY29ubmVjdGVkIHRvCiAgICAgICAgbXVsdGlwbGUgTy1DVS1VUHMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIHNhbWUgTy1DVS1DUC4KCiAgICAgICAgTm90ZTogQSBnTkIgbWF5IGNvbnNpc3Qgb2YgYSBPLUNVLUNQLCBtdWx0aXBsZSBPLUNVLVVQcyBhbmQKICAgICAgICBtdWx0aXBsZSBPLURVcy4gTy1EVSBpcyBhIGNvbmNyZXRlIGNsYXNzIHRoYXQgZXh0ZW5kcyB0aGUgTkctUkFOCiAgICAgICAgbm9kZSBvYmplY3QuIEluIFRvcG9sb2d5LCB5b3UgY2FuIGNyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQgZGVsZXRlCiAgICAgICAgdGhlIGdOQi1EVSBvYmplY3QuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgY29udGFpbmVyIGRVcExNTklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJQTE1OIGlkZW50aWZpZXIgdXNlZCBhcyBwYXJ0IG9mIFBNIEV2ZW50cyBkYXRhIjsKICAgICAgICAgICAgICAgIHVzZXMgdHlwZXMzZ3BwOlBMTU5JZDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBnTkJEVUlkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIERVIHdpdGhpbiBhIGdOb2RlQiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDY0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIGdOQklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJJZGVudGl0eSBvZiBnTm9kZUIgd2l0aGluIGEgUExNTiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDY0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIGdOQklkTGVuZ3RoIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJMZW5ndGggb2YgZ05CSWQgYml0IHN0cmluZyByZXByZXNlbnRhdGlvbiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgT0NVQ1BGdW5jdGlvbiB7CiAgICAgICAgZGVzY3JpcHRpb24gIk8tUkFOIENlbnRyYWxpemVkIFVuaXQgQ29udHJvbCBQbGFuZSAoTy1DVS1DUCkKCiAgICAgICAgVGhpcyBpcyBhIGxvZ2ljYWwgbm9kZSBob3N0aW5nIHRoZSBSYWRpbyBSZXNvdXJjZSBDb250cm9sIChSUkMpIGFuZAogICAgICAgIHRoZSBjb250cm9sIHBsYW5lIHBhcnQgb2YgdGhlIFBhY2tldCBEYXRhIENvbnZlcmdlbmNlIFByb3RvY29sCiAgICAgICAgKFBEQ1ApLiBUaGUgTy1DVS1DUCB0ZXJtaW5hdGVzIHRoZSBFMSBpbnRlcmZhY2UgY29ubmVjdGVkIHdpdGgKICAgICAgICB0aGUgTy1DVS1VUCBhbmQgdGhlIEYxLUMgaW50ZXJmYWNlIGNvbm5lY3RlZCB3aXRoIHRoZSBPLVJBTgogICAgICAgIERpc3RyaWJ1dGVkIFVuaXQgKE8tRFUpLgoKICAgICAgICBUaGUgZm9sbG93aW5nIGlzIHRydWUgZm9yIGEgTy1DVS1DUDoKICAgICAgICBJcyBjb25uZWN0ZWQgdG8gdGhlIE8tRFUgdGhyb3VnaCB0aGUgRjEtQyBpbnRlcmZhY2UuIElzIGNvbm5lY3RlZAogICAgICAgIHRvIHRoZSBPLUNVLVVQIHRocm91Z2ggdGhlIEUxIGludGVyZmFjZS4gT25seSBvbmUgTy1DVS1DUCBpcwogICAgICAgIGNvbm5lY3RlZCB0byBvbmUgTy1EVS4gT25seSBvbmUgTy1DVS1DUCBpcyBjb25uZWN0ZWQgdG8gb25lCiAgICAgICAgTy1DVS1VUC4gT25lIE8tRFUgY2FuIGJlIGNvbm5lY3RlZCB0byBtdWx0aXBsZSBPLUNVLVVQcyB1bmRlcgogICAgICAgIHRoZSBjb250cm9sIG9mIHRoZSBzYW1lIE8tQ1UtQ1AuIE9uZSBPLUNVLVVQIGNhbiBiZSBjb25uZWN0ZWQgdG8KICAgICAgICBtdWx0aXBsZSBEVXMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIHNhbWUgTy1DVS1DUC4KCiAgICAgICAgTm90ZTogQSBnTkIgbWF5IGNvbnNpc3Qgb2YgYSBPLUNVLUNQLCBtdWx0aXBsZSBPLUNVLVVQcyBhbmQKICAgICAgICBtdWx0aXBsZSBPLURVcy4gQW4gTy1DVS1DUCBpcyBhIGNvbmNyZXRlIGNsYXNzIHRoYXQgZXh0ZW5kcyB0aGUKICAgICAgICBORy1SQU4gbm9kZSBvYmplY3QuIEluIFRvcG9sb2d5LCB5b3UgY2FuIGNyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQKICAgICAgICBkZWxldGUgdGhlIE8tQ1UtQ1Agb2JqZWN0LiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgZ05CQ1VOYW1lIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOYW1lIG9mIGdOb2RlQi1DVSI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBnTkJJZCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiSWRlbnRpdHkgb2YgZ05vZGVCIHdpdGhpbiBhIFBMTU4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQ2NDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBnTkJJZExlbmd0aCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGVuZ3RoIG9mIGdOQklkIGJpdCBzdHJpbmcgcmVwcmVzZW50YXRpb24iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY29udGFpbmVyIHBMTU5JZCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiUExNTiBpZGVudGlmaWVyIHRvIGJlIHVzZWQgYXMgcGFydCBvZiBnbG9iYWwgUkFOCiAgICAgICAgICAgICAgICBub2RlIGlkZW50aXR5IjsKICAgICAgICAgICAgICAgIHVzZXMgdHlwZXMzZ3BwOlBMTU5JZDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE9DVVVQRnVuY3Rpb24gewogICAgICAgIGRlc2NyaXB0aW9uICJPLVJBTiBDZW50cmFsaXplZCBVbml0IFVzZXIgUGxhbmUgKE8tQ1UtVVApCgogICAgICAgIEFuIE8tQ1UtVVAgaXMgYSBsb2dpY2FsIG5vZGUgaG9zdGluZyB0aGUgVXNlciBQbGFuZSBwYXJ0IG9mIHRoZQogICAgICAgIFBhY2tldCBEYXRhIENvbnZlcmdlbmNlIFByb3RvY29sIChQRENQKSBhbmQgdGhlIFNlcnZpY2UgRGF0YQogICAgICAgIEFkYXB0YXRpb24gUHJvdG9jb2wgKFNEQVApLiBUaGUgTy1DVS1VUCB0ZXJtaW5hdGVzIHRoZSBFMSBpbnRlcmZhY2UKICAgICAgICBjb25uZWN0ZWQgd2l0aCB0aGUgTy1DVS1DUCBhbmQgdGhlIEYxLVUgaW50ZXJmYWNlIGNvbm5lY3RlZCB3aXRoCiAgICAgICAgdGhlIE8tUkFOIERpc3RyaWJ1dGVkIFVuaXQgKE8tRFUpLgoKICAgICAgICBUaGUgZm9sbG93aW5nIGlzIHRydWUgZm9yIGEgTy1DVS1VUDoKICAgICAgICBJcyBjb25uZWN0ZWQgdG8gdGhlIE8tRFUgdGhyb3VnaCB0aGUgRjEtVSBpbnRlcmZhY2UuIElzIGNvbm5lY3RlZAogICAgICAgIHRvIHRoZSBPLUNVLUNQIHRocm91Z2ggdGhlIEUxIGludGVyZmFjZS4gT25lIE8tQ1UtVVAgaXMKICAgICAgICBjb25uZWN0ZWQgdG8gb25seSBvbmUgTy1DVS1DUC4gT25lIE8tRFUgY2FuIGJlIGNvbm5lY3RlZCB0bwogICAgICAgIG11bHRpcGxlIE8tQ1UtVVBzIHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBzYW1lIE8tQ1UtQ1AuIE9uZQogICAgICAgIE8tQ1UtVVAgY2FuIGJlIGNvbm5lY3RlZCB0byBtdWx0aXBsZSBEVXMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlCiAgICAgICAgc2FtZSBPLUNVLUNQLgoKICAgICAgICBOb3RlOiBBIGdOQiBtYXkgY29uc2lzdCBvZiBhbiBPLUNVLUNQLCBtdWx0aXBsZSBPLUNVLVVQcyBhbmQKICAgICAgICBtdWx0aXBsZSBPLURVcy4gQW4gTy1DVS1VUCBpcyBhIGNvbmNyZXRlIGNsYXNzIHRoYXQgZXh0ZW5kcyB0aGUKICAgICAgICBORy1SQU4gbm9kZSBvYmplY3QuIEluIFRvcG9sb2d5LCB5b3UgY2FuIGNyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQKICAgICAgICBkZWxldGUgdGhlIE8tQ1UtVVAgb2JqZWN0LiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgZ05CSWQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIklkZW50aXR5IG9mIGdOb2RlQiB3aXRoaW4gYSBQTE1OIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50NjQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgZ05CSWRMZW5ndGggewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkxlbmd0aCBvZiBnTkJJZCBiaXQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxpc3QgcExNTklkTGlzdCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGlzdCBvZiBQTE1OIGlkZW50aWZpZXIgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGdsb2JhbCBSQU4gbm9kZSBpZGVudGl0eSI7CiAgICAgICAgICAgICAgICB1c2VzIHR5cGVzM2dwcDpQTE1OSWQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBOUkNlbGxDVSB7CiAgICAgICAgZGVzY3JpcHRpb24gIlJlcHJlc2VudHMgYW4gTlIgQ2VsbCBpbiBnTm9kZUItQ1UuCgogICAgICAgIDVHIE5SIGlzIGEgbmV3IHJhZGlvIGFjY2VzcyB0ZWNobm9sb2d5IChSQVQpIGRldmVsb3BlZCBieSAzR1BQIGZvcgogICAgICAgIHRoZSA1RyAoZmlmdGggZ2VuZXJhdGlvbikgbW9iaWxlIG5ldHdvcmsuIEl0IGlzIGRlc2lnbmVkIHRvIGJlIHRoZQogICAgICAgIGdsb2JhbCBzdGFuZGFyZCBmb3IgdGhlIGFpciBpbnRlcmZhY2Ugb2YgNUcgbmV0d29ya3MuCgogICAgICAgIDVHIE5SIGhhcyBzeW5jaHJvbml6YXRpb24gc2lnbmFsIHRoYXQgaXMga25vd24gYXMgUHJpbWFyeQogICAgICAgIFN5bmNocm9uaXphdGlvbiBTaWduYWwgKFBTUykgYW5kIFNlY29uZGFyeSBTeW5jaHJvbml6YXRpb24KICAgICAgICBTaWduYWwgKFNTUykuIFRoZXNlIHNpZ25hbHMgYXJlIHNwZWNpZmljIHRvIE5SIHBoeXNpY2FsIGxheWVyIGFuZAogICAgICAgIHByb3ZpZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiByZXF1aXJlZCBieSBVRSBmb3IgZG93bmxpbmsKICAgICAgICBzeW5jaHJvbml6YXRpb246IFBTUyBwcm92aWRlcyBSYWRpbyBGcmFtZSBCb3VuZGFyeSAoUG9zaXRpb24gb2YgMXN0CiAgICAgICAgU3ltYm9sIGluIGEgUmFkaW8gZnJhbWUpIFNTUyBwcm92aWRlcyBTdWJmcmFtZSBCb3VuZGFyeSAoUG9zaXRpb24gb2YKICAgICAgICAxc3QgU3ltYm9sIGluIGEgU3ViZnJhbWUpIFBoeXNpY2FsIExheWVyIENlbGwgSUQgKFBDSSkgaW5mb3JtYXRpb24KICAgICAgICB1c2luZyBib3RoIFBTUyBhbmQgU1NTLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgY2VsbExvY2FsSWQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlVzZWQgdG9nZXRoZXIgd2l0aCBnTm9kZUIgaWRlbnRpZmllciB0byBpZGVudGlmeSBOUgogICAgICAgICAgICAgICAgY2VsbCBpbiBQTE1OLiBVc2VkIHRvZ2V0aGVyIHdpdGggZ05CSWQgdG8gZm9ybSBOQ0kuIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNvbnRhaW5lciBwbG1uSWQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlBMTU4gSUQgZm9yIE5SIENHSS4gSWYgZW1wdHksCiAgICAgICAgICAgICAgICBHTkJDVUNQRnVuY3Rpb246OnBMTU5JZCBpcyB1c2VkIGZvciBQTE1OIElEIGluIE5SIENHSSI7CiAgICAgICAgICAgICAgICB1c2VzIHR5cGVzM2dwcDpQTE1OSWQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgbkNJIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsIElkZW50aXR5IjsKICAgICAgICAgICAgICAgIHR5cGUgaW50NjQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgblJUQUMgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIFRyYWNraW5nIEFyZWEgQ29kZSAoVEFDKSI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgTlJDZWxsRFUgewogICAgICAgIGRlc2NyaXB0aW9uICJSZXByZXNlbnRzIGFuIE5SIENlbGwgaW4gZ05vZGVCLURVLgoKICAgICAgICA1RyBOUiBpcyBhIG5ldyByYWRpbyBhY2Nlc3MgdGVjaG5vbG9neSAoUkFUKSBkZXZlbG9wZWQgYnkgM0dQUCBmb3IKICAgICAgICB0aGUgNUcgKGZpZnRoIGdlbmVyYXRpb24pIG1vYmlsZSBuZXR3b3JrLiBJdCBpcyBkZXNpZ25lZCB0byBiZSB0aGUKICAgICAgICBnbG9iYWwgc3RhbmRhcmQgZm9yIHRoZSBhaXIgaW50ZXJmYWNlIG9mIDVHIG5ldHdvcmtzLgoKICAgICAgICA1RyBOUiBoYXMgc3luY2hyb25pemF0aW9uIHNpZ25hbCB0aGF0IGlzIGtub3duIGFzIFByaW1hcnkKICAgICAgICBTeW5jaHJvbml6YXRpb24gc2lnbmFsIChQU1MpIGFuZCBTZWNvbmRhcnkgU3luY2hyb25pemF0aW9uIHNpZ25hbAogICAgICAgIChTU1MpLiBUaGVzZSBzaWduYWxzIGFyZSBzcGVjaWZpYyB0byBOUiBwaHlzaWNhbCBsYXllciBhbmQgcHJvdmlkZQogICAgICAgIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gcmVxdWlyZWQgYnkgVUUgZm9yIGRvd25saW5rCiAgICAgICAgc3luY2hyb25pemF0aW9uOiBQU1MgcHJvdmlkZXMgUmFkaW8gRnJhbWUgQm91bmRhcnkgKFBvc2l0aW9uIG9mIDFzdAogICAgICAgIFN5bWJvbCBpbiBhIFJhZGlvIGZyYW1lKSBTU1MgcHJvdmlkZXMgU3ViZnJhbWUgQm91bmRhcnkgKFBvc2l0aW9uIG9mCiAgICAgICAgMXN0IFN5bWJvbCBpbiBhIFN1YmZyYW1lKSBQaHlzaWNhbCBMYXllciBDZWxsIElEIChQQ0kpIGluZm9ybWF0aW9uCiAgICAgICAgdXNpbmcgYm90aCBQU1MgYW5kIFNTUy4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIGNlbGxMb2NhbElkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVc2VkIHRvZ2V0aGVyIHdpdGggZ05vZGVCIGlkZW50aWZpZXIgdG8gaWRlbnRpZnkgTlIKICAgICAgICAgICAgICAgIGNlbGwgaW4gUExNTi4gVXNlZCB0b2dldGhlciB3aXRoIGdOQklkIHRvIGZvcm0gTkNJLiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIG5DSSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTlIgQ2VsbCBJZGVudGl0eS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQ2NDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBuUlBDSSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIFBoeXNpY2FsIENlbGwgSWRlbnRpdHkgKFBDSSkgb2YgdGhlIE5SIGNlbGwuIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgblJUQUMgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIFRyYWNraW5nIEFyZWEgQ29kZSAoVEFDKS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE5SU2VjdG9yQ2FycmllciB7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBOUiBTZWN0b3IgQ2FycmllciBvYmplY3QgcHJvdmlkZXMgdGhlIGF0dHJpYnV0ZXMgZm9yCiAgICAgICAgZGVmaW5pbmcgdGhlIGxvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgY2FycmllciAoY2VsbCkgaW4gYQogICAgICAgIHNlY3Rvci4gQSBzZWN0b3IgaXMgYSBjb3ZlcmFnZSBhcmVhIGFzc29jaWF0ZWQgd2l0aCBhIGJhc2Ugc3RhdGlvbgogICAgICAgIGhhdmluZyBpdHMgb3duIGFudGVubmFzLCByYWRpbyBwb3J0cywgYW5kIGNvbnRyb2wgY2hhbm5lbHMuIFRoZQogICAgICAgIGNvbmNlcHQgb2Ygc2VjdG9ycyB3YXMgZGV2ZWxvcGVkIHRvIGltcHJvdmUgY28tY2hhbm5lbCBpbnRlcmZlcmVuY2UKICAgICAgICBpbiBjZWxsdWxhciBzeXN0ZW1zLCBhbmQgbW9zdCB3aXJlbGVzcyBzeXN0ZW1zIHVzZSB0aHJlZSBzZWN0b3IKICAgICAgICBjZWxscy4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIGFyZmNuREwgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIEFic29sdXRlIFJhZGlvIEZyZXF1ZW5jeSBDaGFubmVsIE51bWJlcgogICAgICAgICAgICAgICAgKE5SLUFSRkNOKSBmb3IgZG93bmxpbmsiOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBhcmZjblVMIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBBYnNvbHV0ZSBSYWRpbyBmcmVxdWVuY3kgQ2hhbm5lbCBOdW1iZXIKICAgICAgICAgICAgICAgIChOUi1BUkZDTikgZm9yIHVwbGluay4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBmcmVxdWVuY3lETCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiUkYgUmVmZXJlbmNlIEZyZXF1ZW5jeSBvZiBkb3dubGluayBjaGFubmVsIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgZnJlcXVlbmN5VUwgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlJGIFJlZmVyZW5jZSBGcmVxdWVuY3kgb2YgdXBsaW5rIGNoYW5uZWwiOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBiU0NoYW5uZWxCd0RMIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJCUyBDaGFubmVsIGJhbmR3aWR0aCBpbiBNSHogZm9yIGRvd25saW5rLiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgQW50ZW5uYUNhcGFiaWxpdHkgewogICAgICAgIGRlc2NyaXB0aW9uICJUaGlzIE1PIHNlcnZlcyBhcyBhIG1hcHBpbmcgYmV0d2VlbiB0aGUgY2VsbCBhbmQgdGhlIFJCUwogICAgICAgIGVxdWlwbWVudCB1c2VkIHRvIHByb3ZpZGUgY292ZXJhZ2UgaW4gYSBjZXJ0YWluIGdlb2dyYXBoaWNhbCBhcmVhLgogICAgICAgIFRoZSBNTyBhbHNvIGNvbnRyb2xzIHRoZSBtYXhpbXVtIG91dHB1dCBwb3dlciBvZiB0aGUgc2VjdG9yLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYtbGlzdCBlVXRyYW5GcUJhbmRzIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJMaXN0IG9mIExURSBmcmVxdWVuY3kgYmFuZHMgdGhhdCBhc3NvY2lhdGVkCiAgICAgICAgICAgICAgICBoYXJkd2FyZSBzdXBwb3J0cyI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZi1saXN0IGdlcmFuRnFCYW5kcyB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGlzdCBvZiBHRVJBTiBmcmVxdWVuY3kgYmFuZHMgdGhhdCBhc3NvY2lhdGVkCiAgICAgICAgICAgICAgICBoYXJkd2FyZSBzdXBwb3J0cyI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZi1saXN0IG5SRnFCYW5kcyB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGlzdCBvZiBOUiBmcmVxdWVuY3kgYmFuZHMgYXNzb2NpYXRlZCBoYXJkd2FyZQogICAgICAgICAgICAgICAgc3VwcG9ydHMiOwogICAgICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBTZWN0b3IgewogICAgICAgIGRlc2NyaXB0aW9uICJBIGdyb3VwIG9mIGNvLWxvY2F0ZWQgQ2VsbHMgdGhhdCBoYXZlIGEgc2hhcmVkCiAgICAgICAgY292ZXJhZ2UgYXJlYS4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIHNlY3RvcklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVbml2ZXJzYWxseSB1bmlxdWUgSUQgZ2VuZXJhdGVkIGJ5IHRoZSBzZWN0b3IncwogICAgICAgICAgICAgICAgZGlzY292ZXJ5IG1lY2hhbmlzbS4iOwogICAgICAgICAgICAgICAgdHlwZSB1aW50NjQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHVzZXMgZ2VvOmdlby1sb2NhdGlvbjsKCiAgICAgICAgICAgIGxlYWYgYXppbXV0aCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiQXZlcmFnZSB2YWx1ZSBvZiB0aGUgYXppbXV0aHMgb2YgdGhlIGNlbGxzCiAgICAgICAgICAgICAgICBjb21wcmlzaW5nIHRoZSBzZWN0b3IsIGRldGVybWluZWQgZHVyaW5nIHNlY3RvciBkaXNjb3ZlcnkuIjsKICAgICAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0ewogICAgICAgICAgICAgICAgICAgIGZyYWN0aW9uLWRpZ2l0cyAxOwogICAgICAgICAgICAgICAgICAgIHJhbmdlICIwLi4zNjAiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdW5pdHMgImRlY2ltYWwgZGVncmVlcyI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgT0RVRlVOQ1RJT05fUFJPVklERVNfTlJDRUxMRFUgeyAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0RVRnVuY3Rpb24gdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBOUkNlbGxEVSB0eXBlLgogICAgICAgICAgICBUaGUgT0RVRnVuY3Rpb24gcmVwcmVzZW50cyB0aGUgRFUgY29tcG9uZW50IG9mIGEgZ05CIHRoYXQgcHJvdmlkZXMgdGhlIE5SQ2VsbERVLgogICAgICAgICAgICBBIE9EVUZ1bmN0aW9uIGluc3RhbmNlIGNhbiBwcm92aWRlIG1hbnkgTlJDZWxsRFVzLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBtdXN0IGJlIHByb3ZpZGVkIGJ5IGFuIE9EVUZ1bmN0aW9uLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHByb3ZpZGVkLW5yQ2VsbER1IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk8tRFUgRnVuY3Rpb24gcHJvdmlkZXMgTlIgQ2VsbC1EVS4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgT0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgcHJvdmlkZWQtYnktb2R1RnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTlIgQ2VsbC1EVSBwcm92aWRlZCBieSBPLURVIEZ1bmN0aW9uLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBOUkNlbGxEVTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBPRFVGVU5DVElPTl9QUk9WSURFU19OUlNFQ1RPUkNBUlJJRVIgeyAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0RVRnVuY3Rpb24gdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBOUlNlY3RvckNhcnJpZXIgdHlwZS4KICAgICAgICAgICAgVGhlIE9EVUZ1bmN0aW9uIHJlcHJlc2VudHMgdGhlIERVIGNvbXBvbmVudCBvZiBhIGdOQiB0aGF0IHByb3ZpZGVzIHRoZSBOUlNlY3RvckNhcnJpZXIuCiAgICAgICAgICAgIEEgT0RVRnVuY3Rpb24gaW5zdGFuY2UgY2FuIHByb3ZpZGUgbWFueSBOUlNlY3RvckNhcnJpZXJzLgogICAgICAgICAgICBBbiBOUlNlY3RvckNhcnJpZXIgaW5zdGFuY2UgbXVzdCBiZSBwcm92aWRlZCBieSBhbiBPRFVGdW5jdGlvbi4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBwcm92aWRlZC1uclNlY3RvckNhcnJpZXIgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1EVSBGdW5jdGlvbiBwcm92aWRlcyBOUiBTZWN0b3IgQ2Fycmllci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgT0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgcHJvdmlkZWQtYnktb2R1RnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTlIgU2VjdG9yIENhcnJpZXIgcHJvdmlkZWQgYnkgTy1EVSBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgTlJTZWN0b3JDYXJyaWVyOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE9DVUNQRlVOQ1RJT05fUFJPVklERVNfTlJDRUxMQ1UgeyAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0NVQ1BGdW5jdGlvbiB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SQ2VsbENVIHR5cGUuCiAgICAgICAgICAgIFRoZSBPQ1VDUEZ1bmN0aW9uIHJlcHJlc2VudHMgdGhlIENVLUNQIGNvbXBvbmVudCBvZiBhIGdOQiB0aGF0IHByb3ZpZGVzIHRoZSBOUkNlbGxDVS4KICAgICAgICAgICAgQSBPQ1VDUEZ1bmN0aW9uIGluc3RhbmNlIGNhbiBwcm92aWRlIG1hbnkgTlJDZWxsQ1UuCiAgICAgICAgICAgIEFuIE5SQ2VsbENVIGluc3RhbmNlIG11c3QgYmUgcHJvdmlkZWQgYnkgYW4gT0NVQ1BGdW5jdGlvbi4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBwcm92aWRlZC1uckNlbGxDdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLUNQIEZ1bmN0aW9uIHByb3ZpZGVzIE5SIENlbGwtQ1UuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIE9DVUNQRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgcHJvdmlkZWQtYnktb2N1Y3BGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsLUNVIHByb3ZpZGVkIGJ5IE8tQ1UtQ1AgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE5SQ2VsbENVOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5SQ0VMTERVX1VTRVNfTlJTRUNUT1JDQVJSSUVSIHsgLy8gMC4uMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SQ2VsbERVIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTlJTZWN0b3JDYXJyaWVyIHR5cGUuCiAgICAgICAgICAgIFRoZSBOUkNlbGxEVSByZXByZXNlbnRzIHRoZSBjZWxsIHRoYXQgdXNlcyB0aGUgTlJTZWN0b3JDYXJyaWVyLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBjYW4gdXNlIG1hbnkgTlJTZWN0b3JDYXJyaWVycy4KICAgICAgICAgICAgQW4gTlJTZWN0b3JDYXJyaWVyIGluc3RhbmNlIGNhbiBvbmx5IGJlIHVzZWQgYnkgb25lIE5SQ2VsbERVLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHVzZWQtbnJTZWN0b3JDYXJyaWVyIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIENlbGwtRFUgdXNlcyBOUiBTZWN0b3IgQ2Fycmllci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgTlJDZWxsRFU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgdXNlZC1ieS1uckNlbGxEdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBTZWN0b3IgQ2FycmllciB1c2VkIGJ5IE5SIENlbGwtRFUuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE5SU2VjdG9yQ2FycmllcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5SU0VDVE9SQ0FSUklFUl9VU0VTX0FOVEVOTkFDQVBBQklMSVRZIHsgLy8gMC4ubiB0byAwLi4xCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SU2VjdG9yQ2FycmllciB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIEFudGVubmFDYXBhYmlsaXR5IHR5cGUuCiAgICAgICAgICAgIFRoZSBOUlNlY3RvckNhcnJpZXIgcmVwcmVzZW50cyB0aGUgY2FycmllciB0aGF0IHVzZXMgdGhlIEFudGVubmFDYXBhYmlsaXR5LgogICAgICAgICAgICBBbiBOUlNlY3RvckNhcnJpZXIgaW5zdGFuY2UgY2FuIHVzZSBvbmx5IG9uZSBBbnRlbm5hQ2FwYWJpbGl0eS4KICAgICAgICAgICAgQW4gQW50ZW5uYUNhcGFiaWxpdHkgaW5zdGFuY2UgY2FuIGJlIHVzZWQgYnkgbWFueSBOUlNlY3RvckNhcnJpZXJzLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZiB1c2VkLWFudGVubmFDYXBhYmlsaXR5IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIFNlY3RvciBDYXJyaWVyIHVzZXMgQW50ZW5uYSBDYXBhYmlsaXR5LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBOUlNlY3RvckNhcnJpZXI7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCB1c2VkLWJ5LW5yU2VjdG9yQ2FycmllciB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJBbnRlbm5hIENhcGFiaWxpdHkgdXNlZCBieSBOUiBTZWN0b3IgQ2Fycmllci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgQW50ZW5uYUNhcGFiaWxpdHk7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBTRUNUT1JfR1JPVVBTX05SQ0VMTERVIHsgLy8gMC4uMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIFNlY3RvciB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SQ2VsbERVIHR5cGUuCiAgICAgICAgICAgIFRoZSBTZWN0b3IgcmVwcmVzZW50cyB0aGUgZ2VvZ3JhcGhpY2FsIGFyZWEgdGhhdCBncm91cHMgdGhlIE5SQ2VsbERVcy4KICAgICAgICAgICAgQSBTZWN0b3IgaW5zdGFuY2UgY2FuIGdyb3VwIG1hbnkgTlJDZWxsRFVzLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBjYW4gb25seSBiZSBncm91cGVkIGJ5IG9uZSBTZWN0b3IuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgZ3JvdXBlZC1uckNlbGxEdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJTZWN0b3IgZ3JvdXBzIE5SIENlbGwtRFUuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIFNlY3RvcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZiBncm91cGVkLWJ5LXNlY3RvciB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsLURVIGdyb3VwZWQgYnkgU2VjdG9yLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBOUkNlbGxEVTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KfQ==
-o-ran-smo-teiv-rel-cloud-ran   urn:o-ran:smo-teiv-rel-cloud-ran        REL_CLOUD_RAN   ["o-ran-smo-teiv-cloud", "o-ran-smo-teiv-ran"]  2024-07-15      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1jbG91ZC1yYW4gewogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LXJlbC1jbG91ZC1yYW4iOwogICAgcHJlZml4IG9yLXRlaXYtY2xvdWR0b3JhbjsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY2xvdWQge3ByZWZpeCBvci10ZWl2LWNsb3VkOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LXJhbiB7cHJlZml4IG9yLXRlaXYtcmFuOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBDbG91ZCB0byBSQU4gTG9naWNhbCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgUkFOIENsb3VkIHRvIFJBTiBMb2dpY2FsIHRvcG9sb2d5IHJlbGF0aW9ucy4KCiAgICAgICAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgICAgICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgICAgICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogICAgICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICAgICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICAgICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgICAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICAgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogICAgICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0wNS0wMiIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA3LTE1IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcmV2aXNpb24gYWxpZ25zIE8tUkFOIFdvcmsgR3JvdXAgMTAgU3RhZ2UgMiBTcGVjaWZpY2F0aW9uIChPLVJBTi5XRzEwLlRFJklWLUNJTUkuMC1SMDA0LnYwMi4wMCkiOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICBvci10ZWl2LXlleHQ6ZG9tYWluIFJFTF9DTE9VRF9SQU47CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfU0VSVkVTX09EVUZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtb2R1RnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1EVSBGdW5jdGlvbiBzZXJ2aWNlZCBieSB0aGlzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtY2xvdWQ6TkZEZXBsb3ltZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE8tRFUgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtcmFuOk9EVUZ1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTkZERVBMT1lNRU5UX1NFUlZFU19PQ1VDUEZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtb2N1Y3BGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLUNQIEZ1bmN0aW9uIHNlcnZpY2VkIGJ5IHRoaXMgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1jbG91ZDpORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJORiBEZXBsb3ltZW50IHRoYXQgc2VydmVzIHRoaXMgTy1DVS1DUCBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0NVQ1BGdW5jdGlvbjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5GREVQTE9ZTUVOVF9TRVJWRVNfT0NVVVBGVU5DVElPTiB7IC8vIDAuLm4gdG8gMC4ubQoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHNlcnZpY2VkLW9jdXVwRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DVS1VUCBGdW5jdGlvbiBzZXJ2aWNlZCBieSB0aGlzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtY2xvdWQ6TkZEZXBsb3ltZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE8tQ1UtVVAgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtcmFuOk9DVVVQRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfU0VSVkVTX05FQVJSVFJJQ0ZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtbmVhclJUUklDRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmVhclJUUklDRnVuY3Rpb24gc2VydmljZWQgYnkgdGhpcyBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LWNsb3VkOk5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZi1saXN0IHNlcnZpbmctbkZEZXBsb3ltZW50IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5GIERlcGxveW1lbnQgdGhhdCBzZXJ2ZXMgdGhpcyBOZWFyUlRSSUNGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46TmVhclJUUklDRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9Cn0=
+o-ran-smo-teiv-rel-cloud-ran   urn:o-ran:smo-teiv-rel-cloud-ran        REL_CLOUD_RAN   ["o-ran-smo-teiv-cloud", "o-ran-smo-teiv-ran"]  2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1jbG91ZC1yYW4gewogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LXJlbC1jbG91ZC1yYW4iOwogICAgcHJlZml4IG9yLXRlaXYtY2xvdWR0b3JhbjsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY2xvdWQge3ByZWZpeCBvci10ZWl2LWNsb3VkOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LXJhbiB7cHJlZml4IG9yLXRlaXYtcmFuOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBDbG91ZCB0byBSQU4gTG9naWNhbCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgUkFOIENsb3VkIHRvIFJBTiBMb2dpY2FsIHRvcG9sb2d5IHJlbGF0aW9ucy4KCiAgICAgICAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgICAgICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgICAgICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogICAgICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICAgICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICAgICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgICAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICAgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogICAgICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0xMC0wNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJBZGRlZCBncm91cGluZywgT3JpZ2luX1JlbGF0aW9uc2hpcF9NYXBwaW5nX0dycCB0byB0aGUgdG9wb2xvZ3kgb2JqZWN0LiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA1LTAyIiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDctMTUiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhpcyByZXZpc2lvbiBhbGlnbnMgTy1SQU4gV29yayBHcm91cCAxMCBTdGFnZSAyIFNwZWNpZmljYXRpb24gKE8tUkFOLldHMTAuVEUmSVYtQ0lNSS4wLVIwMDQudjAyLjAwKSI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gUkVMX0NMT1VEX1JBTjsKCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5GREVQTE9ZTUVOVF9TRVJWRVNfT0RVRlVOQ1RJT04geyAvLyAwLi5uIHRvIDAuLm0KCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX1JlbGF0aW9uc2hpcF9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aWNlZC1vZHVGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLURVIEZ1bmN0aW9uIHNlcnZpY2VkIGJ5IHRoaXMgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1jbG91ZDpORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJORiBEZXBsb3ltZW50IHRoYXQgc2VydmVzIHRoaXMgTy1EVSBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfU0VSVkVTX09DVUNQRlVOQ1RJT04geyAvLyAwLi5uIHRvIDAuLm0KCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX1JlbGF0aW9uc2hpcF9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aWNlZC1vY3VjcEZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk8tQ1UtQ1AgRnVuY3Rpb24gc2VydmljZWQgYnkgdGhpcyBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LWNsb3VkOk5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZi1saXN0IHNlcnZpbmctbkZEZXBsb3ltZW50IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5GIERlcGxveW1lbnQgdGhhdCBzZXJ2ZXMgdGhpcyBPLUNVLUNQIEZ1bmN0aW9uLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpPQ1VDUEZ1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTkZERVBMT1lNRU5UX1NFUlZFU19PQ1VVUEZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtb2N1dXBGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLVVQIEZ1bmN0aW9uIHNlcnZpY2VkIGJ5IHRoaXMgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1jbG91ZDpORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJORiBEZXBsb3ltZW50IHRoYXQgc2VydmVzIHRoaXMgTy1DVS1VUCBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0NVVVBGdW5jdGlvbjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5GREVQTE9ZTUVOVF9TRVJWRVNfTkVBUlJUUklDRlVOQ1RJT04geyAvLyAwLi5uIHRvIDAuLm0KCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX1JlbGF0aW9uc2hpcF9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aWNlZC1uZWFyUlRSSUNGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOZWFyUlRSSUNGdW5jdGlvbiBzZXJ2aWNlZCBieSB0aGlzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtY2xvdWQ6TkZEZXBsb3ltZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE5lYXJSVFJJQ0Z1bmN0aW9uLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpOZWFyUlRSSUNGdW5jdGlvbjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KfQ==
 o-ran-smo-teiv-rel-equipment-ran       urn:o-ran:smo-teiv-rel-equipment-ran    REL_EQUIPMENT_RAN       ["o-ran-smo-teiv-equipment", "o-ran-smo-teiv-ran"]      2024-10-08      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1lcXVpcG1lbnQtcmFuIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1yZWwtZXF1aXBtZW50LXJhbiI7CiAgICBwcmVmaXggb3ItdGVpdi1yZWwtZXF1aXByYW47CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLXR5cGVzIHsgcHJlZml4IG9yLXRlaXYtdHlwZXM7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7IHByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtZXF1aXBtZW50IHsgcHJlZml4IG9yLXRlaXYtZXF1aXA7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtcmFuIHsgcHJlZml4IG9yLXRlaXYtcmFuOyB9CgoKICAgIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgICBjb250YWN0ICJUaGUgQXV0aG9ycyI7CiAgICBkZXNjcmlwdGlvbiAKICAgICJSQU4gRXF1aXBtZW50IHRvIExvZ2ljYWwgdG9wb2xvZ3kgbW9kZWwuCgogICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgUkFOIEVxdWlwbWVudCB0byBMb2dpY2FsIHRvcG9sb2d5CiAgICBlbnRpdGllcyBhbmQgcmVsYXRpb25zLgoKICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTEwLTA4IiB7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIkFkZGVkIG5ldyByZWxhdGlvbnNoaXAgQU5URU5OQU1PRFVMRV9TRVJWRVNfTlJDRUxMRFUuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC41LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNS0yNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gUkVMX0VRVUlQTUVOVF9SQU47CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBBTlRFTk5BTU9EVUxFX1NFUlZFU19BTlRFTk5BQ0FQQUJJTElUWSB7IC8vIDAuLm4gdG8gMC4ubQoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBBbnRlbm5hTW9kdWxlIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgQW50ZW5uYUNhcGFiaWxpdHkgdHlwZS4KICAgICAgICAgICAgVGhlIEFudGVubmFNb2R1bGUgcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgYW50ZW5uYSB0aGF0IHNlcnZlcyB0aGUgQW50ZW5uYUNhcGFiaWxpdHkuCiAgICAgICAgICAgIEFuIEFudGVubmFNb2R1bGUgaW5zdGFuY2UgY2FuIHNlcnZlIG1hbnkgQW50ZW5uYUNhcGFiaWxpdGllcy4KICAgICAgICAgICAgQW4gQW50ZW5uYUNhcGFiaWxpdHkgaW5zdGFuY2UgY2FuIGJlIHNlcnZlZCBieSBtYW55IEFudGVubmFNb2R1bGVzLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHNlcnZpY2VkLWFudGVubmFDYXBhYmlsaXR5IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgQ2FwYWJpbGl0eSBzZXJ2aWNlZCBieSB0aGlzIEFudGVubmEgTW9kdWxlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LWVxdWlwOkFudGVubmFNb2R1bGU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLWFudGVubmFNb2R1bGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiQW50ZW5uYSBNb2R1bGUgc2VydmVzIHRoaXMgQW50ZW5uYSBDYXBhYmlsaXR5LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpBbnRlbm5hQ2FwYWJpbGl0eTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIEFOVEVOTkFNT0RVTEVfU0VSVkVTX05SQ0VMTERVIHsgLy8gMS4ubiB0byAwLi5tCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIEFudGVubmFNb2R1bGUgdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBOUkNlbGxEVSB0eXBlLgogICAgICAgICAgICBUaGUgQW50ZW5uYU1vZHVsZSByZXByZXNlbnRzIHRoZSBwaHlzaWNhbCBhbnRlbm5hIHRoYXQgc2VydmVzIHRoZSBOUkNlbGxEVS4KICAgICAgICAgICAgQW4gQW50ZW5uYU1vZHVsZSBpbnN0YW5jZSBjYW4gc2VydmUgbWFueSBOUkNlbGxEVXMuCiAgICAgICAgICAgIEFuIE5SQ2VsbERVIGluc3RhbmNlIGNhbiBiZSBzZXJ2ZWQgYnkgbWFueSBBbnRlbm5hTW9kdWxlcy4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX1JlbGF0aW9uc2hpcF9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aWNlZC1uckNlbGxEdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsLURVIHNlcnZpY2VkIGJ5IHRoaXMgQW50ZW5uYSBNb2R1bGUuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtZXF1aXA6QW50ZW5uYU1vZHVsZTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZi1saXN0IHNlcnZpbmctYW50ZW5uYU1vZHVsZSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJBbnRlbm5hIE1vZHVsZSBzZXJ2ZXMgdGhpcyBOUiBDZWxsLURVLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpOUkNlbGxEVTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBTRUNUT1JfR1JPVVBTX0FOVEVOTkFNT0RVTEUgeyAvLyAwLi4xIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgU2VjdG9yIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgQW50ZW5uYU1vZHVsZSB0eXBlLgogICAgICAgICAgICBUaGUgU2VjdG9yIHJlcHJlc2VudHMgdGhlIGdlb2dyYXBoaWNhbCBhcmVhIHRoYXQgZ3JvdXBzIHRoZSBBbnRlbm5hTW9kdWxlcy4KICAgICAgICAgICAgQSBTZWN0b3IgaW5zdGFuY2UgY2FuIGdyb3VwIG1hbnkgQW50ZW5uYU1vZHVsZXMuCiAgICAgICAgICAgIEFuIEFudGVubmFNb2R1bGUgaW5zdGFuY2UgY2FuIG9ubHkgYmUgZ3JvdXBlZCBieSBvbmUgU2VjdG9yLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IGdyb3VwZWQtYW50ZW5uYU1vZHVsZSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJTZWN0b3IgZ3JvdXBzIEFudGVubmEgTW9kdWxlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LXJhbjpTZWN0b3I7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgZ3JvdXBlZC1ieS1zZWN0b3IgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiQW50ZW5uYSBNb2R1bGUgZ3JvdXBlZCBieSBTZWN0b3IuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtZXF1aXA6QW50ZW5uYU1vZHVsZTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KfQ==
-o-ran-smo-teiv-rel-oam-cloud   urn:o-ran:smo-teiv-rel-oam-cloud        REL_OAM_CLOUD   ["o-ran-smo-teiv-oam", "o-ran-smo-teiv-cloud"]  2024-07-15      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1vYW0tY2xvdWQgewogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LXJlbC1vYW0tY2xvdWQiOwogICAgcHJlZml4IG9yLXRlaXYtb2FtdG9jbG91ZDsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtb2FtIHtwcmVmaXggb3ItdGVpdi1vYW07IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY2xvdWQge3ByZWZpeCBvci10ZWl2LWNsb3VkOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBPJk0gdG8gQ2xvdWQgdG9wb2xvZ3kgbW9kZWwuCgogICAgICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIFJBTiBPJk0gdG8gQ2xvdWQgdG9wb2xvZ3kgcmVsYXRpb25zCgogICAgICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgICAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgICAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgICAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMDUtMDIiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCByZXZpc2lvbi4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjMuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNy0xNSIgewogICAgICAgIGRlc2NyaXB0aW9uICJUaGlzIHJldmlzaW9uIGFsaWducyBPLVJBTiBXb3JrIEdyb3VwIDEwIFN0YWdlIDIgU3BlY2lmaWNhdGlvbiAoTy1SQU4uV0cxMC5URSZJVi1DSU1JLjAtUjAwNC52MDIuMDApIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC40LjA7CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmRvbWFpbiBSRUxfT0FNX0NMT1VEOwoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfREVQTE9ZRURfQVNfQ0xPVURJRklFRE5GIHsgIC8vIDAuLjEgdG8gMQoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZiBkZXBsb3llZC1hcy1jbG91ZGlmaWVkTkYgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IGRlcGxveWVkIGFzIENsb3VkaWZpZWQgTkYuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIGRlcGxveWVkLW1hbmFnZWRFbGVtZW50IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkNsb3VkaWZpZWQgTkYgZGVwbG95cyBNYW5hZ2VkIEVsZW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtY2xvdWQ6Q2xvdWRpZmllZE5GOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5GREVQTE9ZTUVOVF9TRVJWRVNfTUFOQUdFREVMRU1FTlQgeyAvLyAxLi5uIHRvIDEKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYgc2VydmljZWQtbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IHNlcnZpY2VkIGJ5IHRoaXMgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1jbG91ZDpORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1vYW06TWFuYWdlZEVsZW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQp9
+o-ran-smo-teiv-rel-oam-cloud   urn:o-ran:smo-teiv-rel-oam-cloud        REL_OAM_CLOUD   ["o-ran-smo-teiv-oam", "o-ran-smo-teiv-cloud"]  2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1vYW0tY2xvdWQgewogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LXJlbC1vYW0tY2xvdWQiOwogICAgcHJlZml4IG9yLXRlaXYtb2FtdG9jbG91ZDsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtb2FtIHtwcmVmaXggb3ItdGVpdi1vYW07IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY2xvdWQge3ByZWZpeCBvci10ZWl2LWNsb3VkOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBPJk0gdG8gQ2xvdWQgdG9wb2xvZ3kgbW9kZWwuCgogICAgICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIFJBTiBPJk0gdG8gQ2xvdWQgdG9wb2xvZ3kgcmVsYXRpb25zCgogICAgICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgICAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgICAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgICAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNS0wMiIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA3LTE1IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcmV2aXNpb24gYWxpZ25zIE8tUkFOIFdvcmsgR3JvdXAgMTAgU3RhZ2UgMiBTcGVjaWZpY2F0aW9uIChPLVJBTi5XRzEwLlRFJklWLUNJTUkuMC1SMDA0LnYwMi4wMCkiOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICBvci10ZWl2LXlleHQ6ZG9tYWluIFJFTF9PQU1fQ0xPVUQ7CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBNQU5BR0VERUxFTUVOVF9ERVBMT1lFRF9BU19DTE9VRElGSUVETkYgeyAgLy8gMC4uMSB0byAxCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmIGRlcGxveWVkLWFzLWNsb3VkaWZpZWRORiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJNYW5hZ2VkIEVsZW1lbnQgZGVwbG95ZWQgYXMgQ2xvdWRpZmllZCBORi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1vYW06TWFuYWdlZEVsZW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgZGVwbG95ZWQtbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiQ2xvdWRpZmllZCBORiBkZXBsb3lzIE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1jbG91ZDpDbG91ZGlmaWVkTkY7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTkZERVBMT1lNRU5UX1NFUlZFU19NQU5BR0VERUxFTUVOVCB7IC8vIDEuLm4gdG8gMQoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZiBzZXJ2aWNlZC1tYW5hZ2VkRWxlbWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJNYW5hZ2VkIEVsZW1lbnQgc2VydmljZWQgYnkgdGhpcyBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LWNsb3VkOk5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJORiBEZXBsb3ltZW50IHRoYXQgc2VydmVzIHRoaXMgTWFuYWdlZCBFbGVtZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LW9hbTpNYW5hZ2VkRWxlbWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9Cn0=
 o-ran-smo-teiv-rel-oam-ran     urn:o-ran:smo-teiv-rel-oam-ran  REL_OAM_RAN     ["o-ran-smo-teiv-oam", "o-ran-smo-teiv-ran"]    2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1vYW0tcmFuIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1yZWwtb2FtLXJhbiI7CiAgICBwcmVmaXggb3ItdGVpdi1yZWwtb2FtcmFuOwoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyB7IHByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMgeyBwcmVmaXggb3ItdGVpdi15ZXh0OyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LW9hbSB7IHByZWZpeCBvci10ZWl2LW9hbTsgfQoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1yYW4geyBwcmVmaXggb3ItdGVpdi1yYW47IH0KCiAgICBvcmdhbml6YXRpb24gIk9SQU4iOwogICAgY29udGFjdCAiVGhlIEF1dGhvcnMiOwogICAgZGVzY3JpcHRpb24KICAgICAgICAiUkFOIE8mTSB0byBMb2dpY2FsIHRvcG9sb2d5IG1vZGVsLgoKICAgICAgICBUaGlzIG1vZGVsIGNvbnRhaW5zIHRoZSBSQU4gTyZNIHRvIExvZ2ljYWwgdG9wb2xvZ3kgcmVsYXRpb25zCgogICAgICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgICAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgICAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgICAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjUuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNy0xNSIgewogICAgICAgIGRlc2NyaXB0aW9uICJUaGlzIHJldmlzaW9uIGFsaWducyBPLVJBTiBXb3JrIEdyb3VwIDEwIFN0YWdlIDIgU3BlY2lmaWNhdGlvbiAoTy1SQU4uV0cxMC5URSZJVi1DSU1JLjAtUjAwNC52MDIuMDApIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC40LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDUtMjQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCByZXZpc2lvbi4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjMuMDsKICAgIH0KCiAgICBvci10ZWl2LXlleHQ6ZG9tYWluIFJFTF9PQU1fUkFOOwoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfTUFOQUdFU19PRFVGVU5DVElPTiB7ICAgIC8vIDEgdG8gMC4ubgoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBNYW5hZ2VkRWxlbWVudCB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE9EVUZ1bmN0aW9uIHR5cGUuCiAgICAgICAgICAgIFRoZSBNYW5hZ2VkRWxlbWVudCByZXByZXNlbnRzIHRoZSBub2RlIHRoYXQgbWFuYWdlcyB0aGUgT0RVRnVuY3Rpb24uCiAgICAgICAgICAgIEEgTWFuYWdlZEVsZW1lbnQgaW5zdGFuY2UgY2FuIG1hbmFnZSBtYW55IE9EVUZ1bmN0aW9ucy4KICAgICAgICAgICAgQW4gT0RVRnVuY3Rpb24gaW5zdGFuY2UgbXVzdCBiZSBtYW5hZ2VkIGJ5IG9uZSBNYW5hZ2VkRWxlbWVudC4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBtYW5hZ2VkLW9kdUZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZWQgRWxlbWVudCBtYW5hZ2VzIE8tRFUgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1EVSBGdW5jdGlvbiBtYW5hZ2VkIGJ5IE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfTUFOQUdFU19PQ1VDUEZVTkNUSU9OIHsgICAgLy8gMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE1hbmFnZWRFbGVtZW50IHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0NVQ1BGdW5jdGlvbiB0eXBlLgogICAgICAgICAgICBUaGUgTWFuYWdlZEVsZW1lbnQgcmVwcmVzZW50cyB0aGUgbm9kZSB0aGF0IG1hbmFnZXMgdGhlIE9DVUNQRnVuY3Rpb24uCiAgICAgICAgICAgIEEgTWFuYWdlZEVsZW1lbnQgaW5zdGFuY2UgY2FuIG1hbmFnZSBtYW55IE9DVUNQRnVuY3Rpb25zLgogICAgICAgICAgICBBbiBPQ1VDUEZ1bmN0aW9uIGluc3RhbmNlIG11c3QgYmUgbWFuYWdlZCBieSBvbmUgTWFuYWdlZEVsZW1lbnQuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgbWFuYWdlZC1vY3VjcEZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZWQgRWxlbWVudCBtYW5hZ2VzIE8tQ1UtQ1AgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DVS1DUCBGdW5jdGlvbiBtYW5hZ2VkIGJ5IE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0NVQ1BGdW5jdGlvbjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBNQU5BR0VERUxFTUVOVF9NQU5BR0VTX09DVVVQRlVOQ1RJT04geyAgICAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTWFuYWdlZEVsZW1lbnQgdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBPQ1VVUEZ1bmN0aW9uIHR5cGUuCiAgICAgICAgICAgIFRoZSBNYW5hZ2VkRWxlbWVudCByZXByZXNlbnRzIHRoZSBub2RlIHRoYXQgbWFuYWdlcyB0aGUgT0NVVVBGdW5jdGlvbi4KICAgICAgICAgICAgQSBNYW5hZ2VkRWxlbWVudCBpbnN0YW5jZSBjYW4gbWFuYWdlIG1hbnkgT0NVVVBGdW5jdGlvbnMuCiAgICAgICAgICAgIEFuIE9DVVVQRnVuY3Rpb24gaW5zdGFuY2UgbXVzdCBiZSBtYW5hZ2VkIGJ5IG9uZSBNYW5hZ2VkRWxlbWVudC4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBtYW5hZ2VkLW9jdXVwRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IG1hbmFnZXMgTy1DVS1VUCBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1vYW06TWFuYWdlZEVsZW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgbWFuYWdlZC1ieS1tYW5hZ2VkRWxlbWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLVVQIEZ1bmN0aW9uIG1hbmFnZWQgYnkgTWFuYWdlZCBFbGVtZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpPQ1VVUEZ1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE1BTkFHRURFTEVNRU5UX01BTkFHRVNfT1JVRlVOQ1RJT04geyAgICAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTWFuYWdlZEVsZW1lbnQgdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBPUlVGdW5jdGlvbiB0eXBlLgogICAgICAgICAgICBUaGUgTWFuYWdlZEVsZW1lbnQgcmVwcmVzZW50cyB0aGUgbm9kZSB0aGF0IG1hbmFnZXMgdGhlIE9SVUZ1bmN0aW9uLgogICAgICAgICAgICBBIE1hbmFnZWRFbGVtZW50IGluc3RhbmNlIGNhbiBtYW5hZ2UgbWFueSBPUlVGdW5jdGlvbi4KICAgICAgICAgICAgQW4gT1JVRnVuY3Rpb24gaW5zdGFuY2UgbXVzdCBiZSBtYW5hZ2VkIGJ5IG9uZSBNYW5hZ2VkRWxlbWVudC4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBtYW5hZ2VkLW9ydUZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZWQgRWxlbWVudCBtYW5hZ2VzIE8tUlUgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1SVSBGdW5jdGlvbiBtYW5hZ2VkIGJ5IE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T1JVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfTUFOQUdFU19ORUFSUlRSSUNGVU5DVElPTiB7ICAgIC8vIDEgdG8gMC4ubgoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBNYW5hZ2VkRWxlbWVudCB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5lYXJSVFJJQ0Z1bmN0aW9uIHR5cGUuCiAgICAgICAgICAgIFRoZSBNYW5hZ2VkRWxlbWVudCByZXByZXNlbnRzIHRoZSBub2RlIHRoYXQgbWFuYWdlcyB0aGUgTmVhclJUUklDRnVuY3Rpb24uCiAgICAgICAgICAgIEEgTWFuYWdlZEVsZW1lbnQgaW5zdGFuY2UgY2FuIG1hbmFnZSBtYW55IE5lYXJSVFJJQ0Z1bmN0aW9uLgogICAgICAgICAgICBBbiBOZWFyUlRSSUNGdW5jdGlvbiBpbnN0YW5jZSBtdXN0IGJlIG1hbmFnZWQgYnkgb25lIE1hbmFnZWRFbGVtZW50LgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IG1hbmFnZWQtbmVhclJUUklDRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IG1hbmFnZXMgTmVhciBSVCBSSUMgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmVhciBSVCBSSUMgRnVuY3Rpb24gbWFuYWdlZCBieSBNYW5hZ2VkIEVsZW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtcmFuOk5lYXJSVFJJQ0Z1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KfQ==
 \.
 
index 138e865..39442e9 100644 (file)
@@ -34,7 +34,7 @@ ALTER SCHEMA ties_data OWNER TO topology_exposure_user;
 SET default_tablespace = '';
 SET default_table_access_method = heap;
 
-SET ROLE 'topology_exposure_user';
+SET ROLE topology_exposure_user;
 
 -- Function to create CONSTRAINT only if it does not exists
 CREATE OR REPLACE FUNCTION ties_data.create_constraint_if_not_exists (
@@ -871,43 +871,43 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
  'FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
  'FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5" FOREIGN KEY ("bSide_NearRTRICFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5" FOREIGN KEY ("bSide_NearRTRICFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'CFC235E0404703D1E4454647DF8AAE2C193DB402',
  'FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'CFC235E0404703D1E4454647DF8AAE2C193DB402',
  'FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06" FOREIGN KEY ("bSide_AntennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06" FOREIGN KEY ("bSide_AntennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
  'FK_A08D274894ECB6799E56C2089A494AF0345B9B16',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_A08D274894ECB6799E56C2089A494AF0345B9B16" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_A08D274894ECB6799E56C2089A494AF0345B9B16" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
  'FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F" FOREIGN KEY ("bSide_OCloudNamespace") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F" FOREIGN KEY ("bSide_OCloudNamespace") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDeployment',
  'FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0" FOREIGN KEY ("REL_FK_comprised-by-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0" FOREIGN KEY ("REL_FK_comprised-by-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -919,7 +919,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDeployment',
  'FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9" FOREIGN KEY ("REL_FK_serviced-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9" FOREIGN KEY ("REL_FK_serviced-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -931,19 +931,19 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
  'FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92" FOREIGN KEY ("aSide_NodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92" FOREIGN KEY ("aSide_NodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
  'FK_888BF6FF782916E61B3FE80643A549A1CFDB6117',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_888BF6FF782916E61B3FE80643A549A1CFDB6117" FOREIGN KEY ("bSide_OCloudSite") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudSite" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_888BF6FF782916E61B3FE80643A549A1CFDB6117" FOREIGN KEY ("bSide_OCloudSite") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudSite" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_OCloudNamespace',
  'FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF" FOREIGN KEY ("REL_FK_deployed-on-nodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF" FOREIGN KEY ("REL_FK_deployed-on-nodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -955,7 +955,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-equipment_AntennaModule',
  'FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC" FOREIGN KEY ("REL_FK_installed-at-site") REFERENCES ties_data."o-ran-smo-teiv-equipment_Site" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC" FOREIGN KEY ("REL_FK_installed-at-site") REFERENCES ties_data."o-ran-smo-teiv-equipment_Site" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -967,7 +967,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-equipment_AntennaModule',
  'FK_078764B2F3D613D44CC6E3586F564C83164D2481',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_078764B2F3D613D44CC6E3586F564C83164D2481" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_078764B2F3D613D44CC6E3586F564C83164D2481" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -979,7 +979,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-oam_ManagedElement',
  'FK_899B8130A861D1450FC49D3159D8B29C0628A717',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "FK_899B8130A861D1450FC49D3159D8B29C0628A717" FOREIGN KEY ("REL_FK_deployed-as-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "FK_899B8130A861D1450FC49D3159D8B29C0628A717" FOREIGN KEY ("REL_FK_deployed-as-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -991,7 +991,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRCellCU',
  'FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction" FOREIGN KEY ("REL_FK_provided-by-ocucpFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction" FOREIGN KEY ("REL_FK_provided-by-ocucpFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1003,7 +1003,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRCellDU',
  'FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1015,7 +1015,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRCellDU',
  'FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1027,7 +1027,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRSectorCarrier',
  'FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu" FOREIGN KEY ("REL_FK_used-by-nrCellDu") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu" FOREIGN KEY ("REL_FK_used-by-nrCellDu") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1039,7 +1039,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRSectorCarrier',
  'FK_65D538D54EB33081C808540235FEB28823428E64',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_65D538D54EB33081C808540235FEB28823428E64" FOREIGN KEY ("REL_FK_used-antennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_65D538D54EB33081C808540235FEB28823428E64" FOREIGN KEY ("REL_FK_used-antennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1051,7 +1051,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRSectorCarrier',
  'FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1063,7 +1063,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NearRTRICFunction',
  'FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1075,7 +1075,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_OCUCPFunction',
  'FK_122DD9709032528D161177B3624AD7AAF6589005',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "FK_122DD9709032528D161177B3624AD7AAF6589005" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "FK_122DD9709032528D161177B3624AD7AAF6589005" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1087,7 +1087,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_OCUUPFunction',
  'FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1099,7 +1099,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_ODUFunction',
  'FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1111,7 +1111,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_ORUFunction',
  'FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1123,49 +1123,49 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
  'FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
  'FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6" FOREIGN KEY ("bSide_OCUCPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6" FOREIGN KEY ("bSide_OCUCPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
  'FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
  'FK_8585D545BC37A473A298E0F5F5942F897A7105B1',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_8585D545BC37A473A298E0F5F5942F897A7105B1" FOREIGN KEY ("bSide_OCUUPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUUPFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_8585D545BC37A473A298E0F5F5942F897A7105B1" FOREIGN KEY ("bSide_OCUUPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
  'FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
  'FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08" FOREIGN KEY ("bSide_ODUFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08" FOREIGN KEY ("bSide_ODUFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU',
  'FK_1AB1E0CC29DA2E122D43A6616EC60A3F73E68649',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_1AB1E0CC29DA2E122D43A6616EC60A3F73E68649" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_1AB1E0CC29DA2E122D43A6616EC60A3F73E68649" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU',
  'FK_8605800A4923C52258A8CE3989E18A7C93D22E8C',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_8605800A4923C52258A8CE3989E18A7C93D22E8C" FOREIGN KEY ("bSide_NRCellDU") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_8605800A4923C52258A8CE3989E18A7C93D22E8C" FOREIGN KEY ("bSide_NRCellDU") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" ("id");'
 );
 
 CREATE INDEX IF NOT EXISTS "IDX_996D2C34C2458A6EFE8599C1A0E6942D3D288B7A" ON ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
index c38e1ee..68d7305 100644 (file)
@@ -26,7 +26,7 @@ ALTER SCHEMA ties_consumer_data OWNER TO topology_exposure_user;
 SET default_tablespace = '';
 SET default_table_access_method = heap;
 
-SET ROLE 'topology_exposure_user';
+SET ROLE topology_exposure_user;
 
 CREATE TABLE IF NOT EXISTS ties_consumer_data."module_reference" (
     "name"            TEXT PRIMARY KEY,
index 18ee6f3..ba9a7fd 100644 (file)
@@ -26,7 +26,7 @@ ALTER SCHEMA ties_groups OWNER TO topology_exposure_user;
 SET default_tablespace = '';
 SET default_table_access_method = heap;
 
-SET ROLE 'topology_exposure_user';
+SET ROLE topology_exposure_user;
 
 -- Function to create CONSTRAINT only if it does not exists
 CREATE OR REPLACE FUNCTION ties_groups.create_constraint_if_not_exists (
index f5af5f2..6815638 100644 (file)
@@ -34,7 +34,7 @@
     "description" : "Provides the capability to update or remove user-defined values on entities and relationships.",
     "name" : "Decorators"
   }, {
-    "description" : "Provides the capability to group topology entities and/or relationships of any type. Groups can be created in static or dynamic way. *Static groups*: Group members are defined statically upon group creation. It can include a maximum of 25,000 members. *Dynamic groups*: Group members are dynamically selected based on the defined resource query.",
+    "description" : "Provides the capability to group topology entities and/or relationships of any type. Groups can be created in static or dynamic way. *Static groups*: Group members are defined statically upon group creation. It can include a maximum of 10,000 members. *Dynamic groups*: Group members are dynamically selected based on the defined resource query.",
     "name" : "Groups"
   } ],
   "paths" : {
index 1d6a962..7a85343 100644 (file)
@@ -161,7 +161,7 @@ tags:
   - name: Decorators
     description: "Provides the capability to update or remove user-defined values on entities and relationships."
   - name: Groups
-    description: "Provides the capability to group topology entities and/or relationships of any type. Groups can be created in static or dynamic way. *Static groups*: Group members are defined statically upon group creation. It can include a maximum of 25,000 members. *Dynamic groups*: Group members are dynamically selected based on the defined resource query."
+    description: "Provides the capability to group topology entities and/or relationships of any type. Groups can be created in static or dynamic way. *Static groups*: Group members are defined statically upon group creation. It can include a maximum of 10,000 members. *Dynamic groups*: Group members are dynamically selected based on the defined resource query."
 
 servers:
   - url: https://{host}/topology-inventory/v1alpha11
index 154f433..884c372 100644 (file)
@@ -59,12 +59,13 @@ public class Constants {
     public static final String GEO_LOCATION = "geo-location";
     public static final String GEOGRAPHY = "geography";
     public static final String METADATA = "metadata";
-    public static final String UPDATETIME = "updated_time";
+    public static final String UPDATED_TIME = "updated_time";
     public static final String TIMESTAMPTZ = "TIMESTAMPTZ";
     public static final String REL_PREFIX = "REL_";
     public static final String RESP_PREFIX = "RESP_";
     public static final String BYTEA = "BYTEA";
     public static final String REL_METADATA_PREFIX = "REL_" + METADATA + "_";
-    public static final String REL_UPDATETIME_PREFIX = "REL_" + UPDATETIME + "_";
+    public static final String HASHED_ID = "hashed_id";
+    public static final String REL_UPDATETIME_PREFIX = "REL_" + UPDATED_TIME + "_";
     public static final String REL_RESP_PREFIX = REL_PREFIX + RESP_PREFIX + ID + "_";
 }
index 130112b..fd50f8f 100644 (file)
@@ -29,6 +29,8 @@ public class ForeignKeyConstraint implements PostgresConstraint {
     private String tableName;
     @Getter
     private String referencedTable;
+    @Getter
+    private String referencedColumn;
     private String columnToAddConstraintTo;
 
     @Override
index ddb3eba..76918d7 100644 (file)
@@ -114,29 +114,34 @@ public class BackwardCompatibilityChecker {
     }
 
     private void validateColumnConstraints(Column baselineColumn, Column modelColumn, String tableName) {
-        for (PostgresConstraint constraint : baselineColumn.getPostgresConstraints()) {
+        for (PostgresConstraint baselineConstraint : baselineColumn.getPostgresConstraints()) {
             Optional<PostgresConstraint> matchingConstraint = modelColumn.getPostgresConstraints().stream().filter(
-                    constraint1 -> constraint1.getConstraintName().equals(constraint.getConstraintName())).findFirst();
+                    generatedConstraint -> generatedConstraint.getConstraintName().equals(baselineConstraint
+                            .getConstraintName())).findFirst();
 
-            String modifiedOrRemovedConstraintFromBaseline = "modified/removed constraint for column(%s.%s) present in baseline";
-            matchingConstraint.ifPresentOrElse(constraint1 -> {
-                if (!constraint.getTableToAddConstraintTo().equals(constraint1.getTableToAddConstraintTo()) && !constraint
-                        .getColumnToAddConstraintTo().equals(constraint1.getColumnToAddConstraintTo()) && !constraint
-                                .getConstraintName().equals(constraint1.getConstraintName())) {
+            matchingConstraint.ifPresentOrElse(generatedConstraint -> {
+                if (!baselineConstraint.getTableToAddConstraintTo().equals(generatedConstraint
+                        .getTableToAddConstraintTo()) && !baselineConstraint.getColumnToAddConstraintTo().equals(
+                                generatedConstraint.getColumnToAddConstraintTo()) && !baselineConstraint.getConstraintName()
+                                        .equals(generatedConstraint.getConstraintName())) {
                     throw PgSchemaGeneratorException.nbcChangeIdentifiedException(String.format(
-                            modifiedOrRemovedConstraintFromBaseline, tableName, baselineColumn.getName()),
-                            new UnsupportedOperationException());
+                            "modified/removed constraint for column(%s.%s) present in baseline", tableName, baselineColumn
+                                    .getName()), new UnsupportedOperationException());
                 }
-                if (constraint instanceof ForeignKeyConstraint && !constraint.getTableToAddConstraintTo().equals(constraint1
-                        .getTableToAddConstraintTo())) {
+                if ((baselineConstraint instanceof ForeignKeyConstraint fkBaselineConstraint && generatedConstraint instanceof ForeignKeyConstraint fkGeneratedConstraint) && !fkBaselineConstraint
+                        .getTableToAddConstraintTo().equals(fkGeneratedConstraint
+                                .getTableToAddConstraintTo()) && !fkBaselineConstraint.getReferencedColumn().equals(
+                                        fkGeneratedConstraint.getReferencedTable()) && !fkBaselineConstraint
+                                                .getReferencedColumn().equals(fkGeneratedConstraint
+                                                        .getReferencedColumn())) {
                     throw PgSchemaGeneratorException.nbcChangeIdentifiedException(String.format(
-                            modifiedOrRemovedConstraintFromBaseline, tableName, baselineColumn.getName()),
-                            new UnsupportedOperationException());
+                            "modified/removed constraint for column(%s.%s) present in baseline", tableName, baselineColumn
+                                    .getName()), new UnsupportedOperationException());
                 }
             }, () -> {
                 throw PgSchemaGeneratorException.nbcChangeIdentifiedException(String.format(
-                        modifiedOrRemovedConstraintFromBaseline, tableName, baselineColumn.getName()),
-                        new UnsupportedOperationException());
+                        "modified/removed constraint for column(%s.%s) present in baseline", tableName, baselineColumn
+                                .getName()), new UnsupportedOperationException());
             });
         }
     }
index 7dc1d4b..14cf896 100644 (file)
@@ -130,8 +130,6 @@ public class SchemaParser {
 
         String alterStatement = br.readLine();
         String columnToAddForeignKeyTo = StringUtils.substringBetween(alterStatement, "(", ")").replace("\"", "");
-        String[] stringInQuotes = StringUtils.substringsBetween(alterStatement, "\"", "\"");
-        String referenceTable = stringInQuotes[stringInQuotes.length - 1];
 
         identifiedTables.stream().filter(table -> table.getName().equals(tableToAddConstraintTo)).findFirst().flatMap(
                 table -> table.getColumns().stream().filter(column -> column.getName().equals(columnToAddForeignKeyTo))
@@ -153,9 +151,16 @@ public class SchemaParser {
                                         .tableName(tableToAddConstraintTo).columnToAddConstraintTo(columnToAddForeignKeyTo)
                                         .build());
                             } else if (alterStatement.contains("FOREIGN KEY")) {
+                                String substringFromLastTiesData = alterStatement.substring(StringUtils.lastIndexOf(
+                                        alterStatement, "ties_data.\""));
+                                String referenceTable = StringUtils.substringBetween(substringFromLastTiesData, "\"", "\"");
+                                String referenceTableColumn = alterStatement.substring(StringUtils.lastIndexOf(
+                                        alterStatement, "(") + 1, StringUtils.lastIndexOf(alterStatement, ")")).replace(
+                                                "\"", "").trim();
                                 postgresConstraintCollection.add(ForeignKeyConstraint.builder().constraintName(
                                         constraintName).tableName(tableToAddConstraintTo).columnToAddConstraintTo(
-                                                columnToAddForeignKeyTo).referencedTable(referenceTable).build());
+                                                columnToAddForeignKeyTo).referencedTable(referenceTable).referencedColumn(
+                                                        referenceTableColumn).build());
                             }
                             column.setPostgresConstraints(postgresConstraintCollection);
                         });
index 1e1e4f5..04835b8 100644 (file)
@@ -178,11 +178,12 @@ public class DataSchemaHelper {
             return String.format(ALTER_TABLE_TIES_DATA_S_ADD_CONSTRAINT_S + "PRIMARY KEY (\"%s\")", postgresConstraint
                     .getTableToAddConstraintTo(), postgresConstraint.getConstraintName(), postgresConstraint
                             .getColumnToAddConstraintTo());
-        } else if (postgresConstraint instanceof ForeignKeyConstraint foreignKeyConstraint) {
+        } else if (postgresConstraint instanceof ForeignKeyConstraint fkConstraint) {
             return String.format(
-                    ALTER_TABLE_TIES_DATA_S_ADD_CONSTRAINT_S + "FOREIGN KEY (\"%s\") REFERENCES ties_data.\"%s\" (id) ON DELETE CASCADE",
-                    postgresConstraint.getTableToAddConstraintTo(), postgresConstraint.getConstraintName(),
-                    postgresConstraint.getColumnToAddConstraintTo(), foreignKeyConstraint.getReferencedTable());
+                    ALTER_TABLE_TIES_DATA_S_ADD_CONSTRAINT_S + "FOREIGN KEY (\"%s\") REFERENCES ties_data.\"%s\" (\"%s\")",
+                    fkConstraint.getTableToAddConstraintTo(), fkConstraint.getConstraintName(), fkConstraint
+                            .getColumnToAddConstraintTo(), fkConstraint.getReferencedTable(), fkConstraint
+                                    .getReferencedColumn());
         } else if (postgresConstraint instanceof UniqueConstraint) {
             return String.format(ALTER_TABLE_TIES_DATA_S_ADD_CONSTRAINT_S + "UNIQUE (\"%s\")", postgresConstraint
                     .getTableToAddConstraintTo(), postgresConstraint.getConstraintName(), postgresConstraint
index a4d67ae..99b40a0 100644 (file)
@@ -156,7 +156,7 @@ public class TableBuilder {
                 COLUMN);
 
         relColumns.add(Column.builder().name(hashedRelFk).dataType(TEXT).postgresConstraints(new ArrayList<>(List.of(
-                createForeignKeyConstraints(tableName, hashedTableName, hashedReferenceTable, relFk, hashedRelFk))))
+                createForeignKeyConstraints(tableName, hashedTableName, hashedReferenceTable, ID, relFk, hashedRelFk))))
                 .build());
 
         relColumns.add(Column.builder().name(hashedRelId).dataType(TEXT).postgresConstraints(new ArrayList<>(List.of(
@@ -191,10 +191,11 @@ public class TableBuilder {
         List<Column> relColumns = new ArrayList<>(Arrays.asList(Column.builder().name(ID).dataType(TEXT)
                 .postgresConstraints(new ArrayList<>(List.of(createPrimaryKeyConstraints(tableName, hashedTableName, ID))))
                 .build(), Column.builder().name(hashedRelASide).dataType(TEXT).postgresConstraints(new ArrayList<>(List.of(
-                        createForeignKeyConstraints(tableName, hashedTableName, hashedASideMOType, relASide,
+                        createForeignKeyConstraints(tableName, hashedTableName, hashedASideMOType, ID, relASide,
                                 hashedRelASide)))).build(), Column.builder().name(hashedRelBSide).dataType(TEXT)
                                         .postgresConstraints(new ArrayList<>(List.of(createForeignKeyConstraints(tableName,
-                                                hashedTableName, hashedBSideMOType, relBSide, hashedRelBSide)))).build()));
+                                                hashedTableName, hashedBSideMOType, ID, relBSide, hashedRelBSide))))
+                                        .build()));
         rel.getConsumerData().forEach(cd -> {
             final String columnName = CONSUMER_DATA + cd.getName();
             final String hashedColumnName = hashInfoDataGenerator.generateHashAndRegisterTableRow(CONSUMER_DATA, cd
@@ -239,11 +240,13 @@ public class TableBuilder {
     }
 
     private PostgresConstraint createForeignKeyConstraints(String tableToAddForeignKeyTo,
-            String hashedTableToAddForeignKeyTo, String hashedReferenceTable, String columnName, String hashedColumnName) {
+            String hashedTableToAddForeignKeyTo, String hashedReferenceTable, String referencedColumn, String columnName,
+            String hashedColumnName) {
         String constraintName = hashInfoDataGenerator.generateHashAndRegisterTableRow(FOREIGN_KEY,
                 tableToAddForeignKeyTo + "_" + columnName, CONSTRAINT);
         return ForeignKeyConstraint.builder().constraintName(constraintName).tableName(hashedTableToAddForeignKeyTo)
-                .referencedTable(hashedReferenceTable).columnToAddConstraintTo(hashedColumnName).build();
+                .referencedTable(hashedReferenceTable).columnToAddConstraintTo(hashedColumnName).referencedColumn(
+                        referencedColumn).build();
     }
 
     private PostgresConstraint createPrimaryKeyConstraints(String tableName, String hashedTableName, String columnName) {
index d8daf99..acf8097 100644 (file)
@@ -120,8 +120,9 @@ public class TiesException extends RuntimeException {
                 "Please check the logs for more details", null);
     }
 
-    public static TiesException resourceNotFoundException() {
-        return new TiesException("Resource Not Found", "The requested resource is not found", HttpStatus.NOT_FOUND, null);
+    public static TiesException resourceNotFoundException(final String id) {
+        return new TiesException("Resource Not Found", String.format("The requested resource is not found. ID: %s", id),
+                HttpStatus.NOT_FOUND, null);
     }
 
     public static TiesException resourceNotFoundException(Set<String> entityIds, Set<String> relationshipIds) {
index 9e23820..5697ba7 100644 (file)
@@ -50,8 +50,8 @@ public abstract class ClassifiersOperation extends ConsumerDataOperation<List<St
             String id = (String) record.get(persistable.getIdColumnNameWithTableName());
             List<String> classifierListAfterUpdate = JooqTypeConverter.jsonbToList(record.get(String.format(QUOTED_STRING,
                     persistable.getClassifiersColumnName()), JSONB.class));
-            OperationResult operationResult = OperationResult.createClassifierOperationResult(id, persistable.getName(),
-                    persistable.getCategory(), classifierListAfterUpdate);
+            OperationResult operationResult = OperationResult.builder().id(id).type(persistable.getName()).category(
+                    persistable.getCategory()).classifiers(classifierListAfterUpdate).isUpdatedInDb(true).build();
 
             opResults.put(id, operationResult);
         }
index 1981cd6..e5bfea1 100644 (file)
@@ -47,8 +47,8 @@ public abstract class DecoratorsOperation extends ConsumerDataOperation<Map<Stri
             String id = (String) record.get(persistable.getIdColumnNameWithTableName());
             Map<String, Object> decoratorsAfterUpdate = JooqTypeConverter.jsonbToMap(record.get(String.format(QUOTED_STRING,
                     persistable.getDecoratorsColumnName()), JSONB.class));
-            OperationResult operationResult = OperationResult.createDecoratorOperationResult(id, persistable.getName(),
-                    persistable.getCategory(), decoratorsAfterUpdate);
+            OperationResult operationResult = OperationResult.builder().id(id).type(persistable.getName()).category(
+                    persistable.getCategory()).decorators(decoratorsAfterUpdate).isUpdatedInDb(true).build();
 
             results.put(id, operationResult);
         }
index a72a403..c189153 100644 (file)
@@ -130,7 +130,7 @@ public class DataServiceImpl implements DataService {
         final EntityType entityType = SchemaRegistry.getEntityTypeByName(entityName);
         final Result<Record> result = dataRepository.getEntityById(entityType, id);
         if (result.isEmpty()) {
-            throw TiesException.resourceNotFoundException();
+            throw TiesException.resourceNotFoundException(id);
         }
 
         return entityMapper.getItemsWithTotalCount(result).getLeft().get(0);
@@ -218,7 +218,7 @@ public class DataServiceImpl implements DataService {
         final RelationType relationType = SchemaRegistry.getRelationTypeByName(relationName);
         final Result<Record> result = dataRepository.getRelationshipById(id, relationType);
         if (result.isEmpty()) {
-            throw TiesException.resourceNotFoundException();
+            throw TiesException.resourceNotFoundException(id);
         }
 
         return relationshipMapper.getItemsWithTotalCount(result).getLeft().get(0);
index f21039f..48e63a1 100644 (file)
@@ -85,8 +85,6 @@ public class DataRepositoryImpl implements DataRepository {
             final int offset) {
         basePathRefinement.refine(filterCriteria);
         SelectOrderByStep<Record> query = PathToJooqRefinement.toJooq(filterCriteria, offset, limit);
-        log.debug("SQL: {}", query);
-
         return runMethodSafe(() -> readDataDslContext.fetch(query));
     }
 
index 300b6a4..55d29c3 100644 (file)
@@ -33,7 +33,6 @@ import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.List;
 import java.util.Objects;
-import java.util.stream.Collectors;
 
 import org.jooq.Condition;
 import org.jooq.JSONB;
@@ -43,7 +42,6 @@ import org.oran.smo.teiv.schema.DataType;
 import org.oran.smo.teiv.schema.EntityType;
 import org.oran.smo.teiv.schema.Persistable;
 import org.oran.smo.teiv.schema.RelationType;
-import org.oran.smo.teiv.schema.RelationshipDataLocation;
 import org.oran.smo.teiv.schema.SchemaRegistry;
 import org.oran.smo.teiv.utils.query.exception.TiesPathException;
 
@@ -89,58 +87,13 @@ public class ConditionFactory {
                     return JSONB.valueOf(scopeObject.getParameter());
                 }
                 case GEOGRAPHIC -> {
-                    validateGeographicPoint(scopeObject.getParameter(), true);
+                    validateGeographicPoint(scopeObject.getParameter());
                     return scopeObject.getParameter();
                 }
                 default -> throw TiesPathException.invalidQueryCondition("Unexpected value: " + scopeObject.getDataType());
             }
         }
 
-        protected static String processContainers(final Persistable persistable, final List<String> innerContainer) {
-            String tableName = persistable.getTableName();
-            String rootElement = name(innerContainer.get(0)).toString();
-            if (innerContainer.size() == 1) {
-                return String.format("%s.%s", tableName, rootElement);
-            }
-
-            List<String> remainingElements = innerContainer.subList(1, innerContainer.size());
-            String path = remainingElements.stream().map(element -> String.format("'%s'", element)).collect(Collectors
-                    .joining(" -> "));
-            return String.format("%s.%s -> %s", tableName, rootElement, path);
-        }
-
-        protected static String processArrayContainers(final Persistable persistable, final List<String> innerContainer) {
-            String tableName = persistable.getTableName();
-            String rootElement = name(innerContainer.get(0)).toString();
-            if (innerContainer.size() == 1) {
-                return String.format("%s.%s", tableName, rootElement);
-            }
-
-            List<String> middleElements = innerContainer.subList(1, innerContainer.size() - 1);
-            String middlePath = middleElements.stream().map(element -> String.format("'%s'", element)).collect(Collectors
-                    .joining(" -> "));
-
-            String lastElement = String.format("'%s'", innerContainer.get(innerContainer.size() - 1));
-            String path = middleElements.isEmpty() ?
-                    String.format("->> %s", lastElement) :
-                    String.format("-> %s ->> %s", middlePath, lastElement);
-            return String.format("%s.%s %s", tableName, rootElement, path);
-        }
-
-        public static String handleEqComplexParameter(final ScopeObject scopeObject) {
-            if (scopeObject.getDataType() == DataType.INTEGER) {
-                return scopeObject.getParameter();
-            }
-            return String.valueOf(name(scopeObject.getParameter()));
-        }
-
-        public static String handleLikeComplexParameter(final ScopeObject scopeObject) {
-            if (scopeObject.getDataType() == DataType.INTEGER) {
-                return scopeObject.getParameter();
-            }
-            return String.format("%%%s%%", scopeObject.getParameter());
-        }
-
         protected static Persistable getPersistable(final ScopeObject scopeObject) {
             switch (scopeObject.getTopologyObjectType()) {
                 case ENTITY -> {
@@ -153,20 +106,13 @@ public class ConditionFactory {
             }
         }
 
-        private static void validateGeographicPoint(final String point, boolean allowHeight) {
+        private static void validateGeographicPoint(final String point) {
             final boolean is2D = point.matches("(?i)POINT\\([-?\\d]+(\\.\\d+)? -?\\d+(\\.\\d+)?\\)");
             final boolean is3D = point.matches("(?i)POINT Z \\([-?\\d]+(\\.\\d+)? -?\\d+(\\.\\d+)? -?\\d+(\\.\\d+)?\\)");
 
             if (!is2D && !is3D) {
-                if (allowHeight) {
-                    throw TiesPathException.invalidQueryCondition(
-                            "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)");
-                } else {
-                    throw TiesPathException.invalidQueryCondition(
-                            "Invalid geographic format, geographic type must be 2D coordinate. For example: POINT(39.40 67.94)");
-                }
-            } else if (is3D && !allowHeight) {
-                throw TiesPathException.invalidQueryCondition("Invalid geographic format, 3D coordinates are not allowed.");
+                throw TiesPathException.invalidQueryCondition(
+                        "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)");
             }
         }
     }
@@ -175,85 +121,130 @@ public class ConditionFactory {
 
         @Override
         public Condition getCondition(final ScopeObject scopeObject) {
-            return switch (scopeObject.getQueryFunction()) {
-                case EQ -> equalsCondition(scopeObject);
-                case CONTAINS -> containsCondition(scopeObject);
-                case WITHIN_METERS -> withinMetersCondition(scopeObject);
-                case COVERED_BY -> coveredByCondition(scopeObject);
-                case NOT_NULL -> {
-                    if (!scopeObject.getInnerContainer().isEmpty()) {
-                        throw TiesPathException.invalidQueryCondition("Inner container should be empty");
+            if (scopeObject.getInnerContainer().isEmpty()) {
+                return handleSimpleAttribute(scopeObject);
+            }
+            return handleComplexAttribute(scopeObject);
+        }
+
+        private Condition handleSimpleAttribute(final ScopeObject scopeObject) {
+            switch (scopeObject.getQueryFunction()) {
+                case EQ -> {
+                    if (scopeObject.getDataType().equals(DataType.GEOGRAPHIC)) {
+                        return condition("? = st_geomfromtext(?)", field(handleSimpleLeaf(scopeObject)), val(convert(
+                                scopeObject)));
                     }
-                    yield field(getTableNameWithColumnName(getPersistable(scopeObject).getTableName(), scopeObject
-                            .getLeaf())).isNotNull();
+                    return field(handleSimpleLeaf(scopeObject)).eq(convert(scopeObject));
                 }
-                default -> {
-                    throw TiesPathException.invalidQueryFunction();
+                case CONTAINS -> {
+                    if (scopeObject.getDataType().equals(DataType.GEOGRAPHIC)) {
+                        throw TiesPathException.invalidQueryCondition("Cannot have CONTAINS on geography type data");
+                    }
+                    return field(handleSimpleLeaf(scopeObject)).contains(convert(scopeObject));
                 }
-            };
-        }
+                case WITHIN_METERS -> {
+                    if (!scopeObject.getDataType().equals(DataType.GEOGRAPHIC)) {
+                        throw TiesPathException.invalidQueryCondition("Within meters condition needs geography type data");
+                    }
 
-        private static Condition equalsCondition(final ScopeObject scopeObject) {
-            if (scopeObject.getInnerContainer().isEmpty()) {
-                if (scopeObject.getDataType() == DataType.GEOGRAPHIC) {
-                    return condition(getTableNameWithColumnName(getPersistable(scopeObject).getTableName(), scopeObject
-                            .getLeaf()) + " = st_geomfromtext(?)", val(convert(scopeObject)));
+                    String[] parameters = scopeObject.getParameter().split(",");
+                    if (parameters.length != 2 || !parameters[0].matches(pointRegex)) {
+                        throw TiesPathException.invalidQueryCondition("Invalid parameter for within meters condition");
+                    }
+
+                    return condition("ST_DWithin(?, ST_GeographyFromText(?), ?)", field("\"" + scopeObject
+                            .getLeaf() + "\""), field(parameters[0]), field(parameters[1].replaceAll(" ", "")));
+                }
+                case COVERED_BY -> {
+                    if (!scopeObject.getDataType().equals(DataType.GEOGRAPHIC)) {
+                        throw TiesPathException.invalidQueryCondition("Covered by condition needs geography type data");
+                    }
+
+                    if (!scopeObject.getParameter().matches(polygonRegex)) {
+                        throw TiesPathException.invalidQueryCondition("Invalid parameter for covered by condition");
+                    }
+
+                    return condition("ST_CoveredBy(?, ST_GeographyFromText(?))", field("\"" + scopeObject.getLeaf() + "\""),
+                            val(scopeObject.getParameter()));
+                }
+                default -> {
+                    return field(handleSimpleLeaf(scopeObject)).isNotNull();
                 }
-                return field(getTableNameWithColumnName(getPersistable(scopeObject).getTableName(), scopeObject.getLeaf()))
-                        .eq(convert(scopeObject));
-            } else if (scopeObject.getLeaf().equals(ITEM)) {
-                return condition(processContainers(getPersistable(scopeObject), scopeObject.getInnerContainer()) + " @> ?",
-                        inline(handleEqComplexParameter(scopeObject)));
-            } else {
-                return field(processContainers(getPersistable(scopeObject), scopeObject.getInnerContainer()) + " -> ?", val(
-                        scopeObject.getLeaf())).eq(field(inline(handleEqComplexParameter(scopeObject))));
             }
         }
 
-        private static Condition containsCondition(final ScopeObject scopeObject) {
-            if (scopeObject.getInnerContainer().isEmpty()) {
-                if (scopeObject.getDataType() == DataType.GEOGRAPHIC) {
-                    throw TiesPathException.invalidQueryCondition("Cannot have CONTAINS on geography type data");
-                }
-                return field(getTableNameWithColumnName(getPersistable(scopeObject).getTableName(), scopeObject.getLeaf()))
-                        .contains(convert(scopeObject));
-            } else if (scopeObject.getLeaf().equals(ITEM)) {
-                return condition(processArrayContainers(getPersistable(scopeObject), scopeObject
-                        .getInnerContainer()) + "::text like ?", val("%" + scopeObject.getParameter() + "%"));
-            } else {
-                return condition(field(processContainers(getPersistable(scopeObject), scopeObject
-                        .getInnerContainer()) + " ->> ?", val(scopeObject.getLeaf())).like(handleLikeComplexParameter(
+        private Condition handleComplexAttribute(final ScopeObject scopeObject) {
+            switch (scopeObject.getQueryFunction()) {
+                case EQ -> {
+                    if (scopeObject.getLeaf().equals(ITEM)) {
+                        return condition(handleContainers(scopeObject) + " @> ?", inline(handleEqComplexParameter(
                                 scopeObject)));
+                    }
+                    return field(handleContainers(scopeObject) + " -> ?", val(scopeObject.getLeaf())).eq(field(applyQuotes(
+                            handleEqComplexParameter(scopeObject))));
+                }
+                case CONTAINS -> {
+                    if (scopeObject.getLeaf().equals(ITEM)) {
+                        return condition(handleContainersForArray(scopeObject) + "::text like ?", val("%" + scopeObject
+                                .getParameter() + "%"));
+                    }
+                    return condition(field(handleContainers(scopeObject) + " ->> ?", val(scopeObject.getLeaf())).like(
+                            handleLikeComplexParameter(scopeObject)));
+                }
+                default -> throw TiesPathException.invalidQueryFunction();
             }
         }
 
-        private static Condition withinMetersCondition(final ScopeObject scopeObject) {
-            if (scopeObject.getDataType() != DataType.GEOGRAPHIC) {
-                throw TiesPathException.invalidQueryCondition("Within meters condition needs geography type data");
+        private String handleEqComplexParameter(final ScopeObject scopeObject) {
+            if (scopeObject.getDataType().equals(DataType.INTEGER)) {
+                return scopeObject.getParameter();
             }
+            return String.valueOf(name(scopeObject.getParameter()));
+        }
 
-            String[] parameters = scopeObject.getParameter().split(",");
-            if (parameters.length != 2 || !parameters[0].matches(pointRegex)) {
-                throw TiesPathException.invalidQueryCondition("Invalid parameter for within meters condition");
+        private String handleLikeComplexParameter(final ScopeObject scopeObject) {
+            if (scopeObject.getDataType().equals(DataType.INTEGER)) {
+                return scopeObject.getParameter();
             }
+            return String.format("%%%s%%", scopeObject.getParameter());
+        }
 
-            return condition("ST_DWithin(?, ST_GeographyFromText(?), ?)", field("\"" + scopeObject.getLeaf() + "\""), field(
-                    parameters[0]), field(parameters[1].replaceAll(" ", "")));
+        private String handleSimpleLeaf(final ScopeObject scopeObject) {
+            return getPersistable(scopeObject).getTableName() + "." + name(scopeObject.getLeaf());
         }
 
-        private static Condition coveredByCondition(final ScopeObject scopeObject) {
-            if (scopeObject.getDataType() != DataType.GEOGRAPHIC) {
-                throw TiesPathException.invalidQueryCondition("Covered by condition needs geography type data");
-            }
+        private String handleContainers(final ScopeObject scopeObject) {
 
-            if (!scopeObject.getParameter().matches(polygonRegex)) {
-                throw TiesPathException.invalidQueryCondition("Invalid parameter for covered by condition");
+            if (scopeObject.getInnerContainer().size() > 1) {
+                StringBuilder sb = new StringBuilder();
+
+                for (String element : scopeObject.getInnerContainer().subList(1, scopeObject.getInnerContainer().size())) {
+                    sb.append(" -> ").append(applyQuotes(element));
+                }
+                return getPersistable(scopeObject).getTableName() + "." + name(scopeObject.getInnerContainer().get(0)) + sb;
             }
+            return getPersistable(scopeObject).getTableName() + "." + name(scopeObject.getInnerContainer().get(0));
+        }
 
-            return condition("ST_CoveredBy(?, ST_GeographyFromText(?))", field("\"" + scopeObject.getLeaf() + "\""), val(
-                    scopeObject.getParameter()));
+        private String handleContainersForArray(final ScopeObject scopeObject) {
+
+            if (scopeObject.getInnerContainer().size() > 1) {
+                StringBuilder sb = new StringBuilder();
+
+                for (String element : scopeObject.getInnerContainer().subList(1, scopeObject.getInnerContainer()
+                        .size() - 1)) {
+                    sb.append(" -> ").append(applyQuotes(element));
+                }
+                sb.append(" ->> ").append(applyQuotes(scopeObject.getInnerContainer().get(scopeObject.getInnerContainer()
+                        .size() - 1)));
+                return getPersistable(scopeObject).getTableName() + "." + name(scopeObject.getInnerContainer().get(0)) + sb;
+            }
+            return getPersistable(scopeObject).getTableName() + "." + name(scopeObject.getInnerContainer().get(0));
         }
 
+        private static String applyQuotes(String element) {
+            return String.format("'%s'", element);
+        }
     }
 
     static class RelationCondition extends AnyCondition {
@@ -307,133 +298,64 @@ public class ConditionFactory {
         @Override
         public Condition getCondition(final ScopeObject scopeObject) {
             return switch (scopeObject.getQueryFunction()) {
-                case EQ, CONTAINS -> createEqOrContainsCondition(scopeObject);
+                case EQ, CONTAINS, COVERED_BY, WITHIN_METERS -> createCondition(scopeObject);
                 case NOT_NULL -> field(SchemaRegistry.getReferenceColumnName(getRelationType(scopeObject))).isNotNull();
-                default -> throw TiesPathException.invalidQueryFunction();
             };
         }
 
-        private Condition createEqOrContainsCondition(final ScopeObject scopeObject) {
-            return scopeObject.getLeaf().equals("id") ?
-                    createIdCondition(scopeObject) :
-                    createAttributeCondition(scopeObject);
-        }
-
-        private static Condition createIdCondition(final ScopeObject scopeObject) {
-            RelationType relation = getRelationType(scopeObject);
-            if (scopeObject.getDataType() == null) {
-                scopeObject.setDataType(DataType.PRIMITIVE);
-            }
-
-            String idColumn = getIdColumn(scopeObject, relation);
-            if (relation.getRelationshipStorageLocation() == RelationshipDataLocation.RELATION) {
-                String fullColumnName = getTableNameWithColumnName(relation.getTableName(), idColumn);
-                return createEqualsOrContainsCondition(scopeObject, fullColumnName);
-            }
-
-            EntityType entityType = relation.getStoringSideEntityType();
-            idColumn = relation.getNotStoringSideEntityIdColumnNameInStoringSideTable();
-            boolean isEntityTypeMatch = matchTopologyObjectOrAssociation(scopeObject, entityType);
-            if (isEntityTypeMatch) {
-                String fullIdColumn = getTableNameWithColumnName(entityType.getTableName(), idColumn);
-                return createEqualsOrContainsCondition(scopeObject, fullIdColumn);
+        private Condition createCondition(final ScopeObject scopeObject) {
+            if (scopeObject.getLeaf().equals("id")) {
+                return createIdConditionForFilterSide(scopeObject);
             }
-
-            String nonNullColumn = getTableNameWithColumnName(entityType.getTableName(), idColumn);
-            String fullIdColumn = getTableNameWithColumnName(entityType.getTableName(), entityType.getIdColumnName());
-            return field(nonNullColumn).isNotNull().and(createEqualsOrContainsCondition(scopeObject, fullIdColumn));
+            return createAttributeConditionForFilterSide(scopeObject);
         }
 
-        private static Condition createAttributeCondition(final ScopeObject scopeObject) {
+        private Condition createIdConditionForFilterSide(final ScopeObject scopeObject) {
+            RelationType relation = getRelationType(scopeObject);
+            String associationName = scopeObject.getInnerContainer().get(0);
+            EntityType filter = relation.getAssociationSide(associationName);
+            ScopeObject modifiedScopeObject = ScopeObject.copy(scopeObject);
+            modifiedScopeObject.setContainer(ContainerType.ID);
+            modifiedScopeObject.setTopologyObject(filter.getName());
+            modifiedScopeObject.setTopologyObjectType(TopologyObjectType.ENTITY);
+            modifiedScopeObject.setDataType(DataType.PRIMITIVE);
+            return ConditionFactory.create(modifiedScopeObject).getCondition(modifiedScopeObject);
+        }
+
+        private Condition createAttributeConditionForFilterSide(final ScopeObject scopeObject) {
+            ScopeObject modifiedScopeObject = ScopeObject.copy(scopeObject);
             RelationType relation = getRelationType(scopeObject);
-            EntityType entityType = getEntityTypeOnFilterSide(scopeObject, relation);
+            EntityType filter = relation.getAssociationSide(scopeObject.getInnerContainer().get(0));
+            modifiedScopeObject.setContainer(ContainerType.ATTRIBUTES);
+            modifiedScopeObject.setTopologyObject(filter.getName());
+            modifiedScopeObject.setInnerContainer(modifiedScopeObject.getInnerContainer().subList(1, modifiedScopeObject
+                    .getInnerContainer().size()));
+            modifiedScopeObject.setTopologyObjectType(TopologyObjectType.ENTITY);
             if (scopeObject.getDataType() == null) {
-                throw TiesPathException.invalidQueryCondition("Datatype for parameter is missing");
-            }
-            if (scopeObject.getQueryFunction().equals(QueryFunction.CONTAINS) && scopeObject.getDataType().equals(
-                    DataType.GEOGRAPHIC)) {
-                throw TiesPathException.invalidQueryCondition("Cannot have CONTAINS on geography type data");
-            }
-            List<String> innerContainer = scopeObject.getInnerContainer().subList(1, scopeObject.getInnerContainer()
-                    .size());
-            if (innerContainer.isEmpty() && scopeObject.getDataType() == DataType.GEOGRAPHIC) {
-                return condition(getTableNameWithColumnName(entityType.getTableName(), scopeObject
-                        .getLeaf()) + " = st_geomfromtext(?)", val(convert(scopeObject)));
-            }
-
-            String compareField = getAttributeColumn(scopeObject, innerContainer, relation);
-            if (!relation.getRelationshipStorageLocation().equals(RelationshipDataLocation.RELATION)) {
-                if (relation.getStoringSideEntityType().equals(entityType)) {
-                    String idColumn = getTableNameWithColumnName(entityType.getTableName(), getIdColumn(scopeObject,
-                            relation));
-                    return field(idColumn).isNotNull().and(createEqualsOrContainsCondition(scopeObject, compareField));
-                }
-                return createEqualsOrContainsCondition(scopeObject, compareField);
+                throw TiesPathException.invalidQueryCondition("Data type was not found");
             }
-            return createEqualsOrContainsCondition(scopeObject, compareField);
-        }
-
-        private static String getIdColumn(final ScopeObject scopeObject, final RelationType relation) {
-            if (relation.getRelationshipStorageLocation() != RelationshipDataLocation.RELATION) {
-                return relation.getNotStoringSideEntityIdColumnNameInStoringSideTable();
+            Condition condition = ConditionFactory.create(modifiedScopeObject).getCondition(modifiedScopeObject);
+            if (filter.equals(relation.getStoringSideEntityType())) {
+                condition = field(getTableNameWithColumnName(filter.getTableName(), relation
+                        .getNotStoringSideEntityIdColumnNameInStoringSideTable())).isNotNull().and(condition);
             }
-            if (!relation.isConnectsSameEntity()) {
-                return matchTopologyObjectOrAssociation(scopeObject, relation.getASide()) ?
-                        relation.bSideColumnName() :
-                        relation.aSideColumnName();
-            }
-            boolean aSideAssociation = relation.getASideAssociation().getName().equals(scopeObject.getInnerContainer().get(
-                    0));
-            return aSideAssociation ? relation.aSideColumnName() : relation.bSideColumnName();
-        }
-
-        private static String getAttributeColumn(final ScopeObject scopeObject, final List<String> innerContainer,
-                final RelationType relation) {
-            if (!scopeObject.getTopologyObjectType().equals(TopologyObjectType.ENTITY)) {
-                throw TiesPathException.invalidTopologyObjectType();
-            }
-            EntityType entityType = getEntityTypeOnFilterSide(scopeObject, relation);
-            if (innerContainer.isEmpty()) {
-                return getTableNameWithColumnName(entityType.getTableName(), scopeObject.getLeaf());
-            }
-            return processContainers(entityType, innerContainer) + String.format(" -> '%s'", scopeObject.getLeaf());
+            return condition;
         }
 
         private static RelationType getRelationType(final ScopeObject scopeObject) {
-            switch (scopeObject.getTopologyObjectType()) {
-                case ENTITY:
-                    return SchemaRegistry.getAllRelationNamesByAssociationName(scopeObject.getInnerContainer().get(0))
-                            .stream().filter(r -> topologyObjectEquals(scopeObject, r.getASide()) || topologyObjectEquals(
-                                    scopeObject, r.getBSide())).findFirst().orElseThrow(() -> TiesPathException
-                                            .invalidQueryCondition("Relation was not found"));
-                case RELATION:
-                    return SchemaRegistry.getRelationTypeByName(scopeObject.getTopologyObject());
-                default:
-                    throw TiesPathException.invalidTopologyObjectType();
-            }
-        }
-
-        private static EntityType getEntityTypeOnFilterSide(final ScopeObject scopeObject, final RelationType relation) {
-            boolean isTopologyObjASide = matchTopologyObjectOrAssociation(scopeObject, relation.getASide());
-            return isTopologyObjASide ? relation.getBSide() : relation.getASide();
-        }
-
-        private static boolean matchTopologyObjectOrAssociation(final ScopeObject scopeObject,
-                final EntityType entityType) {
-            RelationType relation = getRelationType(scopeObject);
-            return topologyObjectEquals(scopeObject, entityType) || SchemaRegistry.getEntityTypeOnAssociationSide(relation,
-                    scopeObject.getInnerContainer().get(0)).equals(entityType);
+            return switch (scopeObject.getTopologyObjectType()) {
+                case ENTITY -> SchemaRegistry.getAllRelationNamesByAssociationName(scopeObject.getInnerContainer().get(0))
+                        .stream().filter(r -> topologyObjectEquals(scopeObject, r.getASide()) || topologyObjectEquals(
+                                scopeObject, r.getBSide())).findFirst().orElseThrow(() -> TiesPathException
+                                        .invalidQueryCondition("Relation was not found"));
+                case RELATION -> SchemaRegistry.getRelationTypeByName(scopeObject.getTopologyObject());
+                default -> throw TiesPathException.invalidTopologyObjectType();
+            };
         }
 
         private static boolean topologyObjectEquals(final ScopeObject scopeObject, final EntityType entityType) {
             return entityType.getName().equals(scopeObject.getTopologyObject());
         }
-
-        private static Condition createEqualsOrContainsCondition(final ScopeObject scopeObject, final String field) {
-            return scopeObject.getQueryFunction() == EQ ?
-                    condition(field(field).eq(convert(scopeObject))) :
-                    condition(field(field).contains(convert(scopeObject)));
-        }
     }
 
     static class MetaDataMapCondition extends AnyCondition {
index 8b71412..6c309e4 100644 (file)
@@ -43,11 +43,13 @@ import org.jooq.Table;
 import lombok.Builder;
 import lombok.Data;
 import org.oran.smo.teiv.exception.TiesException;
+import org.oran.smo.teiv.schema.BidiDbNameMapper;
 import org.oran.smo.teiv.schema.DataType;
 import org.oran.smo.teiv.schema.Persistable;
 import org.oran.smo.teiv.schema.RelationType;
 import org.oran.smo.teiv.schema.SchemaRegistry;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -151,6 +153,25 @@ public class InnerFilterCriteria {
                 ID_COLUMN_NAME))), select);
     }
 
+    public RelationType getRelationTypeFromTarget(TargetObject targetObject) {
+        switch (targetObject.getTopologyObjectType()) {
+            case ENTITY -> {
+                List<Table> tables = new ArrayList<>(getTables());
+                String associationTable = tables.get(tables.size() - 1).getName().replace("ties_data.", "").replace("\"",
+                        "");
+                String targetTable = tables.get(0).getName().replace("ties_data.", "").replace("\"", "");
+                String associationEntity = BidiDbNameMapper.getModelledName(associationTable).split("_")[1];
+                String targetEntity = BidiDbNameMapper.getModelledName(targetTable).split("_")[1];
+                return SchemaRegistry.getRelationTypeBetweenEntities(targetEntity, associationEntity);
+            }
+            case RELATION -> {
+                return SchemaRegistry.getRelationTypes().stream().filter(entityType -> entityType.getName().equals(
+                        targetObject.getTopologyObject())).findFirst().orElse(null);
+            }
+            default -> throw TiesException.unParsedTopologyObjectType(targetObject.getTopologyObject());
+        }
+    }
+
     public Table getTableFromTarget(TargetObject targetObject) {
         switch (targetObject.getTopologyObjectType()) {
             case ENTITY -> {
index e44e101..9befc59 100644 (file)
@@ -31,6 +31,7 @@ import java.util.Set;
 @Data
 public abstract class LogicalBlock {
     private boolean isValid = true;
+    private boolean isFirstHop = false;
 
     public abstract Condition getCondition();
 
index 6b4fb0f..cb2021a 100644 (file)
@@ -22,7 +22,6 @@ package org.oran.smo.teiv.exposure.tiespath.innerlanguage;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
 import org.jooq.Condition;
@@ -30,6 +29,7 @@ import org.jooq.Field;
 import org.jooq.Table;
 import org.oran.smo.teiv.exception.TiesException;
 import org.oran.smo.teiv.schema.EntityType;
+import org.oran.smo.teiv.schema.RelationCardinality;
 import org.oran.smo.teiv.schema.RelationType;
 import org.oran.smo.teiv.schema.RelationshipDataLocation;
 import org.oran.smo.teiv.schema.SchemaRegistry;
@@ -44,11 +44,9 @@ import static org.jooq.impl.DSL.field;
 import static org.jooq.impl.DSL.table;
 import static org.oran.smo.teiv.utils.PersistableUtil.getTableNameWithColumnName;
 import static org.oran.smo.teiv.utils.TiesConstants.ID_COLUMN_NAME;
-import static org.oran.smo.teiv.utils.TiesConstants.QUOTED_STRING;
 
 @Data
 @EqualsAndHashCode(callSuper = true)
-@RequiredArgsConstructor
 public class ScopeLogicalBlock extends LogicalBlock {
     private final ScopeObject scopeObject;
 
@@ -62,55 +60,98 @@ public class ScopeLogicalBlock extends LogicalBlock {
 
         Set<Table> result = new HashSet<>();
 
-        if (scopeObject.getContainer().equals(ContainerType.ASSOCIATION)) {
-            result.add(addAssociationToTable());
-        } else if (scopeObject.getTopologyObjectType() == TopologyObjectType.ENTITY) {
-            result.add(addEntityToTable());
+        if (scopeObject.getTopologyObjectType() == TopologyObjectType.ENTITY) {
+            result.add(getEntityTable());
         } else if (scopeObject.getTopologyObjectType() == TopologyObjectType.RELATION) {
-            result.add(addRelationToTable());
+            result.add(getRelationTable());
         } else if (scopeObject.getTopologyObjectType() == TopologyObjectType.UNDEFINED) {
             throw TiesException.unknownTopologyObjectType(scopeObject.getTopologyObject());
         }
-
+        if (scopeObject.getContainer().equals(ContainerType.ASSOCIATION)) {
+            result.add(getAssociationTable());
+        }
         return result;
     }
 
     public Set<Pair<String, Field>> getJoinCondition() {
-        HashSet<Pair<String, Field>> joinCondition = new HashSet<>();
-        if (scopeObject.getContainer().equals(ContainerType.ASSOCIATION) && scopeObject.getTopologyObjectType().equals(
-                TopologyObjectType.ENTITY)) {
-            EntityType entityType = SchemaRegistry.getEntityTypeByName(scopeObject.getTopologyObject());
-            String association = scopeObject.getInnerContainer().get(0);
-            List<RelationType> relationTypes = SchemaRegistry.getAllRelationNamesByAssociationName(association);
-
-            RelationType relationType = relationTypes.stream().filter(relation -> relation.getASide().equals(
-                    entityType) || relation.getBSide().equals(entityType)).findFirst().orElseThrow(() -> TiesPathException
-                            .invalidAssociation(entityType.getName(), association));
-
-            if (relationType.getRelationshipStorageLocation().equals(RelationshipDataLocation.RELATION)) {
-                String columnName = "";
-                if (relationType.getASide().equals(entityType)) {
-                    columnName = relationType.aSideColumnName();
-                } else {
-                    columnName = relationType.bSideColumnName();
-                }
-                String col1 = constructColumnNameForJoinCondition(relationType, columnName);
-                String col2 = getTableNameWithColumnName(entityType.getTableName(), ID_COLUMN_NAME);
+        if (scopeObject.getContainer().equals(ContainerType.ASSOCIATION)) {
+            switch (scopeObject.getTopologyObjectType()) {
+                case ENTITY:
+                    return constructEntityAssociationJoin(scopeObject);
+                case RELATION:
+                    return constructRelationAssociationJoin(scopeObject);
+                default:
+                    break;
+            }
+        }
+        return new HashSet<>();
+    }
 
-                joinCondition.add(constructJoinConditionPair(relationType, col1, col2));
-            } else if (!relationType.getStoringSideEntityType().getName().equals(scopeObject.getTopologyObject())) {
-                String col1 = constructColumnNameForJoinCondition(relationType, relationType
-                        .getNotStoringSideEntityIdColumnNameInStoringSideTable());
-                String col2 = getTableNameWithColumnName(relationType.getNotStoringSideTableName(), ID_COLUMN_NAME);
+    private static Set<Pair<String, Field>> constructEntityAssociationJoin(ScopeObject scopeObject) {
+        Set<Pair<String, Field>> joinCondition = new HashSet<>();
+        EntityType entityType = SchemaRegistry.getEntityTypeByName(scopeObject.getTopologyObject());
+        String association = scopeObject.getInnerContainer().get(0);
+        List<RelationType> relationTypes = SchemaRegistry.getAllRelationNamesByAssociationName(association);
+
+        RelationType relationType = relationTypes.stream().filter(relation -> relation.getASide().equals(
+                entityType) || relation.getBSide().equals(entityType)).findFirst().orElseThrow(() -> TiesPathException
+                        .invalidAssociation(entityType.getName(), association));
+        if (relationType.getRelationshipStorageLocation().equals(RelationshipDataLocation.RELATION)) {
+            String columnName = relationType.getASide().equals(entityType) ?
+                    relationType.aSideColumnName() :
+                    relationType.bSideColumnName();
+            String col1 = getTableNameWithColumnName(relationType.getTableName(), columnName);
+            String col2 = getTableNameWithColumnName(entityType.getTableName(), ID_COLUMN_NAME);
+            joinCondition.add(constructJoinConditionPair(relationType, col1, col2));
+        } else if (!relationType.getStoringSideEntityType().getName().equals(scopeObject.getTopologyObject())) {
+            String col1 = getTableNameWithColumnName(relationType.getTableName(), relationType
+                    .getNotStoringSideEntityIdColumnNameInStoringSideTable());
+            String col2 = getTableNameWithColumnName(relationType.getNotStoringSideTableName(), ID_COLUMN_NAME);
+            joinCondition.add(constructJoinConditionPair(relationType, col1, col2));
+        }
+        return joinCondition;
+    }
 
-                joinCondition.add(constructJoinConditionPair(relationType, col1, col2));
-            }
+    private static HashSet<Pair<String, Field>> constructRelationAssociationJoin(ScopeObject scopeObject) {
+        HashSet<Pair<String, Field>> joinCondition = new HashSet<>();
+        String association = scopeObject.getInnerContainer().get(0);
+        List<RelationType> relationTypes = SchemaRegistry.getAllRelationNamesByAssociationName(association);
+
+        RelationType relationType = relationTypes.stream().filter(relation -> relation.getName().equals(scopeObject
+                .getTopologyObject())).findFirst().orElseThrow(() -> TiesPathException.invalidAssociation(scopeObject
+                        .getTopologyObject(), association));
+
+        EntityType targetEntity = relationType.getAssociationSide(association);
+        RelationCardinality relationCardinality = relationType.getRelationCardinality(targetEntity.getName());
+        if (relationCardinality == RelationCardinality.ONE_TO_MANY || relationCardinality == RelationCardinality.MANY_TO_ONE) {
+            String tableName = relationCardinality == RelationCardinality.ONE_TO_MANY ?
+                    relationType.getTableName() :
+                    targetEntity.getTableName();
+            Pair<String, Field> pairOneToMany = createJoinPair(tableName, relationType.getNotStoringSideTableName(),
+                    relationType.getNotStoringSideEntityIdColumnNameInStoringSideTable());
+            joinCondition.add(pairOneToMany);
+        } else if (relationCardinality == RelationCardinality.MANY_TO_MANY || relationCardinality == RelationCardinality.ONE_TO_ONE) {
+            Pair<String, Field> pairRelationTable = createMultipleJoinPair(relationType.getTableName(), relationType
+                    .getBSide().getTableName(), relationType.aSideColumnName(), relationType.bSideColumnName());
+            joinCondition.add(pairRelationTable);
         }
         return joinCondition;
     }
 
-    private static String constructColumnNameForJoinCondition(RelationType relationType, String columnName) {
-        return relationType.getTableName() + "." + String.format(QUOTED_STRING, columnName);
+    private static Pair<String, Field> createJoinPair(String tableName, String tableName2, String foreignKeyColumn) {
+        String foreignKeyField = getTableNameWithColumnName(tableName, foreignKeyColumn);
+        String idField = getTableNameWithColumnName(tableName2, ID_COLUMN_NAME);
+        return new ImmutablePair<>(tableName2, field(foreignKeyField + "=" + idField));
+    }
+
+    private static Pair<String, Field> createMultipleJoinPair(String tableName, String relationTable,
+            String foreignKeyColumn, String foreignKeyColumn2) {
+        String foreignKeyField = getTableNameWithColumnName(tableName, foreignKeyColumn);
+        String foreignKeyField2 = getTableNameWithColumnName(tableName, foreignKeyColumn2);
+        String idField = getTableNameWithColumnName(relationTable, ID_COLUMN_NAME);
+        String idField2 = getTableNameWithColumnName(relationTable, ID_COLUMN_NAME);
+        return new ImmutablePair<>(relationTable, field(foreignKeyField + "=" + idField + " OR " + field(
+                foreignKeyField2 + "=" + idField2)));
     }
 
     private static Pair<String, Field> constructJoinConditionPair(RelationType relationType, String col1, String col2) {
@@ -118,22 +159,23 @@ public class ScopeLogicalBlock extends LogicalBlock {
         return new ImmutablePair<>(relationType.getTableName(), equalsField);
     }
 
-    private Table addEntityToTable() {
+    private Table getEntityTable() {
         return table(SchemaRegistry.getEntityTypeByName(scopeObject.getTopologyObject()).getTableName());
     }
 
-    private Table addRelationToTable() {
+    private Table getRelationTable() {
         return table(SchemaRegistry.getRelationTypeByName(scopeObject.getTopologyObject()).getTableName());
     }
 
-    private Table addAssociationToTable() {
+    private Table getAssociationTable() {
         List<RelationType> relationTypes = SchemaRegistry.getAllRelationNamesByAssociationName(scopeObject
                 .getInnerContainer().get(0));
         if (scopeObject.getTopologyObjectType().equals(TopologyObjectType.ENTITY)) {
             for (RelationType relation : relationTypes) {
-                if (relation.getASide().getName().equals(scopeObject.getTopologyObject()) || relation.getBSide().getName()
-                        .equals(scopeObject.getTopologyObject())) {
-                    return table(relation.getTableName());
+                if (relation.getASide().getName().equals(scopeObject.getTopologyObject())) {
+                    return table(relation.getBSide().getTableName());
+                } else if (relation.getBSide().getName().equals(scopeObject.getTopologyObject())) {
+                    return table(relation.getASide().getTableName());
                 }
             }
         } else {
@@ -146,4 +188,8 @@ public class ScopeLogicalBlock extends LogicalBlock {
         throw TiesException.invalidAssociationType(scopeObject.getInnerContainer().get(0));
     }
 
+    @Override
+    public boolean isFirstHop() {
+        return scopeObject.getContainer() != null && scopeObject.getContainer().equals(ContainerType.ASSOCIATION);
+    }
 }
index 52e0396..1fb03d3 100644 (file)
@@ -25,6 +25,7 @@ import org.oran.smo.teiv.exposure.tiespath.resolver.ResolverDataType;
 import org.oran.smo.teiv.schema.DataType;
 import lombok.Data;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Data
@@ -45,4 +46,12 @@ public class ScopeObject {
     public static ScopeObjectBuilder builder(final String topologyObject) {
         return hiddenBuilder().topologyObject(topologyObject);
     }
+
+    public static ScopeObject copy(final ScopeObject scopeObject) {
+        return builder(scopeObject.getTopologyObject()).topologyObjectType(scopeObject.getTopologyObjectType()).container(
+                scopeObject.getContainer()).innerContainer(new ArrayList<>(scopeObject.getInnerContainer())).leaf(
+                        scopeObject.getLeaf()).queryFunction(scopeObject.getQueryFunction()).parameter(scopeObject
+                                .getParameter()).dataType(scopeObject.getDataType()).resolverDataType(scopeObject
+                                        .getResolverDataType()).build();
+    }
 }
index 1e31205..05373cf 100644 (file)
@@ -618,8 +618,11 @@ public class BasePathRefinement {
             case ID:
                 validateIdParameter(so);
                 break;
-            case ASSOCIATION, RELATION:
-                validateAssociationAndRelationParameter(so);
+            case ASSOCIATION:
+                validateAssociationParameter(so);
+                break;
+            case RELATION:
+                validateRelationParameter(so);
                 break;
             case SOURCE_IDS:
                 validateSourceIdsParameter(so);
@@ -654,9 +657,9 @@ public class BasePathRefinement {
         so.setDataType(DataType.PRIMITIVE);
     }
 
-    private void validateAssociationAndRelationParameter(final ScopeObject so) {
+    private void validateRelationParameter(final ScopeObject so) {
         if (so.getLeaf() != null && !ID_COLUMN_NAME.equals(so.getLeaf())) {
-            throw TiesPathException.grammarError("Only id condition can be queried in case of association container");
+            throw TiesPathException.grammarError("Only id condition can be queried in case of relation container");
         } else if (so.getResolverDataType().equals(ResolverDataType.INTEGER)) {
             throw TiesPathException.grammarError("Invalid data type provided for scopeFilter");
         } else if (so.getResolverDataType().equals(ResolverDataType.STRING)) {
@@ -664,6 +667,23 @@ public class BasePathRefinement {
         }
     }
 
+    private void validateAssociationParameter(final ScopeObject so) {
+        if (so.getLeaf() == null) {
+            throw TiesPathException.grammarError("Leaf cannot be null in case of association container");
+        }
+        if (ID_COLUMN_NAME.equals(so.getLeaf())) {
+            validateIdParameter(so);
+            return;
+        }
+        if (so.getInnerContainer().size() == 1) {
+            so.setDataType(SchemaRegistry.getOtherEntityByEntityAndAssociation(so.getTopologyObject(), so
+                    .getInnerContainer().get(0)).getFields().get(so.getLeaf()));
+            compareResolverDataTypeToDataType(so);
+        } else if (so.getInnerContainer().size() > 1) {
+            setDataTypeForComplexAttribute(so);
+        }
+    }
+
     private void validateSourceIdsParameter(final ScopeObject so) {
         if (so.getResolverDataType().equals(ResolverDataType.INTEGER)) {
             throw TiesPathException.grammarError("Invalid data type provided for scopeFilter");
index 1ce8e27..4ec740a 100644 (file)
 package org.oran.smo.teiv.exposure.tiespath.refiner;
 
 import org.apache.commons.lang3.tuple.Pair;
+import org.jooq.CommonTableExpression;
 import org.jooq.Field;
 import org.jooq.JSONB;
 import org.jooq.OrderField;
 import org.jooq.Record;
+import org.jooq.Record1;
 import org.jooq.SelectConditionStep;
 import org.jooq.SelectField;
 import org.jooq.SelectOrderByStep;
+import org.jooq.Table;
+import org.jooq.impl.DSL;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.FilterCriteria;
 import lombok.experimental.UtilityClass;
 import org.jooq.SelectJoinStep;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.InnerFilterCriteria;
+import org.oran.smo.teiv.exposure.tiespath.innerlanguage.TargetObject;
 import org.oran.smo.teiv.schema.DataType;
+import org.oran.smo.teiv.schema.RelationType;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 
 import static org.jooq.impl.DSL.field;
+import static org.jooq.impl.DSL.name;
 import static org.jooq.impl.DSL.select;
 import static org.jooq.impl.DSL.selectCount;
+import static org.jooq.impl.DSL.table;
+import static org.jooq.impl.DSL.with;
+import static org.oran.smo.teiv.utils.TiesConstants.ID_COLUMN_NAME;
 import static org.oran.smo.teiv.utils.TiesConstants.QUOTED_STRING;
 
 @UtilityClass
@@ -60,64 +71,71 @@ public class PathToJooqRefinement {
     public static SelectOrderByStep<Record> toJooq(FilterCriteria filterCriteria, int offset, int limit) {
         SelectOrderByStep<Record> basicQuery = createBasicQuery(filterCriteria, false);
         SelectOrderByStep<Record> countQuery = createBasicQuery(filterCriteria, true);
-
-        List<Map.Entry<SelectField, Map<SelectField, DataType>>> selectList = new ArrayList<>(filterCriteria.getSelects()
+        List<Entry<SelectField, Map<SelectField, DataType>>> selectList = new ArrayList<>(filterCriteria.getSelects()
                 .entrySet());
-
         return createQueryWithCount(selectList, basicQuery, countQuery, offset, limit);
     }
 
-    private static SelectOrderByStep<Record> createBasicQuery(FilterCriteria filterCriteria, boolean countMode) {
-        Map<SelectField, DataType> fields = new HashMap<>();
-        if (countMode) {
-            for (SelectField id : filterCriteria.getSelects().keySet()) {
-                fields.put(id, DataType.PRIMITIVE);
-            }
-        } else {
-            for (Map<SelectField, DataType> fieldSet : filterCriteria.getSelects().values()) {
-                fields.putAll(fieldSet);
+    private static SelectOrderByStep<Record> createQueryWithCount(
+            List<Entry<SelectField, Map<SelectField, DataType>>> selectList, SelectOrderByStep<Record> basicQuery,
+            SelectOrderByStep<Record> countQuery, int offset, int limit) {
+        List<SelectField> fields = new ArrayList<>();
+        for (Entry<SelectField, Map<SelectField, DataType>> fieldSet : selectList) {
+            for (Entry<SelectField, DataType> field : fieldSet.getValue().entrySet()) {
+                if (field.getValue() == DataType.CONTAINER) {
+                    fields.add(field(String.format(QUOTED_STRING, field.getKey().getName()), JSONB.class));
+                } else {
+                    fields.add(field(String.format(QUOTED_STRING, field.getKey().getName())));
+                }
             }
         }
 
-        SelectOrderByStep<Record> query = createInnerQuery(filterCriteria.getFilterCriteriaList().get(0), fields,
-                countMode);
+        List<SelectField> fieldsWithNullCount = new ArrayList<>(fields);
+        fieldsWithNullCount.add(field("null").as("count"));
+
+        List<SelectField> nullFieldsWithCount = getNulledFields(selectList);
+        nullFieldsWithCount.add(field(selectCount().from(countQuery)).as("count"));
+
+        return select(nullFieldsWithCount).unionAll(select(fieldsWithNullCount).from(basicQuery).limit(offset, limit));
+    }
+
+    private static SelectOrderByStep<Record> createBasicQuery(FilterCriteria filterCriteria, boolean countMode) {
+        Map<SelectField, DataType> fields = getFields(filterCriteria.getSelects(), countMode);
+        SelectOrderByStep<Record> query = createBasicOrFirstHopInnerQuery(filterCriteria.getFilterCriteriaList().get(0),
+                fields, countMode);
 
         for (int i = 1; i < filterCriteria.getFilterCriteriaList().size(); i++) {
-            query = query.unionAll(createInnerQuery(filterCriteria.getFilterCriteriaList().get(i), fields, countMode));
+            query = query.unionAll(createBasicOrFirstHopInnerQuery(filterCriteria.getFilterCriteriaList().get(i), fields,
+                    countMode));
         }
 
         return query;
     }
 
-    private static SelectOrderByStep<Record> createInnerQuery(InnerFilterCriteria filterCriteria,
-            Map<SelectField, DataType> otherFields, boolean countMode) {
-        Set<SelectField> selfFields = new HashSet<>();
-        List<SelectField> resolvedFields = new ArrayList<>();
-
-        for (Map<SelectField, DataType> fieldSet : filterCriteria.getSelects().values()) {
-            selfFields.addAll(fieldSet.keySet());
+    private static SelectOrderByStep<Record> createBasicOrFirstHopInnerQuery(InnerFilterCriteria filterCriteria,
+            Map<SelectField, DataType> fields, boolean countMode) {
+        if (filterCriteria.getScope().isFirstHop()) {
+            return createFirstHopInnerQuery(filterCriteria, fields, countMode);
         }
+        return createInnerQuery(filterCriteria, fields, countMode);
+    }
 
-        for (Map.Entry<SelectField, DataType> field : otherFields.entrySet()) {
-            if (selfFields.contains(field.getKey())) {
-                resolvedFields.add(field.getKey());
-            } else if (field.getValue() == DataType.CONTAINER) {
-                resolvedFields.add(field("null::jsonb", JSONB.class).as(field.getKey().getName()));
-            } else if (field.getValue() == DataType.INTEGER) {
-                resolvedFields.add(field("null::integer").as(field.getKey().getName()));
-            } else if (field.getValue() == DataType.BIGINT) {
-                resolvedFields.add(field("null::bigint").as(field.getKey().getName()));
-            } else if (field.getValue() == DataType.DECIMAL) {
-                resolvedFields.add(field("null::numeric").as(field.getKey().getName()));
-            } else if (field.getValue() == DataType.TIMESTAMPTZ) {
-                resolvedFields.add(field("null::timestamptz").as(field.getKey().getName()));
-            } else if (field.getValue() == DataType.BYTEA) {
-                resolvedFields.add(field("null::bytea").as(field.getKey().getName()));
-            } else {
-                resolvedFields.add(field("null").as(field.getKey().getName()));
-            }
+    private static SelectOrderByStep<Record> createFirstHopInnerQuery(InnerFilterCriteria filterCriteria,
+            Map<SelectField, DataType> otherFields, boolean countMode) {
+        List<SelectField> resolvedFields = getResolvedFields(filterCriteria.getSelects(), otherFields.entrySet());
+        SelectOrderByStep<Record> query = buildSingleFirstHopQuery(filterCriteria, resolvedFields);
+
+        if (countMode) {
+            return query;
+        } else {
+            return (SelectOrderByStep) query.orderBy(filterCriteria.getSelects().keySet().stream().map(i -> field(i).asc())
+                    .toList().toArray(new OrderField[0]));
         }
+    }
 
+    private static SelectOrderByStep<Record> createInnerQuery(InnerFilterCriteria filterCriteria,
+            Map<SelectField, DataType> otherFields, boolean countMode) {
+        List<SelectField> resolvedFields = getResolvedFields(filterCriteria.getSelects(), otherFields.entrySet());
         SelectJoinStep<Record> query = select(resolvedFields).from(filterCriteria.getTableFromTarget(filterCriteria
                 .getTargets().get(0)));
 
@@ -136,30 +154,78 @@ public class PathToJooqRefinement {
         }
     }
 
-    private static SelectOrderByStep<Record> createQueryWithCount(
-            List<Map.Entry<SelectField, Map<SelectField, DataType>>> selectList, SelectOrderByStep<Record> basicQuery,
-            SelectOrderByStep<Record> countQuery, int offset, int limit) {
-        List<SelectField> fields = new ArrayList<>();
-        for (Map.Entry<SelectField, Map<SelectField, DataType>> fieldSet : selectList) {
-            for (Map.Entry<SelectField, DataType> field : fieldSet.getValue().entrySet()) {
-                if (field.getValue() == DataType.CONTAINER) {
-                    fields.add(field(String.format(QUOTED_STRING, field.getKey().getName()), JSONB.class));
-                } else {
-                    fields.add(field(String.format(QUOTED_STRING, field.getKey().getName())));
-                }
-            }
-        }
+    private SelectConditionStep<Record> buildSingleFirstHopQuery(InnerFilterCriteria innerFilterCriteria,
+            List<SelectField> resolvedFields) {
+        TargetObject targetObject = innerFilterCriteria.getTargets().get(0);
+        return switch (innerFilterCriteria.getRelationTypeFromTarget(targetObject).getRelationCardinality(targetObject
+                .getTopologyObject())) {
+            case ONE_TO_MANY -> buildOneToManyQuery(innerFilterCriteria, resolvedFields);
+            case MANY_TO_ONE -> buildManyToOneQuery(innerFilterCriteria, resolvedFields);
+            case MANY_TO_MANY, ONE_TO_ONE -> buildManyToManyQuery(innerFilterCriteria, resolvedFields);
+        };
+    }
 
-        List<SelectField> fieldsWithNullCount = new ArrayList<>(fields);
-        fieldsWithNullCount.add(field("null").as("count"));
+    private static SelectConditionStep<Record> buildManyToManyQuery(InnerFilterCriteria innerFilterCriteria,
+            List<SelectField> resolvedFields) {
+        TargetObject targetObject = innerFilterCriteria.getTargets().get(0);
+        RelationType relation = innerFilterCriteria.getRelationTypeFromTarget(targetObject);
 
-        List<SelectField> nullFieldsWithCount = getNulledFields(selectList);
-        nullFieldsWithCount.add(field(selectCount().from(countQuery)).as("count"));
+        String associtionTableName = relation.getOtherSideTableName(targetObject.getTopologyObject());
+        boolean isAssociationASide = associtionTableName.equals(relation.getASide().getTableName());
+        String entityTableName = isAssociationASide ?
+                relation.getBSide().getTableName() :
+                relation.getASide().getTableName();
+        String outerSelectField = isAssociationASide ? relation.bSideColumnName() : relation.aSideColumnName();
+        String outerWhereField = isAssociationASide ? relation.aSideColumnName() : relation.bSideColumnName();
+        String relationTable = relation.getTableName();
 
-        return select(nullFieldsWithCount).unionAll(select(fieldsWithNullCount).from(basicQuery).limit(offset, limit));
+        Field idField = field("id");
+        SelectConditionStep<Record> innerQuery = select(idField).from(associtionTableName).where(innerFilterCriteria
+                .getCondition());
+
+        Field selectField = field(DSL.quotedName(outerSelectField));
+        Field whereField = field(DSL.quotedName(outerWhereField));
+
+        CommonTableExpression<Record1<String>> cell = name(targetObject.getTopologyObject()).fields("id").as(select(
+                selectField).from(relationTable).where(whereField.in(innerQuery)));
+
+        return with(cell).select(resolvedFields).from(table(entityTableName)).where(field("id").in(select(field("id")).from(
+                cell)));
+    }
+
+    private static SelectConditionStep<Record> buildOneToManyQuery(InnerFilterCriteria innerFilterCriteria,
+            List<SelectField> resolvedFields) {
+        TargetObject targetObject = innerFilterCriteria.getTargets().get(0);
+        RelationType relation = innerFilterCriteria.getRelationTypeFromTarget(targetObject);
+        String filterTable = relation.getOtherSideTableName(targetObject.getTopologyObject());
+        Table targetTable = innerFilterCriteria.getTableFromTarget(targetObject);
+        Field targetIdField = field(ID_COLUMN_NAME);
+
+        Field filterForeignKeyField = field(DSL.quotedName(relation
+                .getNotStoringSideEntityIdColumnNameInStoringSideTable()));
+
+        SelectConditionStep<Record> subQuery = select(filterForeignKeyField).from(filterTable).where(innerFilterCriteria
+                .getCondition());
+        return select(resolvedFields).from(targetTable).where(targetIdField.in(subQuery));
     }
 
-    private static List<SelectField> getNulledFields(List<Map.Entry<SelectField, Map<SelectField, DataType>>> selectList) {
+    public static SelectConditionStep<Record> buildManyToOneQuery(InnerFilterCriteria innerFilterCriteria,
+            List<SelectField> resolvedFields) {
+        TargetObject targetObject = innerFilterCriteria.getTargets().get(0);
+        RelationType relation = innerFilterCriteria.getRelationTypeFromTarget(targetObject);
+        String filterTable = relation.getOtherSideTableName(targetObject.getTopologyObject());
+        Field targetForeignKeyField = field(DSL.quotedName(relation
+                .getNotStoringSideEntityIdColumnNameInStoringSideTable()));
+
+        Field filterIdField = field(ID_COLUMN_NAME);
+
+        SelectConditionStep<Record> subQuery = select(filterIdField).from(filterTable).where(innerFilterCriteria
+                .getCondition());
+        return select(resolvedFields).from(innerFilterCriteria.getTableFromTarget(targetObject)).where(targetForeignKeyField
+                .in(subQuery));
+    }
+
+    private static List<SelectField> getNulledFields(List<Entry<SelectField, Map<SelectField, DataType>>> selectList) {
         List<SelectField> nulledFields = new ArrayList<>();
         for (int i = 0; i < selectList.size(); i++) {
             addNullFields(selectList, nulledFields, i);
@@ -167,7 +233,51 @@ public class PathToJooqRefinement {
         return nulledFields;
     }
 
-    private static void addNullFields(List<Map.Entry<SelectField, Map<SelectField, DataType>>> selectList,
+    private static Map<SelectField, DataType> getFields(Map<SelectField, Map<SelectField, DataType>> getSelects,
+            boolean countMode) {
+        Map<SelectField, DataType> fields = new HashMap<>();
+        if (countMode) {
+            for (SelectField id : getSelects.keySet()) {
+                fields.put(id, DataType.PRIMITIVE);
+            }
+        } else {
+            for (Map<SelectField, DataType> fieldSet : getSelects.values()) {
+                fields.putAll(fieldSet);
+            }
+        }
+        return fields;
+    }
+
+    private static List<SelectField> getResolvedFields(Map<SelectField, Map<SelectField, DataType>> getSelects,
+            Set<Entry<SelectField, DataType>> otherFields) {
+        Set<SelectField> selfFields = new HashSet<>();
+        for (Map<SelectField, DataType> fieldSet : getSelects.values()) {
+            selfFields.addAll(fieldSet.keySet());
+        }
+        List<SelectField> resolvedFields = new ArrayList<>();
+        for (Entry<SelectField, DataType> field : otherFields) {
+            if (selfFields.contains(field.getKey())) {
+                resolvedFields.add(field.getKey());
+            } else if (field.getValue() == DataType.CONTAINER) {
+                resolvedFields.add(field("null::jsonb", JSONB.class).as(field.getKey().getName()));
+            } else if (field.getValue() == DataType.INTEGER) {
+                resolvedFields.add(field("null::integer").as(field.getKey().getName()));
+            } else if (field.getValue() == DataType.BIGINT) {
+                resolvedFields.add(field("null::bigint").as(field.getKey().getName()));
+            } else if (field.getValue() == DataType.DECIMAL) {
+                resolvedFields.add(field("null::numeric").as(field.getKey().getName()));
+            } else if (field.getValue() == DataType.TIMESTAMPTZ) {
+                resolvedFields.add(field("null::timestamptz").as(field.getKey().getName()));
+            } else if (field.getValue() == DataType.BYTEA) {
+                resolvedFields.add(field("null::bytea").as(field.getKey().getName()));
+            } else {
+                resolvedFields.add(field("null").as(field.getKey().getName()));
+            }
+        }
+        return resolvedFields;
+    }
+
+    private static void addNullFields(List<Entry<SelectField, Map<SelectField, DataType>>> selectList,
             List<SelectField> nulledFields, int i) {
         for (SelectField field : selectList.get(i).getValue().keySet()) {
             if (selectList.get(i).getValue().get(field) == DataType.CONTAINER) {
@@ -186,5 +296,6 @@ public class PathToJooqRefinement {
                 nulledFields.add(field("null").as(field.getName()));
             }
         }
+
     }
 }
index a8073f6..1b55060 100644 (file)
@@ -27,6 +27,7 @@ import lombok.experimental.UtilityClass;
 
 import jakarta.annotation.Nullable;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.ContainerType;
+import org.oran.smo.teiv.schema.SchemaRegistry;
 import org.oran.smo.teiv.utils.query.exception.TiesPathException;
 
 import static org.oran.smo.teiv.utils.TiesConstants.ATTRIBUTES;
@@ -38,7 +39,9 @@ public class ResolverUtil {
     public static String getTopologyObject(final String rootObject, final List<String> containerNames) {
         final int noOfContainers = containerNames.size();
         final String firstContainer = containerNames.get(0);
-
+        if (isContainingAssociation(containerNames)) {
+            return Optional.ofNullable(rootObject).orElse(WILDCARD);
+        }
         if (isComplexAttribute(containerNames)) {
             return getTopologyObjectOnComplexAttributeCondition(rootObject, firstContainer);
         } else if (noOfContainers > 2) {
@@ -55,8 +58,15 @@ public class ResolverUtil {
         return index != -1 && containerNames.size() - 1 > index;
     }
 
+    public static boolean isContainingAssociation(final List<String> containerNames) {
+        return !containerNames.isEmpty() && containerNames.stream().anyMatch(SchemaRegistry::isValidAssociation);
+    }
+
     @Nullable
     public static ContainerType getContainerType(final List<String> containerNames) {
+        if (isContainingAssociation(containerNames)) {
+            return null;
+        }
         return ContainerType.fromValue(containerNames.get(containerNames.size() - 1));
     }
 
index 1ccbce2..1a0b112 100644 (file)
@@ -42,6 +42,7 @@ import java.util.Optional;
 import static org.oran.smo.teiv.exposure.tiespath.resolver.ResolverUtil.getContainerType;
 import static org.oran.smo.teiv.exposure.tiespath.resolver.ResolverUtil.getTopologyObject;
 import static org.oran.smo.teiv.exposure.tiespath.resolver.ResolverUtil.isComplexAttribute;
+import static org.oran.smo.teiv.exposure.tiespath.resolver.ResolverUtil.isContainingAssociation;
 import static org.oran.smo.teiv.utils.TiesConstants.ATTRIBUTES;
 import static org.oran.smo.teiv.utils.TiesConstants.WILDCARD;
 
@@ -182,28 +183,50 @@ public class ScopeFilterListener extends tiesPathBaseListener {
                 .queryFunction(queryFunction);
 
         Optional.ofNullable(getContainerType(this.containerNames)).ifPresentOrElse(scopeObjectBuilder::container, () -> {
-            if (!isComplexAttribute(containerNames)) {
-                final String container = this.containerNames.get(containerNames.size() - 1);
-                if (topologyObject.equals(container)) {
-                    Optional.ofNullable(getContainerType(List.of(leafName))).ifPresentOrElse(
-                            containerType -> scopeObjectBuilder.container(containerType).leaf(null), () -> {
-                                throw TiesPathException.grammarError(String.format(
-                                        "%s is not a valid leaf for topology object: %s", leafName, rootObject));
-                            });
-                } else {
-                    scopeObjectBuilder.topologyObject(Objects.equals(topologyObject, WILDCARD) ? null : topologyObject)
-                            .innerContainer(new ArrayList<>(Arrays.asList(container)));
-                }
+            boolean isContainingAssociation = isContainingAssociation(containerNames);
+            if (!isComplexAttribute(containerNames) && !isContainingAssociation) {
+                handleSimple(scopeObjectBuilder, topologyObject, leafName, containerNames);
+            } else if (isContainingAssociation) {
+                handleAssociation(scopeObjectBuilder, topologyObject, containerNames);
             } else {
-                scopeObjectBuilder.topologyObject(topologyObject.equals(WILDCARD) ? null : topologyObject).container(
-                        ContainerType.ATTRIBUTES).innerContainer(Collections.unmodifiableList(containerNames.subList(
-                                containerNames.indexOf(ATTRIBUTES) + 1, containerNames.size())));
+                handleComplex(scopeObjectBuilder, topologyObject, containerNames);
             }
-
         });
         return scopeObjectBuilder;
     }
 
+    private void handleSimple(final ScopeObject.ScopeObjectBuilder scopeObjectBuilder, final String topologyObject,
+            final String leafName, final List<String> containerNames) {
+        final String container = this.containerNames.get(containerNames.size() - 1);
+        if (topologyObject.equals(container)) {
+            Optional.ofNullable(getContainerType(List.of(leafName))).ifPresentOrElse(containerType -> scopeObjectBuilder
+                    .container(containerType).leaf(null), () -> {
+                        throw TiesPathException.grammarError(String.format("%s is not a valid leaf for topology object: %s",
+                                leafName, rootObject));
+                    });
+        } else {
+            scopeObjectBuilder.topologyObject(Objects.equals(topologyObject, WILDCARD) ? null : topologyObject)
+                    .innerContainer(new ArrayList<>(Arrays.asList(container)));
+        }
+    }
+
+    private void handleAssociation(final ScopeObject.ScopeObjectBuilder scopeObjectBuilder, final String topologyObject,
+            final List<String> containerNames) {
+        containerNames.remove(ATTRIBUTES);
+        if (containerNames.size() > 1) {
+            scopeObjectBuilder.container(ContainerType.ASSOCIATION);
+        }
+        scopeObjectBuilder.topologyObject(topologyObject.equals(WILDCARD) ? null : topologyObject).innerContainer(
+                Collections.unmodifiableList(containerNames));
+    }
+
+    private void handleComplex(final ScopeObject.ScopeObjectBuilder scopeObjectBuilder, final String topologyObject,
+            final List<String> containerNames) {
+        scopeObjectBuilder.topologyObject(topologyObject.equals(WILDCARD) ? null : topologyObject).container(
+                ContainerType.ATTRIBUTES).innerContainer(Collections.unmodifiableList(containerNames.subList(containerNames
+                        .indexOf(ATTRIBUTES) + 1, containerNames.size())));
+    }
+
     private void addScopeLogicalBlock(ScopeObject.ScopeObjectBuilder scopeObjectBuilder) {
         if (this.logicalBlock == null || this.logicalBlock instanceof ScopeLogicalBlock) {
             this.logicalBlock = new ScopeLogicalBlock(scopeObjectBuilder.build());
index 5ed0a4e..b78809a 100644 (file)
@@ -58,8 +58,8 @@ public class PresentProvidedMembersRetriever extends ProvidedMembersRetriever {
             if (topologyObjectType == null) {
                 return;
             }
-            combinedQueries.add(groupsRepository.createQueryForPresentProvidedMembers(topologyObjectType.getTableName(),
-                    topologyType, providedMembersIds, topologyObjectType.getIdColumnName()));
+            combinedQueries.add(groupsRepository.createQueryForPresentProvidedMembers(groupId, topologyObjectType
+                    .getTableName(), topologyType, topologyObjectType.getIdColumnName()));
         });
         return processCombinedQueries(combinedQueries, requestDetails);
     }
index e9f4a02..d8a9943 100644 (file)
@@ -215,18 +215,18 @@ public interface GroupsRepository {
     /**
      * Retrieves all members of the specified static group that are present in the network for the given topology type
      *
+     * @param groupId
+     *     - group id
      * @param tableName
      *     - table name where entity is stored
      * @param topologyType
      *     - topology type entity relates to
-     * @param providedMembersIds
-     *     - provided members ids to be matched on
      * @param idColumnName
      *     - id column name
      * @return a query to select present provided members
      */
-    Select<Record2<String, String>> createQueryForPresentProvidedMembers(String tableName, String topologyType,
-            List<String> providedMembersIds, String idColumnName);
+    Select<Record2<String, String>> createQueryForPresentProvidedMembers(String groupId, String tableName,
+            String topologyType, String idColumnName);
 
     /**
      * Retrieves all members of the specified static group that are not present in the network for the given topology type
index b1211ca..901edfc 100644 (file)
@@ -285,11 +285,13 @@ public class GroupsRepositoryImpl implements GroupsRepository {
     }
 
     @Override
-    public Select<Record2<String, String>> createQueryForPresentProvidedMembers(String tableName, String topologyType,
-            List<String> providedMembersIds, String idColumnName) {
+    public Select<Record2<String, String>> createQueryForPresentProvidedMembers(String groupId, String tableName,
+            String topologyType, String idColumnName) {
         return readDataDslContext.select(DSL.field(DSL.name(idColumnName), String.class).as("id"), DSL.inline(topologyType)
                 .as("topology_type")).from(DSL.table(tableName)).where(DSL.field(DSL.name(idColumnName)).in(
-                        providedMembersIds));
+                        readDataDslContext.select(DSL.field("unnest(" + PROVIDED_MEMBERS_IDS.getName() + ")", String.class)
+                                .as("unnested_id")).from(STATIC_GROUPS_TABLE).where(GROUP_ID.eq(groupId)).and(TOPOLOGY_TYPE
+                                        .eq(topologyType))));
     }
 
     @Override
index dea111b..fd17faa 100644 (file)
@@ -138,8 +138,8 @@ public class EntityType implements Persistable {
      *
      * @return the reliability indicator column as String
      */
-    public String getReliabilityColumnName(String attributeDbName) {
-        return getDbName(String.format(RELIABILITY_INDICATOR_COL, attributeDbName));
+    public String getReliabilityColumnName(String attributeName) {
+        return getDbName(String.format(RELIABILITY_INDICATOR_COL, attributeName));
     }
 
     /**
@@ -156,8 +156,8 @@ public class EntityType implements Persistable {
      *
      * @return the responsible adapter column as String
      */
-    public String getResponsibleAdapterAttributeColumnName(String attributeDbName) {
-        return getDbName(String.format(RESPONSIBLE_ADAPTER_COL, attributeDbName));
+    public String getResponsibleAdapterAttributeColumnName(String attributeName) {
+        return getDbName(String.format(RESPONSIBLE_ADAPTER_COL, attributeName));
     }
 
     @Override
  *  SPDX-License-Identifier: Apache-2.0
  *  ============LICENSE_END=========================================================
  */
-package org.oran.smo.teiv.utils;
+package org.oran.smo.teiv.schema;
 
-/**
- * Constant Environment Variables.
- */
-public class EnvironmentVariableConstants {
-
-    private EnvironmentVariableConstants() {
-    }
+public enum RelationCardinality {
+    ONE_TO_MANY,
+    MANY_TO_ONE,
+    MANY_TO_MANY,
+    ONE_TO_ONE
 }
index 4cb3c9c..ce44818 100644 (file)
@@ -245,4 +245,52 @@ public class RelationType implements Persistable {
             return getDbName(String.format(REL_UPDATETIME_COL_PREFIX, name));
         }
     }
+
+    public RelationCardinality getRelationCardinality(String targetSide) {
+        if (getNotStoringSideEntityType() == null || getStoringSideEntityType() == null) {
+            if (!isAssociationOneSide(getASideAssociation())) {
+                return RelationCardinality.MANY_TO_MANY;
+            }
+            return RelationCardinality.ONE_TO_ONE;
+        } else if (targetSide.equals(getStoringSideEntityType().getName())) {
+            return RelationCardinality.MANY_TO_ONE;
+        } else if (targetSide.equals(getNotStoringSideEntityType().getName())) {
+            return RelationCardinality.ONE_TO_MANY;
+        }
+        return null;
+    }
+
+    public EntityType getAssociationSide(String associationName) {
+        if (getBSideAssociation().getName().equals(associationName)) {
+            return getASide();
+        } else if (getASideAssociation().getName().equals(associationName)) {
+            return getBSide();
+        }
+        return null;
+    }
+
+    public EntityType getNotAssociationSide(String associationName) {
+        if (getBSideAssociation().getName().equals(associationName)) {
+            return getBSide();
+        } else if (getASideAssociation().getName().equals(associationName)) {
+            return getASide();
+        }
+        return null;
+    }
+
+    public String getOtherSideTableName(String targetSide) {
+        if (getASide() == null || getBSide() == null) {
+            return null;
+        }
+        if (targetSide.equals(getASide().getName())) {
+            return getBSide().getTableName();
+        } else if (targetSide.equals(getBSide().getName())) {
+            return getASide().getTableName();
+        }
+        return null;
+    }
+
+    private static boolean isAssociationOneSide(Association association) {
+        return (association.getMinCardinality() <= 1) && association.getMaxCardinality() == 1;
+    }
 }
index 87f5164..632d74f 100644 (file)
@@ -56,7 +56,7 @@ public class SchemaRegistry {
     @Getter
     private static List<RelationType> relationTypes;
 
-    //Modules section
+    // Modules section
     /**
      * Initializes the modules. Once set cannot be overridden.
      *
@@ -113,7 +113,7 @@ public class SchemaRegistry {
                 .toCollection(TreeSet::new));
     }
 
-    //Entities section
+    // Entities section
 
     /**
      * Initializes the entity types. Once set cannot be overridden.
@@ -406,6 +406,14 @@ public class SchemaRegistry {
                 associationName) || relationType.getBSideAssociation().getName().equals(associationName)).toList();
     }
 
+    public static boolean isValidAssociation(String associationName) {
+        if (associationName == null || associationName.isEmpty()) {
+            return false;
+        }
+        return relationTypes.stream().anyMatch(relationType -> relationType.getASideAssociation().getName().equals(
+                associationName) || relationType.getBSideAssociation().getName().equals(associationName));
+    }
+
     public static String getReferenceColumnName(RelationType relationType) {
         if (relationType.getRelationshipStorageLocation().equals(RelationshipDataLocation.A_SIDE)) {
             return Objects.requireNonNull(relationType).getTableName() + "." + String.format(TiesConstants.QUOTED_STRING,
@@ -417,11 +425,25 @@ public class SchemaRegistry {
         return Objects.requireNonNull(relationType).getTableName() + "." + relationType.getIdColumnName();
     }
 
-    public static EntityType getEntityTypeOnAssociationSide(RelationType relationType, String associationName) {
-        boolean isAssociationASide = relationType.getASideAssociation().getName().equals(associationName);
-        if (isAssociationASide) {
-            return relationType.getASide();
+    public static RelationType getRelationTypeBetweenEntities(String entityA, String entityB) {
+        return relationTypes.stream().filter(relationType -> (relationType.getASide().getName().equals(
+                entityA) && relationType.getBSide().getName().equals(entityB)) || (relationType.getASide().getName().equals(
+                        entityB) && relationType.getBSide().getName().equals(entityA))).findFirst().orElse(null);
+    }
+
+    public static EntityType getOtherEntityByEntityAndAssociation(String entityName, String associationName) {
+        RelationType relationType = getAllRelationNamesByAssociationName(associationName).stream().filter(
+                relation -> relation.getASide().getName().equals(entityName) || relation.getBSide().getName().equals(
+                        entityName)).findFirst().orElse(null);
+        if (relationType == null) {
+            return null;
         }
-        return relationType.getBSide();
+        return relationType.getASide().getName().equals(entityName) ? relationType.getBSide() : relationType.getASide();
+    }
+
+    public static RelationType getRelationTypeByRelationNameAndAssociationName(String relation, String associationName) {
+        return relationTypes.stream().filter(relationType -> relationType.getName().equals(relation) && (relationType
+                .getASideAssociation().getName().equals(associationName) || relationType.getBSideAssociation().getName()
+                        .equals(associationName))).findFirst().orElse(null);
     }
 }
index 384b693..623689b 100644 (file)
@@ -27,5 +27,6 @@ public enum SchemaRegistryErrorCode {
     ENTITY_NOT_FOUND_IN_DOMAIN,
     ENTITY_NOT_FOUND_IN_MODULE,
     RELATIONSHIP_NOT_FOUND_IN_DOMAIN,
-    RELATIONSHIP_NOT_FOUND_IN_MODULE
+    RELATIONSHIP_NOT_FOUND_IN_MODULE,
+    RELATIONSHIP_NOT_FOUND_BETWEEN_ENTITIES,
 }
index e6fa376..6f1f13b 100644 (file)
@@ -23,6 +23,8 @@ package org.oran.smo.teiv.service;
 import static org.oran.smo.teiv.schema.BidiDbNameMapper.getDbName;
 import static org.oran.smo.teiv.schema.RelationshipDataLocation.B_SIDE;
 import static org.oran.smo.teiv.schema.RelationshipDataLocation.RELATION;
+import static org.oran.smo.teiv.service.models.OperationResult.ENTITY_CATEGORY;
+import static org.oran.smo.teiv.service.models.OperationResult.RELATIONSHIP_CATEGORY;
 import static org.oran.smo.teiv.utils.JooqTypeConverter.toJsonb;
 import static org.oran.smo.teiv.utils.TiesConstants.FOREIGN_KEY_VIOLATION_ERROR_CODE;
 import static org.oran.smo.teiv.utils.TiesConstants.ID_COLUMN_NAME;
@@ -150,7 +152,7 @@ public class TiesDbOperations {
         int affectedRows = context.delete(table(entityType.getTableName())).where(field(ID_COLUMN_NAME).eq(entityId))
                 .execute();
         if (affectedRows > 0) {
-            result.add(OperationResult.createEntityOperationResult(entityId, entityType.getName()));
+            result.add(OperationResult.builder().id(entityId).type(entityType.getName()).category(ENTITY_CATEGORY).build());
         }
         return result;
     }
@@ -164,8 +166,8 @@ public class TiesDbOperations {
         List<OperationResult> relationshipList = context.select(field(String.format(QUOTED_STRING, relationType
                 .getIdColumnName()), String.class)).from(table(relationType.getTableName())).where(field(String.format(
                         QUOTED_STRING, manySideEntityIdColumn)).eq(manySideEntityId)).forUpdate().fetchInto(String.class)
-                .stream().filter(Objects::nonNull).map(id -> OperationResult.createRelationshipOperationResult(id,
-                        relationType.getName())).collect(Collectors.toList());
+                .stream().filter(Objects::nonNull).map(id -> OperationResult.builder().id(id).type(relationType.getName())
+                        .category(RELATIONSHIP_CATEGORY).build()).collect(Collectors.toList());
         if (relationshipList.isEmpty()) {
             return relationshipList;
         } else {
@@ -189,7 +191,8 @@ public class TiesDbOperations {
                         field(String.format(QUOTED_STRING, relationType.getSourceIdsColumnName())), toJsonb(List.of()))
                 .where(field(String.format(QUOTED_STRING, relationType.getIdColumnName())).eq(relationshipId)).execute();
         return affectedRows > 0 ?
-                Optional.of(OperationResult.createRelationshipOperationResult(relationshipId, relationType.getName())) :
+                Optional.of(OperationResult.builder().id(relationshipId).type(relationType.getName()).category(
+                        RELATIONSHIP_CATEGORY).build()) :
                 Optional.empty();
     }
 
@@ -200,8 +203,8 @@ public class TiesDbOperations {
                         entityId))).returning(field(TiesConstants.ID_COLUMN_NAME)).fetch().getValues(field(
                                 TiesConstants.ID_COLUMN_NAME), String.class);
 
-        return deletedIds.stream().map(id -> OperationResult.createRelationshipOperationResult(id, relationType.getName()))
-                .collect(Collectors.toList());
+        return deletedIds.stream().map(id -> OperationResult.builder().id(id).type(relationType.getName()).category(
+                RELATIONSHIP_CATEGORY).build()).collect(Collectors.toList());
     }
 
     public Optional<OperationResult> deleteManyToManyRelationByRelationId(DSLContext context, RelationType relationType,
@@ -209,7 +212,8 @@ public class TiesDbOperations {
         int affectedRows = context.delete(table(relationType.getTableName())).where(field(ID_COLUMN_NAME).eq(
                 relationshipId)).execute();
         return affectedRows > 0 ?
-                Optional.of(OperationResult.createRelationshipOperationResult(relationshipId, relationType.getName())) :
+                Optional.of(OperationResult.builder().id(relationshipId).type(relationType.getName()).category(
+                        RELATIONSHIP_CATEGORY).build()) :
                 Optional.empty();
     }
 
@@ -285,8 +289,9 @@ public class TiesDbOperations {
                 dbMap.remove(entityType.getResponsibleAdapterIdColumnName());
                 dbMap.remove(entityType.getMetadataColumnName());
                 resultExclusion.forEach(dbMap::remove);
-                results.add(OperationResult.createEntityOperationResult(entity.getId(), entity.getType(), dbMap, entity
-                        .getSourceIds(), isUpdatedInDb).setMetadata(metadata));
+                results.add(OperationResult.builder().id(entity.getId()).type(entity.getType()).category(ENTITY_CATEGORY)
+                        .attributes(dbMap).sourceIds(entity.getSourceIds()).isUpdatedInDb(isUpdatedInDb).metadata(metadata)
+                        .build());
 
             }
         };
@@ -387,8 +392,10 @@ public class TiesDbOperations {
 
         if (fetch != null) {
             boolean isUpdatedInDb = fetch.getValue("xmax", int.class) != 0;
-            return Optional.of(OperationResult.createRelationshipOperationResult(relationship, isUpdatedInDb).setMetadata(
-                    RELIABILITY_INDICATOR_OK_MAP));
+            return Optional.of(OperationResult.builder().id(relationship.getId()).type(relationship.getType()).category(
+                    RELATIONSHIP_CATEGORY).aSide(relationship.getASide()).bSide(relationship.getBSide()).sourceIds(
+                            relationship.getSourceIds()).isUpdatedInDb(isUpdatedInDb).metadata(RELIABILITY_INDICATOR_OK_MAP)
+                    .build());
         }
         return Optional.empty();
     }
@@ -421,8 +428,10 @@ public class TiesDbOperations {
                 .returning(field("xmax", int.class)).fetchOne();
         if (fetch != null) {
             boolean isUpdatedInDb = fetch.getValue("xmax", int.class) != 0;
-            results.add(OperationResult.createRelationshipOperationResult(relationship, isUpdatedInDb).setMetadata(
-                    RELIABILITY_INDICATOR_OK_MAP));
+            results.add(OperationResult.builder().id(relationship.getId()).type(relationship.getType()).category(
+                    RELATIONSHIP_CATEGORY).aSide(relationship.getASide()).bSide(relationship.getBSide()).sourceIds(
+                            relationship.getSourceIds()).isUpdatedInDb(isUpdatedInDb).metadata(RELIABILITY_INDICATOR_OK_MAP)
+                    .build());
         } else {
             throw new IllegalManyToManyRelationshipUpdateException(relationship);
         }
@@ -438,13 +447,13 @@ public class TiesDbOperations {
 
         if (createMissingEntity(aSideTableName, aSideId, relationshipId, dslContext, relationType.getASide(), updateTime,
                 respAdapterByteArray) == 1) {
-            results.add(OperationResult.createEntityOperationResult(aSideId, relationType.getASide().getName(), List.of(
-                    relationshipId)));
+            results.add(OperationResult.builder().id(aSideId).type(relationType.getASide().getName()).category(
+                    ENTITY_CATEGORY).sourceIds(List.of(relationshipId)).build());
         }
         if (createMissingEntity(bSideTableName, bSideId, relationshipId, dslContext, relationType.getBSide(), updateTime,
                 respAdapterByteArray) == 1) {
-            results.add(OperationResult.createEntityOperationResult(bSideId, relationType.getBSide().getName(), List.of(
-                    relationshipId)));
+            results.add(OperationResult.builder().id(bSideId).type(relationType.getBSide().getName()).category(
+                    ENTITY_CATEGORY).sourceIds(List.of(relationshipId)).build());
         }
     }
 
@@ -498,7 +507,8 @@ public class TiesDbOperations {
 
     private void addEntityToOperationResults(List<OperationResult> results, String entityId, Map<String, Object> metadata,
             String entityType) {
-        OperationResult result = OperationResult.createEntityOperationResult(entityId, entityType).setMetadata(metadata);
+        OperationResult result = OperationResult.builder().id(entityId).type(entityType).category(ENTITY_CATEGORY).metadata(
+                metadata).build();
         if (!results.contains(result)) {
             results.add(result);
         }
index 38abb07..8d7e516 100644 (file)
@@ -25,8 +25,8 @@ import java.util.List;
 import java.util.Map;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
-import org.oran.smo.teiv.service.cloudevent.data.Entity;
-import org.oran.smo.teiv.service.cloudevent.data.Relationship;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.Builder;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -34,6 +34,8 @@ import lombok.NoArgsConstructor;
 @Data
 @AllArgsConstructor
 @NoArgsConstructor
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@Builder
 public class OperationResult {
     private String id;
     private String type; // e.g.: NRCellDU, Site, CloudNativeApplication
@@ -46,72 +48,17 @@ public class OperationResult {
     private Map<String, Object> metadata;
     private List<String> sourceIds;
     private boolean isUpdatedInDb;
-    private static final String ENTITY = "entity";
-
-    public static OperationResult createEntityOperationResult(String id, String type, Map<String, Object> attributes,
-            List<String> sourceIds, boolean isUpdatedInDb) {
-        return new OperationResult(id, type, ENTITY, attributes, null, null, null, null, null, sourceIds, isUpdatedInDb);
-    }
-
-    public static OperationResult createEntityOperationResult(String id, String type, Map<String, Object> attributes,
-            List<String> sourceIds) {
-        return new OperationResult(id, type, ENTITY, attributes, null, null, null, null, null, sourceIds, false);
-    }
-
-    public static OperationResult createEntityOperationResult(String id, String type, Map<String, Object> attributes) {
-        return createEntityOperationResult(id, type, attributes, null);
-    }
-
-    public static OperationResult createEntityOperationResult(String id, String type) {
-        return OperationResult.createEntityOperationResult(id, type, null, null);
-    }
-
-    public static OperationResult createEntityOperationResult(String id, String type, List<String> sourceIds) {
-        return OperationResult.createEntityOperationResult(id, type, null, sourceIds);
-    }
-
-    public static OperationResult createEntityOperationResult(Entity entity) {
-        return OperationResult.createEntityOperationResult(entity.getId(), entity.getType(), entity.getAttributes(), entity
-                .getSourceIds());
-    }
-
-    public static OperationResult createRelationshipOperationResult(String id, String type, String aSide, String bSide,
-            List<String> sourceIds, boolean isUpdatedInDb) {
-        return new OperationResult(id, type, "relationship", null, aSide, bSide, null, null, null, sourceIds,
-                isUpdatedInDb);
-    }
-
-    public static OperationResult createRelationshipOperationResult(String id, String type, String aSide, String bSide) {
-        return createRelationshipOperationResult(id, type, aSide, bSide, null, false);
-    }
-
-    public static OperationResult createRelationshipOperationResult(String id, String type) {
-        return OperationResult.createRelationshipOperationResult(id, type, null, null, null, false);
-    }
-
-    public static OperationResult createRelationshipOperationResult(Relationship relationship, boolean isUpdatedInDb) {
-        return OperationResult.createRelationshipOperationResult(relationship.getId(), relationship.getType(), relationship
-                .getASide(), relationship.getBSide(), relationship.getSourceIds(), isUpdatedInDb);
-    }
-
-    public static OperationResult createClassifierOperationResult(String id, String type, String category,
-            List<String> classifiers) {
-        return new OperationResult(id, type, category, null, null, null, classifiers, null, null, null, true);
-    }
-
-    public static OperationResult createDecoratorOperationResult(String id, String type, String category,
-            Map<String, Object> decorators) {
-        return new OperationResult(id, type, category, null, null, null, null, decorators, null, null, true);
-    }
+    public static final String ENTITY_CATEGORY = "entity";
+    public static final String RELATIONSHIP_CATEGORY = "relationship";
 
     @JsonIgnore
     public boolean isRelationship() {
-        return getCategory().equals("relationship");
+        return getCategory().equals(RELATIONSHIP_CATEGORY);
     }
 
     @JsonIgnore
     public boolean isEntity() {
-        return getCategory().equals(ENTITY);
+        return getCategory().equals(ENTITY_CATEGORY);
     }
 
     public OperationResult setMetadata(Map<String, Object> metadata) {
diff --git a/teiv/src/main/java/org/oran/smo/teiv/utils/Environment.java b/teiv/src/main/java/org/oran/smo/teiv/utils/Environment.java
deleted file mode 100644 (file)
index e2cdf57..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package org.oran.smo.teiv.utils;
-
-/**
- * A utility class for retrieving environment/system values.
- *
- * @see System#getProperty(String)
- * @see System#getenv(String)
- */
-public final class Environment {
-
-    private Environment() {
-
-    }
-
-    /**
-     * Returns the {@code propertyName} specified if it is set as a {@link System} property or as a
-     * {@link System}
-     * environment variable. The order of
-     * the search is property first then environment variable.
-     * <p>
-     * If neither is set then null is returned.
-     *
-     * @param propertyName
-     *     the property to search for
-     * @return the value of the searched property, otherwise {@code null}
-     */
-    public static String getEnvironmentValue(final String propertyName) {
-        return System.getProperty(propertyName, System.getenv(propertyName));
-    }
-
-    /**
-     * Returns the {@code propertyName} specified if it is set as a {@link System} property or as a
-     * {@link System}
-     * environment variable. The order of
-     * the search is property first then environment variable.
-     * <p>
-     * If neither is set then the default value provided is returned.
-     *
-     * @param propertyName
-     *     the property name to search for
-     * @param defaultValue
-     *     the default value if no property exists
-     * @return The value of the searched name, otherwise the {@code defaultValue}
-     */
-    public static String getEnvironmentValue(final String propertyName, final String defaultValue) {
-        final String envVariable = System.getenv(propertyName);
-        if (envVariable != null) {
-            return envVariable;
-        }
-        return System.getProperty(propertyName, defaultValue);
-    }
-}
index 40b8ca0..f16042a 100644 (file)
@@ -153,7 +153,7 @@ database:
 groups:
   static:
     provided-members-ids:
-      max-limit: 25000
+      max-limit: 10000
       insert-max-limit: 2000
 
 yang-data-validation:
index 1d6a962..7a85343 100644 (file)
@@ -161,7 +161,7 @@ tags:
   - name: Decorators
     description: "Provides the capability to update or remove user-defined values on entities and relationships."
   - name: Groups
-    description: "Provides the capability to group topology entities and/or relationships of any type. Groups can be created in static or dynamic way. *Static groups*: Group members are defined statically upon group creation. It can include a maximum of 25,000 members. *Dynamic groups*: Group members are dynamically selected based on the defined resource query."
+    description: "Provides the capability to group topology entities and/or relationships of any type. Groups can be created in static or dynamic way. *Static groups*: Group members are defined statically upon group creation. It can include a maximum of 10,000 members. *Dynamic groups*: Group members are dynamically selected based on the defined resource query."
 
 servers:
   - url: https://{host}/topology-inventory/v1alpha11
index 6dba279..ce4ffb3 100644 (file)
@@ -213,11 +213,14 @@ class DtoToJooqTest {
                         "POINT(39.4019881 67.9419888").dataType(DataType.GEOGRAPHIC).build();
 
         // spotless:off
-        assertEquals(condition("ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"geoColumn\" = st_geomfromtext('point(39.4019881 67.9419888)')")
+        assertEquals(condition(
+            "ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"geoColumn\" = st_geomfromtext('point(39.4019881 67.9419888)')")
             .toString(), new ScopeLogicalBlock(valid1).getCondition().toString());
-        assertEquals(condition("ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"geoColumn\" = st_geomfromtext('POINT(39.4019881 67.9419888)')")
+        assertEquals(condition(
+            "ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"geoColumn\" = st_geomfromtext('POINT(39.4019881 67.9419888)')")
             .toString(), new ScopeLogicalBlock(valid2).getCondition().toString());
-        assertEquals(condition("ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"geoColumn\" = st_geomfromtext('POINT Z (39.4019881 67.9419888 123.9878)')")
+        assertEquals(condition(
+            "ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"geoColumn\" = st_geomfromtext('POINT Z (39.4019881 67.9419888 123.9878)')")
             .toString(), new ScopeLogicalBlock(valid3).getCondition().toString());
 
         assertThrows(TiesPathException.class, new ScopeLogicalBlock(invalidContains)::getCondition);
@@ -768,10 +771,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-                "\n" +
-                    "  ties_data.\"o-ran-smo-teiv-ran_ORUFunction\".\"REL_FK_managed-by-managedElement\" = 'me1'\n"
-                    +
-                    "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n")
+                "\n" + //
+                    "  ties_data.\"o-ran-smo-teiv-oam_ManagedElement\".\"id\" = 'me1'\n" + //
+                    "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n" + //
+                    ""
+            )
                 .toString(),
             getTestAndCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
@@ -786,12 +790,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-                "\n" +
-                    "  ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n"
-                    +
-                    "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" = 'odu1'\n"
-                    +
-                    "  and ties_data.\"o-ran-smo-teiv-ran_OCUCPFunction\".\"REL_FK_managed-by-managedElement\" is not null\n")
+                "\n" + //
+                    "  ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" = 'odu1'\n" + //
+                    "  and ties_data.\"o-ran-smo-teiv-ran_OCUCPFunction\".\"REL_FK_managed-by-managedElement\" is not null\n" + //
+                    ""
+            )
                 .toString(),
             getTestAndCondition(List.of(scopeObject3, scopeObject4)).toString());
         // spotless:on
@@ -832,15 +835,14 @@ class DtoToJooqTest {
         Condition actualCondition = scopeObject1.getCondition();
         // spotless:off
         assertEquals(
-            ("ties_data.\"o-ran-smo-teiv-ran_ORUFunction\".\"REL_FK_managed-by-managedElement\"like(('%'||replace("
-                + "\n" +
-                "replace(" + "\n" +
-                "replace('me1','!','!!')," + "\n" +
-                "'%'," + "\n" +
-                "'!%'" + "\n" +
-                ")," + "\n" +
-                "'_'," + "\n" +
-                "'!_'" + "\n" +
+            ("ties_data.\"o-ran-smo-teiv-oam_ManagedElement\".\"id\"like(('%'||replace(\n" + //
+                "replace(\n" + //
+                "replace('me1','!','!!'),\n" + //
+                "'%',\n" + //
+                "'!%'\n" + //
+                "),\n" + //
+                "'_',\n" + //
+                "'!_'\n" + //
                 "))||'%')escape'!'").replace(" ", ""),
             actualCondition.toString().replace(" ", ""));
         // spotless:on
@@ -858,11 +860,10 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-                "\n" +
-                    "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" = 'site1'\n"
-                    +
-                    "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n")
-                .toString(),
+                "\n" + //
+                    "  ties_data.\"o-ran-smo-teiv-equipment_Site\".\"id\" = 'site1'\n" + //
+                    "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n" + //
+                    "").toString(),
             getTestOrCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
 
@@ -877,14 +878,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-                "\n" +
-                    "  (\n" +
-                    "    ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n"
-                    +
-                    "    and ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'am1'\n"
-                    +
-                    "  )\n" +
-                    "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n")
+                "\n" + //
+                    "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'am1'\n" + //
+                    "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n" + //
+                    ""
+            )
                 .toString(),
             getTestOrCondition(List.of(scopeObject3, scopeObject4)).toString());
         // spotless:on
@@ -926,21 +924,16 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n"
-                +
-                "and ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" like ("
-                +
-                "('%' || replace(" + "\n" +
-                "replace(" + "\n" +
-                "replace('am1', '!', '!!')," + "\n" +
-                "'%'," + "\n" +
-                "'!%'" + "\n" +
-                ")," + "\n" +
-                "'_'," + "\n" +
-                "'!_'" + "\n" +
-                ")) || '%') escape '!'" + "\n")
-            .toString().replace(" ", ""), scopeObject1.getCondition().toString().replace(" ", ""));
+                "ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\"like(('%'||replace(\n" + //
+                    "replace(\n" + //
+                    "replace('am1','!','!!'),\n" + //
+                    "'%',\n" + //
+                    "'!%'\n" + //
+                    "),\n" + //
+                    "'_',\n" + //
+                    "'!_'\n" + //
+                    "))||'%')escape'!'" ).toString().replace(" ", ""),
+            String.format("(%s)",scopeObject1.getCondition().toString()).replace(" ", ""));
         // spotless:on
 
         ScopeLogicalBlock scopeObject2 = new ScopeLogicalBlock(ScopeObject.builder(ANTENNA_MODULE).topologyObjectType(
@@ -949,15 +942,14 @@ class DtoToJooqTest {
                 .build());
 
         // spotless:off
-        assertEquals(("ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\"" +
-            ".\"bSide_AntennaCapability\"like(('%'||replace(" + "\n" +
-            "replace(" + "\n" +
-            "replace('ac1','!','!!')," + "\n" +
-            "'%'," + "\n" +
-            "'!%'" + "\n" +
-            ")," + "\n" +
-            "'_'," + "\n" +
-            "'!_'" + "\n" +
+        assertEquals(("ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\".\"id\"like(('%'||replace(\n" + //
+            "replace(\n" + //
+            "replace('ac1','!','!!'),\n" + //
+            "'%',\n" + //
+            "'!%'\n" + //
+            "),\n" + //
+            "'_',\n" + //
+            "'!_'\n" + //
             "))||'%')escape'!'")
             .replace(" ", ""), scopeObject2.getCondition().toString().replace(" ", ""));
         // spotless:on
@@ -976,10 +968,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".\"bSide_AntennaCapability\" = 'ac1'\n"
-                +
-                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\".\"id\" = 'ac1'\n"
+                + //
+                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n"
+        )
             .toString(), getTestAndCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
 
@@ -993,10 +986,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".\"aSide_AntennaModule\" = 'am1'\n"
-                +
-                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'am1'\n"
+                + //
+                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n"
+        )
             .toString(), getTestAndCondition(List.of(scopeObject3, scopeObject4)).toString());
         // spotless:on
     }
@@ -1020,16 +1014,15 @@ class DtoToJooqTest {
                                 "AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A")
                 .build());
         // spotless:off
-        assertEquals(("ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\"" +
-            ".\"aSide_AntennaModule\"like(('%'||replace(" + "\n" +
-            "replace(" + "\n" +
-            "replace('AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A','!','!!'),"
-            + "\n" +
-            "'%'," + "\n" +
-            "'!%'" + "\n" +
-            ")," + "\n" +
-            "'_'," + "\n" +
-            "'!_'" + "\n" +
+        assertEquals(("ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\"like(('%'||replace(\n" + //
+            "replace(\n" + //
+            "replace('AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A','!','!!'),\n"
+            + //
+            "'%',\n" + //
+            "'!%'\n" + //
+            "),\n" + //
+            "'_',\n" + //
+            "'!_'\n" + //
             "))||'%')escape'!'")
             .replace(" ", ""), associationScope2.getCondition().toString().replace(" ", ""));
         // spotless:on
@@ -1073,10 +1066,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"o-ran-smo-teiv-ran_ORUFunction\".\"REL_FK_managed-by-managedElement\" = 'me1'\n"
-                +
-                "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-oam_ManagedElement\".\"id\" = 'me1'\n" + //
+                "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n" + //
+                ""
+        )
             .toString(), getTestAndCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
 
@@ -1091,12 +1085,10 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"o-ran-smo-teiv-ran_ORUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n"
-                +
-                "  and ties_data.\"o-ran-smo-teiv-ran_ORUFunction\".\"id\" = 'oruf1'\n"
-                +
-                "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-ran_ORUFunction\".\"id\" = 'oruf1'\n" + //
+                "  and ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"REL_FK_managed-by-managedElement\" is not null\n" + //
+                "")
             .toString(), getTestAndCondition(List.of(scopeObject3, scopeObject4)).toString());
         // spotless:on
     }
@@ -1113,10 +1105,10 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" = 'site1'\n"
-                +
-                "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-equipment_Site\".\"id\" = 'site1'\n" + //
+                "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n" + //
+                "")
             .toString(), getTestOrCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
 
@@ -1132,14 +1124,10 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  (\n" +
-                "    ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n"
-                +
-                "    and ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'am1'\n"
-                +
-                "  )\n" +
-                "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'am1'\n" + //
+                "  or ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"REL_FK_installed-at-site\" is not null\n" + //
+                "")
             .toString(), getTestOrCondition(List.of(scopeObject3, scopeObject4)).toString());
         // spotless:on
     }
@@ -1158,10 +1146,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".\"bSide_AntennaCapability\" = 'ac1'\n"
-                +
-                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\".\"id\" = 'ac1'\n"
+                + //
+                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n"
+        )
             .toString(), getTestAndCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
 
@@ -1176,10 +1165,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".\"aSide_AntennaModule\" = 'am1'\n"
-                +
-                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'am1'\n"
+                + //
+                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n"
+        )
             .toString(), getTestAndCondition(List.of(scopeObject3, scopeObject4)).toString());
         // spotless:on
     }
@@ -1196,10 +1186,11 @@ class DtoToJooqTest {
 
         // spotless:off
         assertEquals(condition(
-            "\n" +
-                "  ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".\"bSide_AntennaCapability\" = 'ac1'\n"
-                +
-                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n")
+            "\n" + //
+                "  ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'ac1'\n"
+                + //
+                "  and ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\".id is not null\n"
+        )
             .toString(), getTestAndCondition(List.of(scopeObject1, scopeObject2)).toString());
         // spotless:on
     }
@@ -1208,13 +1199,13 @@ class DtoToJooqTest {
     void testConditions_entityAssociation_equals_attributes_nested_leaf() {
         ScopeLogicalBlock associationScope3 = new ScopeLogicalBlock(ScopeObject.builder(SECTOR).topologyObjectType(
                 TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of("grouped-nrCellDu",
-                        "plmnId")).leaf("mcc").queryFunction(QueryFunction.EQ).parameter("599").dataType(DataType.BIGINT)
+                        "plmnId")).leaf("mcc").queryFunction(QueryFunction.EQ).parameter("599").dataType(DataType.INTEGER)
                 .build());
         // spotless:off
-        assertEquals(condition("\n" +
-                "  ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"REL_FK_grouped-by-sector\" is not null\n"
-                +
-                "  and ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"plmnId\" -> 'mcc' = 599\n")
+        assertEquals(condition("\n" + //
+                "  ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"REL_FK_grouped-by-sector\" is not null\n" + //
+                "  and ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"plmnId\" -> 'mcc' = '599'\n" + //
+                "")
                 .toString(),
             associationScope3.getCondition().toString());
         // spotless:on
@@ -1222,12 +1213,12 @@ class DtoToJooqTest {
         ScopeLogicalBlock associationScope4 = new ScopeLogicalBlock(ScopeObject.builder(SECTOR).topologyObjectType(
                 TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of("grouped-nrCellDu",
                         "plmnId", "mcc")).leaf("mcca").queryFunction(QueryFunction.EQ).parameter("599").dataType(
-                                DataType.BIGINT).build());
+                                DataType.INTEGER).build());
         // spotless:off
         assertEquals(condition("\n" +
                 "  ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"REL_FK_grouped-by-sector\" is not null\n"
                 +
-                "  and ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"plmnId\" -> 'mcc' -> 'mcca' = 599\n")
+                "  and ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"plmnId\" -> 'mcc' -> 'mcca' = '599'\n")
                 .toString(),
             associationScope4.getCondition().toString());
         // spotless:on
index 6231a38..89eecb6 100644 (file)
@@ -105,6 +105,7 @@ class ScopeLogicalBlockTest {
         ScopeLogicalBlock scopeLogicalBlock8 = new ScopeLogicalBlock(scopeObject8);
 
         resultTables.add(table("ties_data.\"o-ran-smo-teiv-ran_NRCellDU\""));
+        resultTables.add(table("ties_data.\"o-ran-smo-teiv-ran_ODUFunction\""));
         Assertions.assertEquals(resultTables, scopeLogicalBlock.getTables());
         resultTables.clear();
 
@@ -122,6 +123,7 @@ class ScopeLogicalBlockTest {
         Assertions.assertEquals(resultTables, scopeLogicalBlock4.getTables());
         resultTables.clear();
 
+        resultTables.add(table("ties_data.\"o-ran-smo-teiv-oam_ManagedElement\""));
         resultTables.add(table("ties_data.\"o-ran-smo-teiv-ran_ODUFunction\""));
         Assertions.assertEquals(resultTables, scopeLogicalBlock5.getTables());
         resultTables.clear();
@@ -130,6 +132,7 @@ class ScopeLogicalBlockTest {
         Assertions.assertEquals(resultTables, scopeLogicalBlock6.getTables());
         resultTables.clear();
 
+        resultTables.add(table("ties_data.\"o-ran-smo-teiv-ran_Sector\""));
         resultTables.add(table("ties_data.\"o-ran-smo-teiv-ran_NRCellDU\""));
         Assertions.assertEquals(resultTables, scopeLogicalBlock8.getTables());
         resultTables.clear();
index c541590..4f4819b 100644 (file)
@@ -1012,6 +1012,18 @@ class BasePathRefinementTest {
         // Reason: invalid association added in innerContainer list for RELATION type scopeObject
         Assertions.assertThrows(TiesPathException.class, () -> basePathRefinement.validateContainers(filterCriteria));
 
+        final FilterCriteria filterCriteria2 = FilterCriteria.builder("EQUIPMENT").filterCriteriaList(List.of(
+                InnerFilterCriteria.builder().targets(targetResolver.resolve(null, null)).scope(scopeResolver.resolve(null,
+                        "/installed-at-site/attributes[@geo-location='POINT(60.4019881 18.9419888)']")).build()))
+                .resolvingTopologyObjectType(FilterCriteria.ResolvingTopologyObjectType.ENTITY).build();
+
+        basePathRefinement.refine(filterCriteria2);
+
+        ScopeLogicalBlock expected2 = new ScopeLogicalBlock(ScopeObject.builder("AntennaModule").container(
+                ContainerType.ASSOCIATION).topologyObjectType(TopologyObjectType.ENTITY).queryFunction(QueryFunction.EQ)
+                .parameter("POINT(60.4019881 18.9419888)").resolverDataType(ResolverDataType.STRING).dataType(
+                        DataType.GEOGRAPHIC).innerContainer(List.of("installed-at-site")).leaf("geo-location").build());
+        Assertions.assertEquals(expected2, filterCriteria2.getFilterCriteriaList().get(0).getScope());
     }
 
     @Test
@@ -1056,16 +1068,6 @@ class BasePathRefinementTest {
                 .parameter("1").resolverDataType(ResolverDataType.INTEGER).build());
         filterCriteria.setFilterCriteriaList(List.of(InnerFilterCriteria.builder().scope(scopeLogicalBlock2).build()));
 
-        Assertions.assertThrows(TiesPathException.class, () -> basePathRefinement.validateScopeParametersDataType(
-                filterCriteria));
-
-        // error reason: scopeFilter: /provided-nrCellDu[@cellLocalId=1] -> only id can be queried for associations
-        ScopeLogicalBlock scopeLogicalBlock3 = new ScopeLogicalBlock(ScopeObject.builder(ODU_FUNCTION).innerContainer(
-                new ArrayList<>(Arrays.asList("provided-nrCellDu"))).container(ContainerType.ASSOCIATION)
-                .topologyObjectType(TopologyObjectType.ENTITY).queryFunction(QueryFunction.EQ).leaf("cellLocalId")
-                .parameter("1").resolverDataType(ResolverDataType.INTEGER).build());
-        filterCriteria.setFilterCriteriaList(List.of(InnerFilterCriteria.builder().scope(scopeLogicalBlock3).build()));
-
         Assertions.assertThrows(TiesPathException.class, () -> basePathRefinement.validateScopeParametersDataType(
                 filterCriteria));
 
index c76f3a1..99ce5ac 100644 (file)
  */
 package org.oran.smo.teiv.exposure.tiespath.refiner;
 
+import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.jupiter.api.Assertions;
+import org.jooq.SelectOrderByStep;
+import org.jooq.Record;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -38,6 +40,8 @@ import org.oran.smo.teiv.schema.DataType;
 import org.oran.smo.teiv.schema.MockSchemaLoader;
 import org.oran.smo.teiv.schema.SchemaLoaderException;
 
+import static org.junit.Assert.assertEquals;
+
 class PathToJooqRefinementTest {
 
     @BeforeAll
@@ -54,36 +58,360 @@ class PathToJooqRefinementTest {
                                         TopologyObjectType.ENTITY).container(ContainerType.ID).dataType(DataType.PRIMITIVE)
                                         .parameter("123").queryFunction(QueryFunction.EQ).build())).build())).build();
 
-        //spotless:off
-        Assertions.assertEquals("(\n" +
-                "  select\n" +
-                "    null::bigint \"o-ran-smo-teiv-ran:ODUFunction.attr.gNBDUId\",\n" +
-                "    null \"o-ran-smo-teiv-ran:ODUFunction.id\",\n" +
-                "    (\n" +
-                "      select count(*)\n" +
-                "      from (\n" +
-                "        select ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" \"o-ran-smo-teiv-ran:ODUFunction.id\"\n" +
-                "        from ties_data.\"o-ran-smo-teiv-ran_ODUFunction\"\n" +
-                "        where ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" = '123'\n" +
-                "      ) \"alias_101460301\"\n" +
-                "    ) \"count\"\n" +
-                ")\n" +
-                "union all (\n" +
-                "  select\n" +
-                "    \"o-ran-smo-teiv-ran:ODUFunction.attr.gNBDUId\",\n" +
-                "    \"o-ran-smo-teiv-ran:ODUFunction.id\",\n" +
-                "    null \"count\"\n" +
-                "  from (\n" +
-                "    select\n" +
-                "      ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"gNBDUId\" \"o-ran-smo-teiv-ran:ODUFunction.attr.gNBDUId\",\n" +
-                "      ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" \"o-ran-smo-teiv-ran:ODUFunction.id\"\n" +
-                "    from ties_data.\"o-ran-smo-teiv-ran_ODUFunction\"\n" +
-                "    where ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" = '123'\n" +
-                "    order by \"o-ran-smo-teiv-ran:ODUFunction.id\" asc\n" +
-                "  ) \"alias_47405590\"\n" +
-                "  limit 100\n" +
-                "  offset 0\n" +
-                ")", PathToJooqRefinement.toJooq(filterCriteria,0,100).toString());
-        //spotless:on
+        // spotless:off
+        assertEquals("(\n" +
+            "  select\n" +
+            "    null::bigint \"o-ran-smo-teiv-ran:ODUFunction.attr.gNBDUId\",\n" +
+            "    null \"o-ran-smo-teiv-ran:ODUFunction.id\",\n" +
+            "    (\n" +
+            "      select count(*)\n" +
+            "      from (\n" +
+            "        select ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" \"o-ran-smo-teiv-ran:ODUFunction.id\"\n"
+            +
+            "        from ties_data.\"o-ran-smo-teiv-ran_ODUFunction\"\n" +
+            "        where ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" = '123'\n" +
+            "      ) \"alias_101460301\"\n" +
+            "    ) \"count\"\n" +
+            ")\n" +
+            "union all (\n" +
+            "  select\n" +
+            "    \"o-ran-smo-teiv-ran:ODUFunction.attr.gNBDUId\",\n" +
+            "    \"o-ran-smo-teiv-ran:ODUFunction.id\",\n" +
+            "    null \"count\"\n" +
+            "  from (\n" +
+            "    select\n" +
+            "      ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"gNBDUId\" \"o-ran-smo-teiv-ran:ODUFunction.attr.gNBDUId\",\n" +
+            "      ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" \"o-ran-smo-teiv-ran:ODUFunction.id\"\n"
+            +
+            "    from ties_data.\"o-ran-smo-teiv-ran_ODUFunction\"\n" +
+            "    where ties_data.\"o-ran-smo-teiv-ran_ODUFunction\".\"id\" = '123'\n" +
+            "    order by \"o-ran-smo-teiv-ran:ODUFunction.id\" asc\n" +
+            "  ) \"alias_47405590\"\n" +
+            "  limit 100\n" +
+            "  offset 0\n" +
+            ")", PathToJooqRefinement.toJooq(filterCriteria, 0, 100).toString());
+        // spotless:on
+    }
+
+    @Test
+    void associationToJooqFirstHopeManyToOneSingleTest() {
+        List<TargetObject> targetObjects = getTargetObjects(List.of("AntennaModule"));
+        ScopeLogicalBlock scopeLogicalBlock = new ScopeLogicalBlock(ScopeObject.builder("AntennaModule").topologyObjectType(
+                TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of("installed-at-site"))
+                .leaf("geo-location").queryFunction(QueryFunction.EQ).parameter("point(39.4019881 67.9419888)").dataType(
+                        DataType.GEOGRAPHIC).build());
+
+        FilterCriteria filterCriteria = FilterCriteria.builder("RAN").filterCriteriaList(List.of(InnerFilterCriteria
+                .builder().targets(targetObjects).scope(scopeLogicalBlock).build())).build();
+
+        SelectOrderByStep<Record> query = PathToJooqRefinement.toJooq(filterCriteria, 0, 100);
+
+        // spotless:off
+        assertEquals("(\n" + //
+            "  select\n" + //
+            "    null \"o-ran-smo-teiv-equipment:AntennaModule.id\",\n" + //
+            "    (\n" + //
+            "      select count(*)\n" + //
+            "      from (\n" + //
+            "        select ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" \"o-ran-smo-teiv-equipment:AntennaModule.id\"\n"
+            + //
+            "        from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" + //
+            "        where \"REL_FK_installed-at-site\" in (\n" + //
+            "          select id\n" + //
+            "          from ties_data.\"o-ran-smo-teiv-equipment_Site\"\n" + //
+            "          where (ties_data.\"o-ran-smo-teiv-equipment_Site\".\"geo-location\" = st_geomfromtext('point(39.4019881 67.9419888)'))\n"
+            + //
+            "        )\n" + //
+            "      ) \"alias_3993031\"\n" + //
+            "    ) \"count\"\n" + //
+            ")\n" + //
+            "union all (\n" + //
+            "  select\n" + //
+            "    \"o-ran-smo-teiv-equipment:AntennaModule.id\",\n" + //
+            "    null \"count\"\n" + //
+            "  from (\n" + //
+            "    select ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" \"o-ran-smo-teiv-equipment:AntennaModule.id\"\n"
+            + //
+            "    from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" + //
+            "    where \"REL_FK_installed-at-site\" in (\n" + //
+            "      select id\n" + //
+            "      from ties_data.\"o-ran-smo-teiv-equipment_Site\"\n" + //
+            "      where (ties_data.\"o-ran-smo-teiv-equipment_Site\".\"geo-location\" = st_geomfromtext('point(39.4019881 67.9419888)'))\n"
+            + //
+            "    )\n" + //
+            "    order by \"o-ran-smo-teiv-equipment:AntennaModule.id\" asc\n" + //
+            "  ) \"alias_77076166\"\n" + //
+            "  limit 100\n" + //
+            "  offset 0\n" + //
+            ")", query.toString());
+        // spotless:on
+    }
+
+    @Test
+    void associationToJooqFirstHopeOneToManySingleTest() {
+        List<TargetObject> targetObjects = getTargetObjects(List.of("Sector"));
+        ScopeLogicalBlock scopeLogicalBlock = new ScopeLogicalBlock(ScopeObject.builder("Sector").topologyObjectType(
+                TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of("grouped-nrCellDu"))
+                .leaf("nCI").queryFunction(QueryFunction.EQ).parameter("400").dataType(DataType.BIGINT).build());
+
+        FilterCriteria filterCriteria = FilterCriteria.builder("RAN").filterCriteriaList(List.of(InnerFilterCriteria
+                .builder().targets(targetObjects).scope(scopeLogicalBlock).build())).build();
+
+        SelectOrderByStep<Record> query = PathToJooqRefinement.toJooq(filterCriteria, 0, 100);
+
+        // spotless:off
+        assertEquals("(\n" + //
+            "  select\n" + //
+            "    null \"o-ran-smo-teiv-ran:Sector.id\",\n" + //
+            "    (\n" + //
+            "      select count(*)\n" + //
+            "      from (\n" + //
+            "        select ties_data.\"o-ran-smo-teiv-ran_Sector\".\"id\" \"o-ran-smo-teiv-ran:Sector.id\"\n" + //
+            "        from ties_data.\"o-ran-smo-teiv-ran_Sector\"\n" + //
+            "        where id in (\n" + //
+            "          select \"REL_FK_grouped-by-sector\"\n" + //
+            "          from ties_data.\"o-ran-smo-teiv-ran_NRCellDU\"\n" + //
+            "          where (\n" + //
+            "            ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"REL_FK_grouped-by-sector\" is not null\n" + //
+            "            and ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"nCI\" = 400\n" + //
+            "          )\n" + //
+            "        )\n" + //
+            "      ) \"alias_78318003\"\n" + //
+            "    ) \"count\"\n" + //
+            ")\n" + //
+            "union all (\n" + //
+            "  select\n" + //
+            "    \"o-ran-smo-teiv-ran:Sector.id\",\n" + //
+            "    null \"count\"\n" + //
+            "  from (\n" + //
+            "    select ties_data.\"o-ran-smo-teiv-ran_Sector\".\"id\" \"o-ran-smo-teiv-ran:Sector.id\"\n" + //
+            "    from ties_data.\"o-ran-smo-teiv-ran_Sector\"\n" + //
+            "    where id in (\n" + //
+            "      select \"REL_FK_grouped-by-sector\"\n" + //
+            "      from ties_data.\"o-ran-smo-teiv-ran_NRCellDU\"\n" + //
+            "      where (\n" + //
+            "        ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"REL_FK_grouped-by-sector\" is not null\n" + //
+            "        and ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"nCI\" = 400\n" + //
+            "      )\n" + //
+            "    )\n" + //
+            "    order by \"o-ran-smo-teiv-ran:Sector.id\" asc\n" + //
+            "  ) \"alias_21420574\"\n" + //
+            "  limit 100\n" + //
+            "  offset 0\n" + //
+            ")", query.toString());
+        // spotless:on
+
+    }
+
+    @Test
+    void associationToJooqFirstHopeManyToManySingleTest() {
+        List<TargetObject> targetObjects = getTargetObjects(List.of("NRCellDU"));
+
+        ScopeLogicalBlock scope = new ScopeLogicalBlock(ScopeObject.builder("NRCellDU").topologyObjectType(
+                TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of(
+                        "serving-antennaModule")).leaf("id").queryFunction(QueryFunction.EQ).parameter("AntennaModule_1")
+                .dataType(DataType.PRIMITIVE).build());
+
+        FilterCriteria filterCriteria = FilterCriteria.builder("RAN").filterCriteriaList(List.of(InnerFilterCriteria
+                .builder().targets(targetObjects).scope(scope).build())).build();
+
+        SelectOrderByStep<Record> query = PathToJooqRefinement.toJooq(filterCriteria, 0, 100);
+
+        assertEquals("(\n" + //
+                "  select\n" + //
+                "    null \"o-ran-smo-teiv-ran:NRCellDU.id\",\n" + //
+                "    (\n" + //
+                "      select count(*)\n" + //
+                "      from (\n" + //
+                "        with\n" + //
+                "          \"NRCellDU\"(\"id\") as (\n" + //
+                "            select \"bSide_NRCellDU\"\n" + //
+                "            from ties_data.\"o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU\"\n" + //
+                "            where \"aSide_AntennaModule\" in (\n" + //
+                "              select id\n" + //
+                "              from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" + //
+                "              where ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'AntennaModule_1'\n" + //
+                "            )\n" + //
+                "          )\n" + //
+                "        select ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"id\" \"o-ran-smo-teiv-ran:NRCellDU.id\"\n" + //
+                "        from ties_data.\"o-ran-smo-teiv-ran_NRCellDU\"\n" + //
+                "        where id in (\n" + //
+                "          select id\n" + //
+                "          from \"NRCellDU\"\n" + //
+                "        )\n" + //
+                "      ) \"alias_53607736\"\n" + //
+                "    ) \"count\"\n" + //
+                ")\n" + //
+                "union all (\n" + //
+                "  select\n" + //
+                "    \"o-ran-smo-teiv-ran:NRCellDU.id\",\n" + //
+                "    null \"count\"\n" + //
+                "  from (\n" + //
+                "    with\n" + //
+                "      \"NRCellDU\"(\"id\") as (\n" + //
+                "        select \"bSide_NRCellDU\"\n" + //
+                "        from ties_data.\"o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU\"\n" + //
+                "        where \"aSide_AntennaModule\" in (\n" + //
+                "          select id\n" + //
+                "          from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" + //
+                "          where ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'AntennaModule_1'\n" + //
+                "        )\n" + //
+                "      )\n" + //
+                "    select ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"id\" \"o-ran-smo-teiv-ran:NRCellDU.id\"\n" + //
+                "    from ties_data.\"o-ran-smo-teiv-ran_NRCellDU\"\n" + //
+                "    where id in (\n" + //
+                "      select id\n" + //
+                "      from \"NRCellDU\"\n" + //
+                "    )\n" + //
+                "    order by \"o-ran-smo-teiv-ran:NRCellDU.id\" asc\n" + //
+                "  ) \"alias_8945972\"\n" + //
+                "  limit 100\n" + //
+                "  offset 0\n" + //
+                ")", query.toString());
+    }
+
+    @Test
+    void associationToJooqFirstHopeManyToManyMultipleTest() {
+        List<TargetObject> targetObjects = getTargetObjects(List.of("AntennaCapability"));
+        List<TargetObject> targetObjects2 = getTargetObjects(List.of("NRCellDU"));
+
+        ScopeLogicalBlock scope = new ScopeLogicalBlock(ScopeObject.builder("AntennaCapability").topologyObjectType(
+                TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of(
+                        "serving-antennaModule")).leaf("id").queryFunction(QueryFunction.EQ).parameter("AntennaModule_1")
+                .dataType(DataType.PRIMITIVE).build());
+        ScopeLogicalBlock scope2 = new ScopeLogicalBlock(ScopeObject.builder("NRCellDU").topologyObjectType(
+                TopologyObjectType.ENTITY).container(ContainerType.ASSOCIATION).innerContainer(List.of(
+                        "serving-antennaModule")).leaf("id").queryFunction(QueryFunction.EQ).parameter("AntennaModule_3")
+                .dataType(DataType.PRIMITIVE).build());
+
+        FilterCriteria filterCriteria = FilterCriteria.builder("RAN").filterCriteriaList(List.of(InnerFilterCriteria
+                .builder().targets(targetObjects).scope(scope).build(), InnerFilterCriteria.builder().targets(
+                        targetObjects2).scope(scope2).build())).build();
+
+        SelectOrderByStep<Record> query = PathToJooqRefinement.toJooq(filterCriteria, 0, 100);
+
+        // spotless:off
+        assertEquals("(\n" +
+            "  select\n" +
+            "    null \"o-ran-smo-teiv-ran:AntennaCapability.id\",\n" +
+            "    null \"o-ran-smo-teiv-ran:NRCellDU.id\",\n" +
+            "    (\n" +
+            "      select count(*)\n" +
+            "      from (\n" +
+            "        with\n" +
+            "          \"AntennaCapability\"(\"id\") as (\n" +
+            "            select \"bSide_AntennaCapability\"\n" +
+            "            from ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\"\n" +
+            "            where \"aSide_AntennaModule\" in (\n" +
+            "              select id\n" +
+            "              from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" +
+            "              where ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'AntennaModule_1'\n"
+            +
+            "            )\n" +
+            "          )\n" +
+            "        (\n" +
+            "          select\n" +
+            "            ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\".\"id\" \"o-ran-smo-teiv-ran:AntennaCapability.id\",\n"
+            +
+            "            null \"o-ran-smo-teiv-ran:NRCellDU.id\"\n" +
+            "          from ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\"\n" +
+            "          where id in (\n" +
+            "            select id\n" +
+            "            from \"AntennaCapability\"\n" +
+            "          )\n" +
+            "        )\n" +
+            "        union all (\n" +
+            "          with\n" +
+            "            \"NRCellDU\"(\"id\") as (\n" +
+            "              select \"bSide_NRCellDU\"\n" +
+            "              from ties_data.\"o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU\"\n"
+            +
+            "              where \"aSide_AntennaModule\" in (\n" +
+            "                select id\n" +
+            "                from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" +
+            "                where ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'AntennaModule_3'\n"
+            +
+            "              )\n" +
+            "            )\n" +
+            "          select\n" +
+            "            null \"o-ran-smo-teiv-ran:AntennaCapability.id\",\n" +
+            "            ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"id\" \"o-ran-smo-teiv-ran:NRCellDU.id\"\n"
+            +
+            "          from ties_data.\"o-ran-smo-teiv-ran_NRCellDU\"\n" +
+            "          where id in (\n" +
+            "            select id\n" +
+            "            from \"NRCellDU\"\n" +
+            "          )\n" +
+            "        )\n" +
+            "      ) \"alias_81628762\"\n" +
+            "    ) \"count\"\n" +
+            ")\n" +
+            "union all (\n" +
+            "  select\n" +
+            "    \"o-ran-smo-teiv-ran:AntennaCapability.id\",\n" +
+            "    \"o-ran-smo-teiv-ran:NRCellDU.id\",\n" +
+            "    null \"count\"\n" +
+            "  from (\n" +
+            "    with\n" +
+            "      \"AntennaCapability\"(\"id\") as (\n" +
+            "        select \"bSide_AntennaCapability\"\n" +
+            "        from ties_data.\"CFC235E0404703D1E4454647DF8AAE2C193DB402\"\n" +
+            "        where \"aSide_AntennaModule\" in (\n" +
+            "          select id\n" +
+            "          from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" +
+            "          where ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'AntennaModule_1'\n"
+            +
+            "        )\n" +
+            "      )\n" +
+            "    (\n" +
+            "      select\n" +
+            "        ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\".\"id\" \"o-ran-smo-teiv-ran:AntennaCapability.id\",\n"
+            +
+            "        null \"o-ran-smo-teiv-ran:NRCellDU.id\"\n" +
+            "      from ties_data.\"o-ran-smo-teiv-ran_AntennaCapability\"\n" +
+            "      where id in (\n" +
+            "        select id\n" +
+            "        from \"AntennaCapability\"\n" +
+            "      )\n" +
+            "      order by \"o-ran-smo-teiv-ran:AntennaCapability.id\" asc\n" +
+            "    )\n" +
+            "    union all (\n" +
+            "      with\n" +
+            "        \"NRCellDU\"(\"id\") as (\n" +
+            "          select \"bSide_NRCellDU\"\n" +
+            "          from ties_data.\"o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU\"\n"
+            +
+            "          where \"aSide_AntennaModule\" in (\n" +
+            "            select id\n" +
+            "            from ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\"\n" +
+            "            where ties_data.\"o-ran-smo-teiv-equipment_AntennaModule\".\"id\" = 'AntennaModule_3'\n"
+            +
+            "          )\n" +
+            "        )\n" +
+            "      select\n" +
+            "        null \"o-ran-smo-teiv-ran:AntennaCapability.id\",\n" +
+            "        ties_data.\"o-ran-smo-teiv-ran_NRCellDU\".\"id\" \"o-ran-smo-teiv-ran:NRCellDU.id\"\n"
+            +
+            "      from ties_data.\"o-ran-smo-teiv-ran_NRCellDU\"\n" +
+            "      where id in (\n" +
+            "        select id\n" +
+            "        from \"NRCellDU\"\n" +
+            "      )\n" +
+            "      order by \"o-ran-smo-teiv-ran:NRCellDU.id\" asc\n" +
+            "    )\n" +
+            "  ) \"alias_37365486\"\n" +
+            "  limit 100\n" +
+            "  offset 0\n" +
+            ")", query.toString());
+        // spotless:on
+    }
+
+    private List<TargetObject> getTargetObjects(List<String> targetObjects) {
+        List<TargetObject> targetObjectList = new ArrayList<>();
+        for (String targetObject : targetObjects) {
+            targetObjectList.add(TargetObject.builder(targetObject).topologyObjectType(TopologyObjectType.ENTITY)
+                    .isAllParamQueried(true).isGenerated(false).container(ContainerType.ID).params(List.of()).build());
+        }
+        return targetObjectList;
     }
 }
index 6c91c23..9c8588f 100644 (file)
@@ -26,6 +26,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import java.util.List;
 
 import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.AndLogicalBlock;
@@ -37,12 +38,23 @@ import org.oran.smo.teiv.exposure.tiespath.innerlanguage.OrLogicalBlock;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.QueryFunction;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.ScopeLogicalBlock;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.ScopeObject;
+import org.oran.smo.teiv.exposure.tiespath.innerlanguage.TopologyObjectType;
+import org.oran.smo.teiv.schema.MockSchemaLoader;
+import org.oran.smo.teiv.schema.SchemaLoader;
+import org.oran.smo.teiv.schema.SchemaLoaderException;
 import org.oran.smo.teiv.utils.query.exception.TiesPathException;
 
 class ScopeResolverTest {
 
     private final ScopeResolver scopeResolver = new ScopeResolver();
 
+    @BeforeAll
+    public static void beforeAll() throws UnsupportedOperationException, SchemaLoaderException {
+        SchemaLoader mockedSchemaLoader = new MockSchemaLoader();
+        mockedSchemaLoader.loadSchemaRegistry();
+
+    }
+
     @Test
     void testEmptyScope() {
         LogicalBlock expected = EmptyLogicalBlock.getInstance();
@@ -357,7 +369,7 @@ class ScopeResolverTest {
     }
 
     @Test
-    void testAssociation() {
+    void testAssociationWithAndWithouthRootObject() {
         ScopeLogicalBlock expected = new ScopeLogicalBlock(ScopeObject.builder("AntennaCapability").container(null)
                 .queryFunction(QueryFunction.CONTAINS).parameter(
                         "AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A")
@@ -366,6 +378,20 @@ class ScopeResolverTest {
         final LogicalBlock resolvedScope = scopeResolver.resolve("AntennaCapability",
                 "/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]");
         Assertions.assertEquals(expected, resolvedScope);
-    }
 
+        ScopeLogicalBlock expected2 = new ScopeLogicalBlock(ScopeObject.builder(null).container(null).queryFunction(
+                QueryFunction.EQ).parameter("POINT(60.4019881 18.9419888)").resolverDataType(ResolverDataType.STRING)
+                .innerContainer(List.of("installed-at-site")).leaf("geo-location").build());
+        final LogicalBlock resolvedScope2 = scopeResolver.resolve(null,
+                "/installed-at-site/attributes[@geo-location='POINT(60.4019881 18.9419888)']");
+        Assertions.assertEquals(expected2, resolvedScope2);
+
+        ScopeLogicalBlock expected3 = new ScopeLogicalBlock(ScopeObject.builder("GNBCUCPFunction").topologyObjectType(
+                TopologyObjectType.UNDEFINED).container(ContainerType.ASSOCIATION).innerContainer(List.of(
+                        "provided-nrCellCu", "pLMNId")).leaf("mcc").queryFunction(QueryFunction.EQ).parameter("010")
+                .resolverDataType(ResolverDataType.STRING).build());
+        final LogicalBlock resolvedScope3 = scopeResolver.resolve("GNBCUCPFunction",
+                "/provided-nrCellCu/attributes/pLMNId[@mcc='010']");
+        Assertions.assertEquals(expected3, resolvedScope3);
+    }
 }
index 5e3d4b6..4c86eeb 100644 (file)
@@ -25,17 +25,28 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.util.List;
 
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Assertions;
 
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.ContainerType;
 import org.oran.smo.teiv.exposure.tiespath.innerlanguage.TargetObject;
+import org.oran.smo.teiv.schema.MockSchemaLoader;
+import org.oran.smo.teiv.schema.SchemaLoader;
+import org.oran.smo.teiv.schema.SchemaLoaderException;
 import org.oran.smo.teiv.utils.query.exception.TiesPathException;
 
 class TargetResolverTest {
 
     private final TargetResolver targetResolver = new TargetResolver();
 
+    @BeforeAll
+    public static void beforeAll() throws UnsupportedOperationException, SchemaLoaderException {
+        SchemaLoader mockedSchemaLoader = new MockSchemaLoader();
+        mockedSchemaLoader.loadSchemaRegistry();
+
+    }
+
     @Test
     void testIdOnlyWhenTopologyObjectInRootObjectType() {
         List<TargetObject> expectedObject = List.of(TargetObject.builder("GNBDUFunction").build());
index 7011a9a..a188caf 100644 (file)
@@ -22,6 +22,8 @@ package org.oran.smo.teiv.service;
 
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.oran.smo.teiv.service.models.OperationResult.ENTITY_CATEGORY;
+import static org.oran.smo.teiv.service.models.OperationResult.RELATIONSHIP_CATEGORY;
 import static org.oran.smo.teiv.utils.TiesConstants.TIES_DATA_SCHEMA;
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -155,8 +157,8 @@ class TiesDbOperationResultsTest {
                 .getEntityTypeByModuleAndName("o-ran-smo-teiv-oam", "ManagedElement"), "managed_element_entity_id1");
 
         assertFalse(deleteResultMatch.isEmpty(), "Delete operation should return a non-empty list");
-        assertTrue(deleteResultMatch.contains(OperationResult.createEntityOperationResult("managed_element_entity_id1",
-                "ManagedElement")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("managed_element_entity_id1").type(
+                "ManagedElement").category(ENTITY_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'managed_element_entity_id1'");
 
         // Delete operation with the same EIID - expected to fail
@@ -194,8 +196,8 @@ class TiesDbOperationResultsTest {
                         "ManagedElementttttttttttttttttt_USES_NRCellDUUUUUUUUUUUU"));
 
         assertTrue(deleteASideResultMatch.isPresent(), "Delete operation should return a present Optional");
-        assertEquals(OperationResult.createRelationshipOperationResult("eiid1",
-                "ManagedElementttttttttttttttttt_USES_NRCellDUUUUUUUUUUUU"), deleteASideResultMatch.get(),
+        assertEquals(OperationResult.builder().id("eiid1").type("ManagedElementttttttttttttttttt_USES_NRCellDUUUUUUUUUUUU")
+                .category(RELATIONSHIP_CATEGORY).build(), deleteASideResultMatch.get(),
                 "The delete operation result should be present for: 'eiid1'");
 
         // Delete operation with the same EIID - expected to fail
@@ -245,8 +247,8 @@ class TiesDbOperationResultsTest {
                         "MANAGEDELEMENT_MANAGES_ORUFUNCTION"));
 
         assertFalse(deleteResultMatch.isEmpty(), "Delete operation should return a non-empty list");
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("eiid1",
-                "MANAGEDELEMENT_MANAGES_ORUFUNCTION")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("eiid1").type(
+                "MANAGEDELEMENT_MANAGES_ORUFUNCTION").category(RELATIONSHIP_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'eiid1'");
 
         // Delete operation with the same entity ID - expected to return an empty list
@@ -297,17 +299,17 @@ class TiesDbOperationResultsTest {
 
         // Check if all expected IDs are present in the deletion result
         assertEquals(4, deleteResultMatch.size(), "Delete operation should match expected size");
-        assertTrue(deleteResultMatch.contains(OperationResult.createEntityOperationResult("me-id1", "ManagedElement")),
-                "The list should contain the delete operation result with id: 'me-id1'");
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("me-id1").type("ManagedElement").category(
+                ENTITY_CATEGORY).build()), "The list should contain the delete operation result with id: 'me-id1'");
 
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("eiid1",
-                "MANAGEDELEMENT_MANAGES_ORUFUNCTION")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("eiid1").type(
+                "MANAGEDELEMENT_MANAGES_ORUFUNCTION").category(RELATIONSHIP_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'eiid1'");
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("eiid2",
-                "MANAGEDELEMENT_MANAGES_ORUFUNCTION")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("eiid2").type(
+                "MANAGEDELEMENT_MANAGES_ORUFUNCTION").category(RELATIONSHIP_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'eiid2'");
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("eiid3",
-                "MANAGEDELEMENT_MANAGES_ORUFUNCTION")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("eiid3").type(
+                "MANAGEDELEMENT_MANAGES_ORUFUNCTION").category(RELATIONSHIP_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'eiid3'");
 
         // Verify all related entities have their relationships deleted
@@ -374,8 +376,8 @@ class TiesDbOperationResultsTest {
         Optional<OperationResult> deleteResultMatch = tiesDbOperations.deleteManyToManyRelationByRelationId(dslContext,
                 relType, "rel_id1");
         assertTrue(deleteResultMatch.isPresent(), "Delete operation should return a present Optional");
-        assertEquals(OperationResult.createRelationshipOperationResult("rel_id1", "ANTENNAMODULE_SERVES_ANTENNACAPABILITY"),
-                deleteResultMatch.get(), "Deleted relationship ID should match 'rel_id1'");
+        assertEquals(OperationResult.builder().id("rel_id1").type("ANTENNAMODULE_SERVES_ANTENNACAPABILITY").category(
+                RELATIONSHIP_CATEGORY).build(), deleteResultMatch.get(), "Deleted relationship ID should match 'rel_id1'");
 
         // Test deletion of the same relationship ID again (expected failure)
         Optional<OperationResult> deleteResultNoMatch = tiesDbOperations.deleteManyToManyRelationByRelationId(dslContext,
@@ -433,12 +435,12 @@ class TiesDbOperationResultsTest {
         List<OperationResult> deleteResultMatch = tiesDbOperations.deleteManyToManyRelationByEntityId(dslContext, relType,
                 "antennamodule_id1", "aSide_AntennaModule", "bSide_AntennaCapability");
         assertEquals(2, deleteResultMatch.size(), "Expected two relations to be deleted");
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("rel_id1",
-                "ANTENNAMODULE_SERVES_ANTENNACAPABILITY")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("rel_id1").type(
+                "ANTENNAMODULE_SERVES_ANTENNACAPABILITY").category(RELATIONSHIP_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'rel_id1'");
 
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("rel_id2",
-                "ANTENNAMODULE_SERVES_ANTENNACAPABILITY")),
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("rel_id2").type(
+                "ANTENNAMODULE_SERVES_ANTENNACAPABILITY").category(RELATIONSHIP_CATEGORY).build()),
                 "The list should contain the delete operation result with id: 'rel_id2'");
 
         // Test deletion of relations by the same entity ID again (expected to find no
@@ -503,9 +505,9 @@ class TiesDbOperationResultsTest {
                 antennaRelType1, "rel_id1");
 
         assertTrue(deleteResultMatch.isPresent(), "Delete operation should return a present Optional");
-        assertEquals(OperationResult.createRelationshipOperationResult("rel_id1",
-                "ANTENNAMODULEEEEEEEEEEEE_REALISED_BY_ANTENNAMODULEEEEEEEEEEEEEEE"), deleteResultMatch.get(),
-                "Deleted relationship ID should match 'rel_id1'");
+        assertEquals(OperationResult.builder().id("rel_id1").type(
+                "ANTENNAMODULEEEEEEEEEEEE_REALISED_BY_ANTENNAMODULEEEEEEEEEEEEEEE").category(RELATIONSHIP_CATEGORY).build(),
+                deleteResultMatch.get(), "Deleted relationship ID should match 'rel_id1'");
 
         // Test deletion of the same relationship ID again (expected failure)
         Optional<OperationResult> deleteResultNoMatch = tiesDbOperations.deleteManyToManyRelationByRelationId(dslContext,
@@ -567,13 +569,13 @@ class TiesDbOperationResultsTest {
                 "module_id1", "aSide_2A2D3374BF907674FA1905478E30ACB8882DC03C",
                 "bSide_EE6DD4A2CFD743779BBCBFC18FC296EF6D72EB1E");
         assertEquals(2, deleteResultMatch.size(), "Expected two relations to be deleted");
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("rel_id1",
-                "ANTENNAMODULEEEEEEEEEEEE_REALISED_BY_ANTENNAMODULEEEEEEEEEEEEEEE")),
-                "The list should contain the delete operation result with id: 'rel_id1'");
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("rel_id1").type(
+                "ANTENNAMODULEEEEEEEEEEEE_REALISED_BY_ANTENNAMODULEEEEEEEEEEEEEEE").category(RELATIONSHIP_CATEGORY)
+                .build()), "The list should contain the delete operation result with id: 'rel_id1'");
 
-        assertTrue(deleteResultMatch.contains(OperationResult.createRelationshipOperationResult("rel_id2",
-                "ANTENNAMODULEEEEEEEEEEEE_REALISED_BY_ANTENNAMODULEEEEEEEEEEEEEEE")),
-                "The list should contain the delete operation result with id: 'rel_id2'");
+        assertTrue(deleteResultMatch.contains(OperationResult.builder().id("rel_id2").type(
+                "ANTENNAMODULEEEEEEEEEEEE_REALISED_BY_ANTENNAMODULEEEEEEEEEEEEEEE").category(RELATIONSHIP_CATEGORY)
+                .build()), "The list should contain the delete operation result with id: 'rel_id2'");
 
         // Test deletion of relations by the same entity ID again (expected to find no
         // relations to delete)
diff --git a/teiv/src/test/resources/cloudeventdata/common/ce-data-only.json b/teiv/src/test/resources/cloudeventdata/common/ce-data-only.json
deleted file mode 100644 (file)
index a7f6453..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-{
-    "entities": [
-        {
-            "o-ran-smo-teiv-ran:NRCellDU": [
-                {
-                    "id": "entityId_1",
-                    "attributes": {
-                        "cellLocalId": 4589,
-                        "nRPCI": 12,
-                        "nRTAC": 310,
-                        "primitiveArray": [
-                            1,
-                            2,
-                            3
-                        ],
-                        "singleList": [
-                            "12"
-                        ],
-                        "jsonObjectArray": [
-                            {
-                                "test1": "128",
-                                "test2": "49"
-                            },
-                            {
-                                "test1": "129",
-                                "test2": "50"
-                            }
-                        ]
-                    }
-                },
-                {
-                    "id": "entityId_3",
-                    "attributes": {
-                        "cellLocalId": 45891,
-                        "nRPCI": 121,
-                        "nRTAC": 3101,
-                        "primitiveArray": [
-                            1,
-                            2,
-                            3
-                        ],
-                        "singleList": [
-                            "121"
-                        ],
-                        "jsonObjectArray": [
-                            {
-                                "test1": "1281",
-                                "test2": "491"
-                            },
-                            {
-                                "test1": "1291",
-                                "test2": "501"
-                            }
-                        ]
-                    }
-                }
-            ]
-        },
-        {
-            "o-ran-smo-teiv-ran:NRSectorCarrier": [
-                {
-                    "id": "entityId_2",
-                    "attributes": {
-                        "arfcnDL": 4590,
-                        "testDouble": 32.5,
-                        "testBoolean": true,
-                        "cmId": {
-                            "option1": "test_option1",
-                            "option2": "test_option2"
-                        }
-                    }
-                }
-            ]
-        }
-    ],
-    "relationships": [
-        {
-            "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER": [
-                {
-                    "id": "relationshipId",
-                    "aSide": "entityId_1",
-                    "bSide": "entityId_2"
-                },
-                {
-                    "id": "relationshipId2",
-                    "aSide": "entityId_3",
-                    "bSide": "entityId_4"
-                }
-            ],
-            "o-ran-smo-teiv-ran:ODUFunctionRealisedByCloudNativeApplication": [
-                {
-                    "id": "relationshipId3",
-                    "aSide": "entityId_5",
-                    "bSide": "entityId_6"
-                },
-                {
-                    "id": "relationshipId4",
-                    "aSide": "entityId_5",
-                    "bSide": "entityId_7"
-                }
-            ]
-        }
-    ]
-}
index 8854622..40b6d97 100644 (file)
                     {
                         "id": "NRCellDU_21",
                         "attributes": {
-
+                            "cellLocalIdddddddddddddddddddddddddddddddddddddddddddddddddddddd": 4589,
+                            "nCI": 1,
+                            "nRPCI": 12,
+                            "nRTAC": 310
                         },
                         "sourceIds": [
                             "source1",
diff --git a/teiv/src/test/resources/contracts/classifiers/00_getClassifiers_getTopologyByEntityTypeName.groovy b/teiv/src/test/resources/contracts/classifiers/00_getClassifiers_getTopologyByEntityTypeName.groovy
deleted file mode 100644 (file)
index 1d0142d..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.classifiers
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter."
-        request {
-            method GET()
-            url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter(OR)"
-        request {
-            method GET()
-            url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural'] | /classifiers[@item='test-app-module:Indoor']"
-                },
-                "totalCount": 4
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(4)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter.(AND)"
-        request {
-            method GET()
-            url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                {
-                    "o-ran-smo-teiv-ran:ODUFunction": [
-                        {
-                            "classifiers": [
-                                "test-app-module:Rural",
-                                "test-app-module:Weekend"
-                            ],
-                            "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                        }
-                    ]
-                },
-                {
-                    "o-ran-smo-teiv-ran:ODUFunction": [
-                        {
-                            "classifiers": [
-                                "test-app-module:Indoor",
-                                "test-app-module:Rural",
-                                "test-app-module:Weekend"
-                            ],
-                            "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                        }
-                    ]
-                }
-            ],
-            "self": {
-                "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-            },
-            "first": {
-                "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-            },
-            "prev": {
-                "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-            },
-            "next": {
-                "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-            },
-            "last": {
-                "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-            },
-            "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with classifiers in scopeFilter.(Contains)"
-        request {
-            method GET()
-            url "topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'app-module:Rural')]"
-                },
-                "totalCount": 2
-                }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].classifiers[2]', byEquality())
-            }
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/classifiers/01_getClassifiers_getRelationshipsByType.groovy b/teiv/src/test/resources/contracts/classifiers/01_getClassifiers_getRelationshipsByType.groovy
deleted file mode 100644 (file)
index 3e6dccc..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.classifier
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get classifiers using getRelationshipsByType - EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-               "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10",
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=661A89AD3C2702233CD9E96E97E738C05C35EC5FDF32DC78D149B773726350067315B72448D004C938BCD0263F0C4BCCC8A5F9CDD145B9B740983D1523664328"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16",
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural']&targetFilter=/classifiers"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural']&targetFilter=/classifiers"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural']&targetFilter=/classifiers"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural']&targetFilter=/classifiers"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural']&targetFilter=/classifiers"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get classifiers using getRelationshipsByType - EQUALS(AND)"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10",
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=661A89AD3C2702233CD9E96E97E738C05C35EC5FDF32DC78D149B773726350067315B72448D004C938BCD0263F0C4BCCC8A5F9CDD145B9B740983D1523664328"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16",
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']&targetFilter=/classifiers"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']&targetFilter=/classifiers"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']&targetFilter=/classifiers"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']&targetFilter=/classifiers"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[@item='test-app-module:Rural' and @item='test-app-module:Weekend']&targetFilter=/classifiers"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get classifiers using getRelationshipsByType - CONTAINS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'ural')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10",
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=661A89AD3C2702233CD9E96E97E738C05C35EC5FDF32DC78D149B773726350067315B72448D004C938BCD0263F0C4BCCC8A5F9CDD145B9B740983D1523664328"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16",
-                                "classifiers": [
-                                    "module-x:Indoor",
-                                    "module-y:Rural",
-                                    "module-z:Weekend"
-                                ],
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[contains(@item,'ural')]&targetFilter=/classifiers"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[contains(@item,'ural')]&targetFilter=/classifiers"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[contains(@item,'ural')]&targetFilter=/classifiers"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[contains(@item,'ural')]&targetFilter=/classifiers"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/classifiers[contains(@item,'ural')]&targetFilter=/classifiers"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get classifiers using getRelationshipsByType - CONTAINS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[contains(@item,'NOT_EXISTING')]"
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                    "status": "NOT_FOUND",
-                    "message": "Invalid classifiers",
-                    "details": "The provided classifiers are invalid [NOT_EXISTING]"
-                }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-]
diff --git a/teiv/src/test/resources/contracts/classifiers/02_getClassifiers_getEntitiesByDomain.groovy b/teiv/src/test/resources/contracts/classifiers/02_getClassifiers_getEntitiesByDomain.groovy
deleted file mode 100644 (file)
index caf7be9..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.classifier
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get classifiers using getEntitiesByDomain - EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?targetFilter=/ODUFunction/classifiers&scopeFilter=/ODUFunction/classifiers[@item='test-app-module:Rural']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/ODUFunction/classifiers&scopeFilter=/ODUFunction/classifiers[@item='test-app-module:Rural']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/ODUFunction/classifiers&scopeFilter=/ODUFunction/classifiers[@item='test-app-module:Rural']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/ODUFunction/classifiers&scopeFilter=/ODUFunction/classifiers[@item='test-app-module:Rural']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/ODUFunction/classifiers&scopeFilter=/ODUFunction/classifiers[@item='test-app-module:Rural']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/ODUFunction/classifiers&scopeFilter=/ODUFunction/classifiers[@item='test-app-module:Rural']"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get classifiers using getEntitiesByDomain - EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Rural"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=93"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "classifiers": [
-                                    "test-app-module:Indoor",
-                                    "test-app-module:Rural",
-                                    "test-app-module:Weekend"
-                                ],
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Rural']"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-]
diff --git a/teiv/src/test/resources/contracts/classifiers/03_postClassifiers_merge.groovy b/teiv/src/test/resources/contracts/classifiers/03_postClassifiers_merge.groovy
deleted file mode 100644 (file)
index bf9bb1a..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.classifier
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "NOT FOUND - 404: Merge classifiers with wrong entity ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "entityIds": [
-                    "WRONG_ENTITY_ID",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                    "status": "NOT_FOUND",
-                    "message": "Resource Not Found",
-                    "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []"
-                }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Merge classifiers with wrong relationship ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                    "test-app-module:Rural",
-                    "test-app-module:Weekend"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512",
-                    "WRONG_RELATIONSHIP_ID"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                    "status": "NOT_FOUND",
-                    "message": "Resource Not Found",
-                    "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]"
-                }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Merge valid classifiers to entities and relationships (add)."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                    "test-app-module:Weekday"
-                ],
-                "entityIds": [
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/classifiers/04_postClassifiers_delete.groovy b/teiv/src/test/resources/contracts/classifiers/04_postClassifiers_delete.groovy
deleted file mode 100644 (file)
index 606c5bb..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.classifier
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "NOT FOUND - 404: Delete classifiers with wrong entity ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers":[
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "entityIds": [
-                    "WRONG_ENTITY_ID",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-            "status": "NOT_FOUND",
-            "message": "Resource Not Found",
-            "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []"}''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Delete classifiers with wrong relationship ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512",
-                    "WRONG_RELATIONSHIP_ID"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-            "status": "NOT_FOUND",
-            "message": "Resource Not Found",
-            "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]"}''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "BAD REQUEST - 400: Delete classifiers from non-existing schema."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module-wrong:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid schema name",
-            "details": "Invalid schema name: test-app-module-wrong"}''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid classifiers, no topology object given."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid classifiers on entities."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid classifiers on relationships."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA",
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid classifiers on entities and relationships."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/classifiers"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "classifiers": [
-                        "test-app-module:Rural",
-                        "test-app-module:Weekend"
-                 ],
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA",
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/00_getAllDomains.groovy b/teiv/src/test/resources/contracts/data/00_getAllDomains.groovy
deleted file mode 100644 (file)
index b7e37a8..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology domains."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "CLOUD",
-                        "entityTypes": {
-                            "href": "/domains/CLOUD/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/CLOUD/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "EQUIPMENT",
-                        "entityTypes": {
-                            "href": "/domains/EQUIPMENT/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/EQUIPMENT/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "OAM",
-                        "entityTypes": {
-                            "href": "/domains/OAM/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/OAM/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "RAN",
-                        "entityTypes": {
-                            "href": "/domains/RAN/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/RAN/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "REL_CLOUD_RAN",
-                        "entityTypes": {
-                            "href": "/domains/REL_CLOUD_RAN/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/REL_CLOUD_RAN/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "REL_EQUIPMENT_RAN",
-                        "entityTypes": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "REL_OAM_CLOUD",
-                        "entityTypes": {
-                            "href": "/domains/REL_OAM_CLOUD/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/REL_OAM_CLOUD/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "REL_OAM_RAN",
-                        "entityTypes": {
-                            "href": "/domains/REL_OAM_RAN/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "TEIV",
-                        "entityTypes": {
-                            "href": "/domains/TEIV/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/TEIV/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "TEST",
-                        "entityTypes": {
-                            "href": "/domains/TEST/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/TEST/relationship-types"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains?offset=0&limit=500"
-                },
-                "totalCount": 10
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(10)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].entityTypes.href', byEquality())
-                jsonPath('$.items[0].relationshipTypes.href', byEquality())
-                jsonPath('$.items[1].name', byEquality())
-                jsonPath('$.items[1].entityTypes.href', byEquality())
-                jsonPath('$.items[1].relationshipTypes.href', byEquality())
-                jsonPath('$.items[2].name', byEquality())
-                jsonPath('$.items[2].entityTypes.href', byEquality())
-                jsonPath('$.items[2].relationshipTypes.href', byEquality())
-                jsonPath('$.items[3].name', byEquality())
-                jsonPath('$.items[3].entityTypes.href', byEquality())
-                jsonPath('$.items[3].relationshipTypes.href', byEquality())
-                jsonPath('$.items[4].name', byEquality())
-                jsonPath('$.items[4].entityTypes.href', byEquality())
-                jsonPath('$.items[4].relationshipTypes.href', byEquality())
-                jsonPath('$.items[5].name', byEquality())
-                jsonPath('$.items[5].entityTypes.href', byEquality())
-                jsonPath('$.items[5].relationshipTypes.href', byEquality())
-                jsonPath('$.items[6].name', byEquality())
-                jsonPath('$.items[6].entityTypes.href', byEquality())
-                jsonPath('$.items[6].relationshipTypes.href', byEquality())
-                jsonPath('$.items[7].name', byEquality())
-                jsonPath('$.items[7].entityTypes.href', byEquality())
-                jsonPath('$.items[7].relationshipTypes.href', byEquality())
-                jsonPath('$.items[8].name', byEquality())
-                jsonPath('$.items[8].entityTypes.href', byEquality())
-                jsonPath('$.items[8].relationshipTypes.href', byEquality())
-                jsonPath('$.items[9].name', byEquality())
-                jsonPath('$.items[9].entityTypes.href', byEquality())
-                jsonPath('$.items[9].relationshipTypes.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology domains with offset as 2 and limit as 3."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains?offset=2&limit=3"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "OAM",
-                        "entityTypes": {
-                            "href": "/domains/OAM/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/OAM/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "RAN",
-                        "entityTypes": {
-                            "href": "/domains/RAN/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/RAN/relationship-types"
-                        }
-                    },
-                    {
-                        "name": "REL_CLOUD_RAN",
-                        "entityTypes": {
-                            "href": "/domains/REL_CLOUD_RAN/entity-types"
-                        },
-                        "relationshipTypes": {
-                            "href": "/domains/REL_CLOUD_RAN/relationship-types"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains?offset=2&limit=3"
-                },
-                "first": {
-                    "href": "/domains?offset=0&limit=3"
-                },
-                "prev": {
-                    "href": "/domains?offset=0&limit=3"
-                },
-                "next": {
-                    "href": "/domains?offset=5&limit=3"
-                },
-                "last": {
-                    "href": "/domains?offset=8&limit=3"
-                },
-                "totalCount": 10
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].entityTypes.href', byEquality())
-                jsonPath('$.items[0].relationshipTypes.href', byEquality())
-                jsonPath('$.items[1].name', byEquality())
-                jsonPath('$.items[1].entityTypes.href', byEquality())
-                jsonPath('$.items[1].relationshipTypes.href', byEquality())
-                jsonPath('$.items[2].name', byEquality())
-                jsonPath('$.items[2].entityTypes.href', byEquality())
-                jsonPath('$.items[2].relationshipTypes.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all the available topology domains with invalid offset (greater than total count)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains?offset=100"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 9"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/01_getTopologyEntityTypes.groovy b/teiv/src/test/resources/contracts/data/01_getTopologyEntityTypes.groovy
deleted file mode 100644 (file)
index 1369576..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology entity types in OAM domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/OAM/entity-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "ManagedElement",
-                        "entities": {
-                            "href": "/domains/OAM/entity-types/ManagedElement/entities"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/OAM/entity-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/OAM/entity-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/OAM/entity-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/OAM/entity-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/OAM/entity-types?offset=0&limit=500"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].entities.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology entity types in REL_OAM_RAN domain (includes OAM and RAN domains)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/entity-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "AntennaCapability",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/AntennaCapability/entities"
-                        }
-                    },
-                    {
-                        "name": "ManagedElement",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/ManagedElement/entities"
-                        }
-                    },
-                    {
-                        "name": "NRCellCU",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/NRCellCU/entities"
-                        }
-                    },
-                    {
-                        "name": "NRCellDU",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/NRCellDU/entities"
-                        }
-                    },
-                    {
-                        "name": "NRSectorCarrier",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/NRSectorCarrier/entities"
-                        }
-                    },
-                    {
-                        "name": "NearRTRICFunction",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/NearRTRICFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFunction",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/OCUCPFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "OCUUPFunction",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/OCUUPFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "ODUFunction",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/ODUFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "ORUFunction",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/ORUFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "Sector",
-                        "entities": {
-                            "href": "/domains/REL_OAM_RAN/entity-types/Sector/entities"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/entity-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/entity-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/entity-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/entity-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/entity-types?offset=0&limit=500"
-                },
-                "totalCount": 11
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(11)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].entities.href', byEquality())
-                jsonPath('$.items[1].name', byEquality())
-                jsonPath('$.items[1].entities.href', byEquality())
-                jsonPath('$.items[2].name', byEquality())
-                jsonPath('$.items[2].entities.href', byEquality())
-                jsonPath('$.items[3].name', byEquality())
-                jsonPath('$.items[3].entities.href', byEquality())
-                jsonPath('$.items[4].name', byEquality())
-                jsonPath('$.items[4].entities.href', byEquality())
-                jsonPath('$.items[5].name', byEquality())
-                jsonPath('$.items[5].entities.href', byEquality())
-                jsonPath('$.items[6].name', byEquality())
-                jsonPath('$.items[6].entities.href', byEquality())
-                jsonPath('$.items[7].name', byEquality())
-                jsonPath('$.items[7].entities.href', byEquality())
-                jsonPath('$.items[8].name', byEquality())
-                jsonPath('$.items[8].entities.href', byEquality())
-                jsonPath('$.items[9].name', byEquality())
-                jsonPath('$.items[9].entities.href', byEquality())
-                jsonPath('$.items[10].name', byEquality())
-                jsonPath('$.items[10].entities.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology entity types in RAN domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "AntennaCapability",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/AntennaCapability/entities"
-                        }
-                    },
-                    {
-                        "name": "NRCellCU",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/NRCellCU/entities"
-                        }
-                    },
-                    {
-                        "name": "NRCellDU",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/NRCellDU/entities"
-                        }
-                    },
-                    {
-                        "name": "NRSectorCarrier",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/NRSectorCarrier/entities"
-                        }
-                    },
-                    {
-                        "name": "NearRTRICFunction",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/NearRTRICFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFunction",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/OCUCPFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "OCUUPFunction",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/OCUUPFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "ODUFunction",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/ODUFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "ORUFunction",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/ORUFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "Sector",
-                        "entities": {
-                            "href": "/domains/RAN/entity-types/Sector/entities"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types?offset=0&limit=500"
-                },
-                "totalCount": 10
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(10)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].entities.href', byEquality())
-                jsonPath('$.items[1].name', byEquality())
-                jsonPath('$.items[1].entities.href', byEquality())
-                jsonPath('$.items[2].name', byEquality())
-                jsonPath('$.items[2].entities.href', byEquality())
-                jsonPath('$.items[3].name', byEquality())
-                jsonPath('$.items[3].entities.href', byEquality())
-                jsonPath('$.items[4].name', byEquality())
-                jsonPath('$.items[4].entities.href', byEquality())
-                jsonPath('$.items[5].name', byEquality())
-                jsonPath('$.items[5].entities.href', byEquality())
-                jsonPath('$.items[6].name', byEquality())
-                jsonPath('$.items[6].entities.href', byEquality())
-                jsonPath('$.items[7].name', byEquality())
-                jsonPath('$.items[7].entities.href', byEquality())
-                jsonPath('$.items[8].name', byEquality())
-                jsonPath('$.items[8].entities.href', byEquality())
-                jsonPath('$.items[9].name', byEquality())
-                jsonPath('$.items[9].entities.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology entity types in TEIV domain (includes all the supported topology domains)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEIV/entity-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "AntennaCapability",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/AntennaCapability/entities"
-                        }
-                    },
-                    {
-                        "name": "AntennaModule",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/AntennaModule/entities"
-                        }
-                    },
-                    {
-                        "name": "CloudifiedNF",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/CloudifiedNF/entities"
-                        }
-                    },
-                    {
-                        "name": "EntityTypeA",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/EntityTypeA/entities"
-                        }
-                    },
-                    {
-                        "name": "EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities"
-                        }
-                    },
-                    {
-                        "name": "ManagedElement",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/ManagedElement/entities"
-                        }
-                    },
-                    {
-                        "name": "NFDeployment",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/NFDeployment/entities"
-                        }
-                    },
-                    {
-                        "name": "NRCellCU",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/NRCellCU/entities"
-                        }
-                    },
-                    {
-                        "name": "NRCellDU",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/NRCellDU/entities"
-                        }
-                    },
-                    {
-                        "name": "NRSectorCarrier",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/NRSectorCarrier/entities"
-                        }
-                    },
-                    {
-                        "name": "NearRTRICFunction",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/NearRTRICFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "NodeCluster",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/NodeCluster/entities"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFunction",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/OCUCPFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "OCUUPFunction",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/OCUUPFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "OCloudNamespace",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/OCloudNamespace/entities"
-                        }
-                    },
-                    {
-                        "name": "OCloudSite",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/OCloudSite/entities"
-                        }
-                    },
-                    {
-                        "name": "ODUFunction",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/ODUFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "ORUFunction",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/ORUFunction/entities"
-                        }
-                    },
-                    {
-                        "name": "Sector",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/Sector/entities"
-                        }
-                    },
-                    {
-                        "name": "Site",
-                        "entities": {
-                            "href": "/domains/TEIV/entity-types/Site/entities"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEIV/entity-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/TEIV/entity-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/TEIV/entity-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/TEIV/entity-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/TEIV/entity-types?offset=0&limit=500"
-                },
-                "totalCount": 20
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(20)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].entities.href', byEquality())
-                jsonPath('$.items[1].name', byEquality())
-                jsonPath('$.items[1].entities.href', byEquality())
-                jsonPath('$.items[2].name', byEquality())
-                jsonPath('$.items[2].entities.href', byEquality())
-                jsonPath('$.items[3].name', byEquality())
-                jsonPath('$.items[3].entities.href', byEquality())
-                jsonPath('$.items[4].name', byEquality())
-                jsonPath('$.items[4].entities.href', byEquality())
-                jsonPath('$.items[5].name', byEquality())
-                jsonPath('$.items[5].entities.href', byEquality())
-                jsonPath('$.items[6].name', byEquality())
-                jsonPath('$.items[6].entities.href', byEquality())
-                jsonPath('$.items[7].name', byEquality())
-                jsonPath('$.items[7].entities.href', byEquality())
-                jsonPath('$.items[8].name', byEquality())
-                jsonPath('$.items[8].entities.href', byEquality())
-                jsonPath('$.items[9].name', byEquality())
-                jsonPath('$.items[9].entities.href', byEquality())
-                jsonPath('$.items[10].name', byEquality())
-                jsonPath('$.items[10].entities.href', byEquality())
-                jsonPath('$.items[11].name', byEquality())
-                jsonPath('$.items[11].entities.href', byEquality())
-                jsonPath('$.items[12].name', byEquality())
-                jsonPath('$.items[12].entities.href', byEquality())
-                jsonPath('$.items[13].name', byEquality())
-                jsonPath('$.items[13].entities.href', byEquality())
-                jsonPath('$.items[14].name', byEquality())
-                jsonPath('$.items[14].entities.href', byEquality())
-                jsonPath('$.items[15].name', byEquality())
-                jsonPath('$.items[15].entities.href', byEquality())
-                jsonPath('$.items[16].name', byEquality())
-                jsonPath('$.items[16].entities.href', byEquality())
-                jsonPath('$.items[17].name', byEquality())
-                jsonPath('$.items[17].entities.href', byEquality())
-                jsonPath('$.items[18].name', byEquality())
-                jsonPath('$.items[18].entities.href', byEquality())
-                jsonPath('$.items[19].name', byEquality())
-                jsonPath('$.items[19].entities.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all the available topology entity types with invalid domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/INVALID/entity-types"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown domain",
-                "details": "Unknown domain: INVALID, known domains: [CLOUD, EQUIPMENT, OAM, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, TEIV, TEST]"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all the available topology entity types in TEIV domain with invalid offset (greater than total count)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEIV/entity-types?offset=100"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 19"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/02_getTopologyByEntityTypeName.groovy b/teiv/src/test/resources/contracts/data/02_getTopologyByEntityTypeName.groovy
deleted file mode 100644 (file)
index 720820e..0000000
+++ /dev/null
@@ -1,1542 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type NRCellDU."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=92"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=93"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500"
-                },
-                "totalCount": 6
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(6)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[5].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with offset as 1 and limit as 4."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=1&limit=4"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=1&limit=4"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=4"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=4"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=5&limit=4"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=5&limit=4"
-                },
-                "totalCount": 7
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(4)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type NRCellDU with scopeFilter."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type NRCellDU which matches given ID (exact ID match). Alternate to GET entity by ID."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?scopeFilter=/NRCellDU[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type NRCellDU which contain 'ManagedElement=9,ODUFunction=9' in ID (partial ID match)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?scopeFilter=/NRCellDU[contains(@id, 'ManagedElement=9,ODUFunction=9')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[contains(@id, 'ManagedElement=9,ODUFunction=9')]"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[contains(@id, 'ManagedElement=9,ODUFunction=9')]"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[contains(@id, 'ManagedElement=9,ODUFunction=9')]"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[contains(@id, 'ManagedElement=9,ODUFunction=9')]"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/NRCellDU[contains(@id, 'ManagedElement=9,ODUFunction=9')]"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaCapability which has serving-antennaModule association with ID that contains 'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A'"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEIV/entity-types/AntennaCapability/entities?scopeFilter=/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                            "items": [
-                  {
-                    "o-ran-smo-teiv-ran:AntennaCapability": [
-                      {
-                        "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1"
-                      }
-                    ]
-                  }
-                ],
-                "self": {
-                    "href": "/domains/TEIV/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]"
-                },
-                "first": {
-                    "href": "/domains/TEIV/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]"
-                },
-                "prev": {
-                    "href": "/domains/TEIV/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]"
-                },
-                "next": {
-                    "href": "/domains/TEIV/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]"
-                },
-                "last": {
-                    "href": "/domains/TEIV/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[contains(@id,'AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A')]"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction which has provided-nrCellDu association with ID that contains 'NRCellDU=1'."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?scopeFilter=/provided-nrCellDu[contains(@id,'NRCellDU=1')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                            "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/provided-nrCellDu[contains(@id,'NRCellDU=1')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/provided-nrCellDu[contains(@id,'NRCellDU=1')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/provided-nrCellDu[contains(@id,'NRCellDU=1')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/provided-nrCellDu[contains(@id,'NRCellDU=1')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/provided-nrCellDu[contains(@id,'NRCellDU=1')]"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaModule with targetFilter=/sourceIds"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?targetFilter=/sourceIds"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1",
-                                    "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                                ]
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=72AC3D5E2A5F1C47BD09258A9F7B48E0123E9AD752AC54F7E8D8F9D3A6BC487A89A762A5D12CB9D148BB9E5D53A4F3F981345ACDF7B4CB55D67BC12A13FD5B7A",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1",
-                                    "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                                ]
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=84A3E5D7C916F4B2390DC45F178BE6A9235FD80CB41972E3456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1",
-                                    "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"
-                                ]
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1",
-                                    "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"
-                                ]
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=B7F52C914E8D36A0185BC9D47EF230A95C681D7B4F923E0A5D8C741F6B9203E85A4D967B312C8F405E9B7831A6D2C5904F8B3E167A9D204C5B8371F9E6A02D45",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1",
-                                    "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                                ]
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds"
-                },
-                "first": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds"
-                },
-                "prev": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds"
-                },
-                "next": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds"
-                },
-                "last": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds"
-                },
-                "totalCount": 5
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(5)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[2]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[3]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[2]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[3]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[2]', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[3]', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[2]', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[3]', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[2]', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[3]', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaModule with scopeFilter on sourceIds"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?scopeFilter=/sourceIds[@item = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1']&targetFilter=/sourceIds"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1",
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1",
-                                    "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                                ]
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1']"
-                },
-                "first": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1']"
-                },
-                "prev": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1']"
-                },
-                "next": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1']"
-                },
-                "last": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1']"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[2]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].sourceIds[3]', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get empty items array when no entity exists of given filter criteria."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=898989]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=898989]"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=898989]"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=898989]"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=898989]"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=898989]"
-                },
-                "totalCount": 0
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(0)
-                })
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities by a long named entity type."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities?offset=0&limit=1&targetFilter=/attributes"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters": [
-                            {
-                                "attributes": {
-                                    "attributeA2WithAttributeNameLengthLongerThanSixtyThreeCharacters": 9223372036854775807,
-                                    "attributeA6WithAttributeNameLengthLongerThanSixtyThreeCharacters": [
-                                        "1000",
-                                        "2000"
-                                    ],
-                                    "attributeA5WithAttributeNameLengthLongerThanSixtyThreeCharacters": 1.1,
-                                    "attributeA4WithAttributeNameLengthLongerThanSixtyThreeCharacters": -9223372036854775807,
-                                    "attributeA3WithAttributeNameLengthLongerThanSixtyThreeCharacters": 2147483647,
-                                    "attributeA7WithAttributeNameLengthLongerThanSixtyThreeCharacters": {
-                                        "mcc": "01",
-                                        "mnc": "234"
-                                    },
-                                    "attributeA1WithAttributeNameLengthLongerThanSixtyThreeCharacters": "someStringValue"
-                                },
-                                "id": "LongEntityType1"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities?offset=0&limit=1&targetFilter=/attributes"
-                },
-                "first": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities?offset=0&limit=1&targetFilter=/attributes"
-                },
-                "prev": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities?offset=0&limit=1&targetFilter=/attributes"
-                },
-                "next": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities?offset=1&limit=1&targetFilter=/attributes"
-                },
-                "last": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities?offset=2&limit=1&targetFilter=/attributes"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].id', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA1WithAttributeNameLengthLongerThanSixtyThreeCharacters', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA2WithAttributeNameLengthLongerThanSixtyThreeCharacters', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA3WithAttributeNameLengthLongerThanSixtyThreeCharacters', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA4WithAttributeNameLengthLongerThanSixtyThreeCharacters', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA5WithAttributeNameLengthLongerThanSixtyThreeCharacters', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA6WithAttributeNameLengthLongerThanSixtyThreeCharacters[0]', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA6WithAttributeNameLengthLongerThanSixtyThreeCharacters[1]', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA7WithAttributeNameLengthLongerThanSixtyThreeCharacters.mcc', byEquality())
-                jsonPath('$.items[0].test-built-in-module:EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[0].attributes.attributeA7WithAttributeNameLengthLongerThanSixtyThreeCharacters.mnc', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type NRCellDU with scopeFilter on association."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=100&scopeFilter=/provided-by-oduFunction[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9']&targetFilter=/attributes(nCI)"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                            "items": [
-                  {
-                    "o-ran-smo-teiv-ran:NRCellDU": [
-                      {
-                        "attributes": {
-                          "nCI": 1
-                        },
-                        "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
-                      }
-                    ]
-                  },
-                  {
-                    "o-ran-smo-teiv-ran:NRCellDU": [
-                      {
-                        "attributes": {
-                          "nCI": 2
-                        },
-                        "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
-                      }
-                    ]
-                  },
-                  {
-                    "o-ran-smo-teiv-ran:NRCellDU": [
-                      {
-                        "attributes": {
-                          "nCI": 3
-                        },
-                        "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
-                      }
-                    ]
-                  }
-                ],
-                "self": {
-                  "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=100&targetFilter=/attributes(nCI)&scopeFilter=/provided-by-oduFunction[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9']"
-                },
-                "first": {
-                  "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=100&targetFilter=/attributes(nCI)&scopeFilter=/provided-by-oduFunction[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9']"
-                },
-                "prev": {
-                  "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=100&targetFilter=/attributes(nCI)&scopeFilter=/provided-by-oduFunction[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9']"
-                },
-                "next": {
-                  "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=100&targetFilter=/attributes(nCI)&scopeFilter=/provided-by-oduFunction[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9']"
-                },
-                "last": {
-                  "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=100&targetFilter=/attributes(nCI)&scopeFilter=/provided-by-oduFunction[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9']"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].attributes.nCI', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].attributes.nCI', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].attributes.nCI', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with scopeFilter on sourceIds and gNBId with AND condition."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/attributes[@gNBId=10]; /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']&targetFilter=/attributes;/sourceIds"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "82"
-                                    },
-                                    "gNBId": 10,
-                                    "gNBDUId": null,
-                                    "gNBIdLength": 2
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10",
-                                    "urn:cmHandle:72FDA73D085F138FECC974CB91F1450E"
-                                ]
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes;/sourceIds&scopeFilter=/attributes[@gNBId=10]; /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes;/sourceIds&scopeFilter=/attributes[@gNBId=10]; /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes;/sourceIds&scopeFilter=/attributes[@gNBId=10]; /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes;/sourceIds&scopeFilter=/attributes[@gNBId=10]; /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/attributes;/sourceIds&scopeFilter=/attributes[@gNBId=10]; /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with scopeFilter with AND an OR conditions."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/attributes[@gNBId=10 or @gNBId=13]; /attributes[@gNBIdLength = 2]&targetFilter=/ODUFunction"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-            "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/ODUFunction&scopeFilter=/attributes[@gNBId=10 or @gNBId=13]; /attributes[@gNBIdLength = 2]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/ODUFunction&scopeFilter=/attributes[@gNBId=10 or @gNBId=13]; /attributes[@gNBIdLength = 2]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/ODUFunction&scopeFilter=/attributes[@gNBId=10 or @gNBId=13]; /attributes[@gNBIdLength = 2]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/ODUFunction&scopeFilter=/attributes[@gNBId=10 or @gNBId=13]; /attributes[@gNBIdLength = 2]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/ODUFunction&scopeFilter=/attributes[@gNBId=10 or @gNBId=13]; /attributes[@gNBIdLength = 2]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type ODUFunction with scopeFilter with AND an OR conditions."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&scopeFilter=/attributes[@gNBId = 9 and @gNBIdLength = 1] | /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']&targetFilter=/id"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                            "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/id&scopeFilter=/attributes[@gNBId = 9 and @gNBIdLength = 1] | /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/id&scopeFilter=/attributes[@gNBId = 9 and @gNBIdLength = 1] | /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/id&scopeFilter=/attributes[@gNBId = 9 and @gNBIdLength = 1] | /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/id&scopeFilter=/attributes[@gNBId = 9 and @gNBIdLength = 1] | /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/id&scopeFilter=/attributes[@gNBId = 9 and @gNBIdLength = 1] | /sourceIds[@item = 'urn:cmHandle:72FDA73D085F138FECC974CB91F1450E']"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type OCUCPFunction with scopeFilter on complex attribute STRING value - EQUALS - KEY AND VALUE EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10",
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "83"
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUCPFunction=16",
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "86"
-                                    }
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type OCUCPFunction with scopeFilter on complex attribute STRING value - EQUALS - KEY AND VALUE EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10",
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "83"
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUCPFunction=16",
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "86"
-                                    }
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[@mcc='456']"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type OCUCPFunction with scopeFilter on complex attribute STRING value - CONTAINS - KEY AND VALUE EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[contains(@mcc,'78')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,OCUCPFunction=13",
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "789",
-                                        "mnc": "84"
-                                    }
-                                }
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,OCUCPFunction=19",
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "789",
-                                        "mnc": "87"
-                                    }
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[contains(@mcc,'78')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[contains(@mcc,'78')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[contains(@mcc,'78')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[contains(@mcc,'78')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/OCUCPFunction/entities?offset=0&limit=500&targetFilter=/attributes(pLMNId)&scopeFilter=/attributes/pLMNId[contains(@mcc,'78')]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaCapability with scopeFilter on complex attribute STRING array - EXACT MATCH - VALUE EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item='456']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:AntennaCapability": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1",
-                                "attributes": {
-                                    "eUtranFqBands": [
-                                        "123",
-                                        "456",
-                                        "789"
-                                    ]
-                                }
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:AntennaCapability": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1",
-                                "attributes": {
-                                    "eUtranFqBands": [
-                                        "123",
-                                        "456",
-                                        "789"
-                                    ]
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item='456']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item='456']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item='456']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item='456']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item='456']"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaCapability with scopeFilter on complex attribute INTEGER array - EXACT MATCH - VALUE NOT EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item=456]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [],
-                "self": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item=456]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item=456]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item=456]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item=456]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[@item=456]"
-                },
-                "totalCount": 0
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(0)
-                })
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaCapability with scopeFilter on complex attribute STRING array - PARTIAL MATCH - VALUE EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'45')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:AntennaCapability": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1",
-                                "attributes": {
-                                    "eUtranFqBands": [
-                                        "123",
-                                        "456",
-                                        "789"
-                                    ]
-                                }
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:AntennaCapability": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1",
-                                "attributes": {
-                                    "eUtranFqBands": [
-                                        "123",
-                                        "456",
-                                        "789"
-                                    ]
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'45')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'45')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'45')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'45')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'45')]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all topology entities of type AntennaCapability with scopeFilter on complex attribute STRING array - PARTIAL MATCH - VALUE NOT EXISTS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'999')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [],
-                "self": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'999')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'999')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'999')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'999')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&targetFilter=/attributes(eUtranFqBands)&scopeFilter=/attributes/eUtranFqBands[contains(@item,'999')]"
-                },
-                "totalCount": 0
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(0)
-                })
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities of type AntennaModule with scopeFilter on geographic attribute"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 67.9419888)']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A",
-                                "attributes": {
-                                    "geo-location": "POINT(39.4019881 67.9419888)"
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 67.9419888)']"
-                },
-                "first": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 67.9419888)']"
-                },
-                "prev": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 67.9419888)']"
-                },
-                "next": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 67.9419888)']"
-                },
-                "last": {
-                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 67.9419888)']"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-            }
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get entities of type AntennaModule with scopeFilter on geographic attribute - invalid format"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = '(39.4019881 67.9419888)']"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get entities of type AntennaModule with scopeFilter on geographic attribute - 1 coordinate"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881)']"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get entities of type AntennaModule with scopeFilter on geographic attribute - invalid coordinate"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&targetFilter=/attributes(geo-location)&scopeFilter=/attributes[@geo-location = 'POINT(39.4019881 ABC)']"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid query condition",
-                "details": "Invalid geographic format, geographic type must be 2D or 3D coordinates. For example: POINT(39.40 67.94) or POINT Z (47.49 19.04 111.11)"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all topology entities for an entity type that is not in the domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/NRCellDU/entities"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown entity type",
-                "details": "Entity type NRCellDU is not part of the domain EQUIPMENT, known entity types: [AntennaModule, Site]"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all topology entities for wrong entity type name."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU1/entities"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown entity type",
-                "details": "Entity type NRCellDU1 is not part of the model, known entity types: [AntennaCapability, AntennaModule, CloudifiedNF, EntityTypeA, EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters, ManagedElement, NFDeployment, NRCellCU, NRCellDU, NRSectorCarrier, NearRTRICFunction, NodeCluster, OCUCPFunction, OCUUPFunction, OCloudNamespace, OCloudSite, ODUFunction, ORUFunction, Sector, Site]"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all topology entities with invalid scopeFilter (attribute not prefixed with @)"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/OCUCPFunction/entities?scopeFilter=/attributes[contains(gNBCUName,'Cucp-1')]"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Grammar error",
-                "details": "no viable alternative at input '[contains(gNBCUName' at line 1:21"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all topology entities of type OCUUPFunction with invalid offset (greater than total count)."
-        request {
-            method GET()
-            url "topology-inventory/v1alpha11/domains/RAN/entity-types/OCUUPFunction/entities?offset=10000"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 6"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/03_getTopologyById.groovy b/teiv/src/test/resources/contracts/data/03_getTopologyById.groovy
deleted file mode 100644 (file)
index 7d588ee..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get topology for ManagedElement entity with id 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9' in OAM domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/yang.data+json')
-            }
-            body('''{
-                "o-ran-smo-teiv-oam:ManagedElement": [
-                    {
-                        "decorators": {},
-                        "classifiers": [],
-                        "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9",
-                        "sourceIds": [
-                            "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9",
-                            "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                        ]
-                    }
-                ]
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology for ODUFunction entity with id 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9' with REL_EQUIPMENT_RAN (domain including other domains)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/yang.data+json')
-            }
-            body('''{
-                "o-ran-smo-teiv-ran:ODUFunction": [
-                    {
-                        "decorators": {
-                            "test-app-module:textdata": "ORAN"
-                        },
-                        "classifiers": [
-                            "test-app-module:Indoor",
-                            "test-app-module:Weekend"
-                        ],
-                        "attributes": {
-                            "gNBDUId": null,
-                            "gNBId": 9,
-                            "gNBIdLength": 1
-                        },
-                        "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                        "sourceIds": [
-                            "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                            "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                        ]
-                    }
-                ]
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get topology for ODUFunction entity with non existing id 'non-existing-id'."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/entity-types/ODUFunction/entities/non-existing-id"
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource is not found"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/04_getAllRelationshipsForEntityId.groovy b/teiv/src/test/resources/contracts/data/04_getAllRelationshipsForEntityId.groovy
deleted file mode 100644 (file)
index a2b4aa3..0000000
+++ /dev/null
@@ -1,693 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for entity type NRCellDU with ID urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-              "items": [
-                {
-                  "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER": [
-                    {
-                      "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=1",
-                      "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                      "id": "urn:o-ran:smo:teiv:sha512:NRCELLDU_USES_NRSECTORCARRIER=7B9425BBD6977FEA6C180F6078CFBAEBE65400223B29E0EFA4F38424FAD66C690806778909177ECF1457CAC18E5BCF6FA4F24E3ECE524C89DE68108708D6D876"
-                    }
-                  ]
-                },
-                {
-                  "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                    {
-                      "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                      "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                      "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C"
-                    }
-                  ]
-                },
-                {
-                  "o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU": [
-                    {
-                      "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                      "aSide": "Sector=2",
-                      "id": "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463"
-                    }
-                  ]
-                }
-              ],
-              "self": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100"
-              },
-              "first": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100"
-              },
-              "prev": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100"
-              },
-              "next": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100"
-              },
-              "last": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100"
-              },
-              "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER[0].aSide', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER[0].bSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].bSide', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for entity type NRCellDU  with ID urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1 & targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU"
-                },
-                "totalCount": 1
-}''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for entity type NRCellDU  with ID urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1 & targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "aSide": "Sector=2",
-                                "id": "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1/relationships?offset=0&limit=100&targetFilter=/ODUFUNCTION_PROVIDES_NRCELLDU;/SECTOR_GROUPS_NRCELLDU"
-                },
-                "totalCount": 2
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for entity type ODUFunction with ID urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1. & scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9/relationships?offset=0&limit=100&scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9/relationships?offset=0&limit=100&scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9/relationships?offset=0&limit=100&scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9/relationships?offset=0&limit=100&scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9/relationships?offset=0&limit=100&scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9/relationships?offset=0&limit=100&scopeFilter=/provided-nrCellDu[@id = 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "totalCount": 1
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for entity type NRCellDU with ID urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3 with limit as 2."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?limit=2"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=3",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3",
-                                "id": "urn:o-ran:smo:teiv:sha512:NRCELLDU_USES_NRSECTORCARRIER=950ED4540349F9859CEA9E47884A28CD567BDD2505A3C5335C8851A7AADF2AF65542157BB42D607EE3847E4223D76DE88B90762D0590E48693822FD6DCAE60CD"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=714C1B73945C298CAA03FE0D800053CDD1C571BBF375DC647B9F23FDA861CEB369832A3593BB1AA4B8A7245AD187ED24ADDF6FB147130827CDC17BA8370C4838"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?offset=0&limit=2"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?offset=0&limit=2"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?offset=0&limit=2"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?offset=2&limit=2"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?offset=2&limit=2"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER[0].aSide', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCELLDU_USES_NRSECTORCARRIER[0].bSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for long entity type name with id as LongEntityType1 (OneToOne, ManyToOne, ManyToMany and Same Entity with aSide of relationship)"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEA_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType1",
-                                "aSide": "EntityType1",
-                                "id": "RelId_OneToOne_EntityType1_LongEntityType1"
-                            }
-                        ]
-                    },
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType2",
-                                "aSide": "LongEntityType1",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                            }
-                        ]
-                    },
-                    {
-                        "test-built-in-module:ENTITYTYPEA_GROUPS_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType1",
-                                "aSide": "EntityType2",
-                                "id": "Rel_ManyToOne_EntityType2_LongEntityType1"
-                            }
-                        ]
-                    },
-                    {
-                        "test-built-in-module:ENTITYTYPEA_INSTALLED_AT_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType1",
-                                "aSide": "EntityType1",
-                                "id": "Rel_ManyToMany_EntityType1_LongEntityType1"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500"
-                },
-                "totalCount": 4
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for long entity type name with id as LongEntityType2  (OneToMany and Same Entity with bSide of relationship)"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-            "items": [
-                {
-                    "test-built-in-module:ENTITYTYPEA_PROVIDES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                        {
-                            "bSide": "LongEntityType2",
-                            "aSide": "EntityType2",
-                            "id": "Rel_OneToMany_EntityType2_LongEntityType2"
-                        }
-                    ]
-                },
-                {
-                    "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                        {
-                            "bSide": "LongEntityType2",
-                            "aSide": "LongEntityType1",
-                            "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                        }
-                    ]
-                },
-                {
-                    "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                        {
-                            "bSide": "LongEntityType3",
-                            "aSide": "LongEntityType2",
-                            "id": "Rel_OneToOne_SameEntity_LongEntityType2_LongEntityType3"
-                        }
-                    ]
-                }
-            ],
-            "self": {
-                "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500"
-            },
-            "first": {
-                "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500"
-            },
-            "prev": {
-                "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500"
-            },
-            "next": {
-                "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500"
-            },
-            "last": {
-                "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500"
-            },
-            "totalCount": 3
-        }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for long entity type name with id as LongEntityType1 and with scope filter on sourceIds"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?scopeFilter=/sourceIds[@item = 'urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616']&targetFilter=/sourceIds"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType2",
-                                "aSide": "LongEntityType1",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616']"
-                },
-                "first": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616']"
-                },
-                "prev": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616']"
-                },
-                "next": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616']"
-                },
-                "last": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType1/relationships?offset=0&limit=500&targetFilter=/sourceIds&scopeFilter=/sourceIds[@item = 'urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616']"
-                },
-                "totalCount": 1
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for long entity type name with id as LongEntityType3 and with scope filter on classifiers"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType3/relationships?scopeFilter=/classifiers[@item='test-app-module:Weekend']&targetFilter=/classifiers"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType3",
-                                "aSide": "LongEntityType2",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType2_LongEntityType3"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType3/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Weekend']"
-                },
-                "first": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType3/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Weekend']"
-                },
-                "prev": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType3/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Weekend']"
-                },
-                "next": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType3/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Weekend']"
-                },
-                "last": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType3/relationships?offset=0&limit=500&targetFilter=/classifiers&scopeFilter=/classifiers[@item='test-app-module:Weekend']"
-                },
-                "totalCount": 1
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for long entity type name with id as LongEntityType2 and with scope filter on decorators"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?&scopeFilter=/decorators[contains(@test-app-module:textdata, 'ORAN')]&targetFilter=/decorators"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType2",
-                                "aSide": "LongEntityType1",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                            }
-                        ]
-                    },
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType3",
-                                "aSide": "LongEntityType2",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType2_LongEntityType3"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'ORAN')]"
-                },
-                "first": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'ORAN')]"
-                },
-                "prev": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'ORAN')]"
-                },
-                "next": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'ORAN')]"
-                },
-                "last": {
-                    "href": "/domains/TEST/entity-types/EntityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters/entities/LongEntityType2/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'ORAN')]"
-                },
-                "totalCount": 2
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Return items as empty for a entity with no relationship"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-            "items": [],
-            "self": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91/relationships?offset=0&limit=500"
-            },
-            "first": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91/relationships?offset=0&limit=500"
-            },
-            "prev": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91/relationships?offset=0&limit=500"
-            },
-            "next": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91/relationships?offset=0&limit=500"
-            },
-            "last": {
-                "href": "/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91/relationships?offset=0&limit=500"
-            },
-            "totalCount": 0
-        }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for an entity id where there exists no relationships for the entity type in the given domain"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/OCUUPFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [],
-                "self": {
-                    "href": "/domains/RAN/entity-types/OCUUPFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/OCUUPFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/OCUUPFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/OCUUPFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/OCUUPFunction/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9/relationships?offset=0&limit=500"
-                },
-                "totalCount": 0
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all relationships for an entity id where there exists no relationships in the given domain"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9/relationships?offset=0&limit=100"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [],
-                "self": {
-                    "href": "/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9/relationships?offset=0&limit=100"
-                },
-                "first": {
-                    "href": "/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9/relationships?offset=0&limit=100"
-                },
-                "prev": {
-                    "href": "/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9/relationships?offset=0&limit=100"
-                },
-                "next": {
-                    "href": "/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9/relationships?offset=0&limit=100"
-                },
-                "last": {
-                    "href": "/domains/OAM/entity-types/ManagedElement/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9/relationships?offset=0&limit=100"
-                },
-                "totalCount": 0
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all relationships for NRCellDU entity with invalid offset (greater than total count)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3/relationships?offset=1000"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid Value",
-            "details": "Offset cannot be larger than 2"
-        }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 404: Get all relationships for non existing NRCellDU id."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities/non-existent/relationships"
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-            "status": "NOT_FOUND",
-            "message": "Resource Not Found",
-            "details": "The requested resource is not found"
-        }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/05_getRelationshipTypes.groovy b/teiv/src/test/resources/contracts/data/05_getRelationshipTypes.groovy
deleted file mode 100644 (file)
index 606efbb..0000000
+++ /dev/null
@@ -1,545 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology relationships types in REL_OAM_RAN domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_OCUCPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_OCUCPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_OCUUPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_OCUUPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_ODUFUNCTION",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_ORUFUNCTION",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRCELLDU_USES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRSECTORCARRIER_USES_ANTENNACAPABILITY",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFUNCTION_PROVIDES_NRCELLCU",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/OCUCPFUNCTION_PROVIDES_NRCELLCU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/ODUFUNCTION_PROVIDES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "SECTOR_GROUPS_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/REL_OAM_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types?offset=0&limit=500"
-                },
-                "totalCount": 11
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(11)
-                })
-                jsonPath('$.items[0].name', byEquality())
-                jsonPath('$.items[0].relationships.href', byEquality())
-                jsonPath('$.items[1].name', byEquality())
-                jsonPath('$.items[1].relationships.href', byEquality())
-                jsonPath('$.items[2].name', byEquality())
-                jsonPath('$.items[2].relationships.href', byEquality())
-                jsonPath('$.items[3].name', byEquality())
-                jsonPath('$.items[3].relationships.href', byEquality())
-                jsonPath('$.items[4].name', byEquality())
-                jsonPath('$.items[4].relationships.href', byEquality())
-                jsonPath('$.items[5].name', byEquality())
-                jsonPath('$.items[5].relationships.href', byEquality())
-                jsonPath('$.items[6].name', byEquality())
-                jsonPath('$.items[6].relationships.href', byEquality())
-                jsonPath('$.items[7].name', byEquality())
-                jsonPath('$.items[7].relationships.href', byEquality())
-                jsonPath('$.items[8].name', byEquality())
-                jsonPath('$.items[8].relationships.href', byEquality())
-                jsonPath('$.items[9].name', byEquality())
-                jsonPath('$.items[9].relationships.href', byEquality())
-                jsonPath('$.items[10].name', byEquality())
-                jsonPath('$.items[10].relationships.href', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology relationship types in REL_EQUIPMENT_RAN domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/relationship-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "ANTENNAMODULE_INSTALLED_AT_SITE",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_INSTALLED_AT_SITE/relationships"
-                        }
-                    },
-                    {
-                        "name": "ANTENNAMODULE_SERVES_ANTENNACAPABILITY",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships"
-                        }
-                    },
-                    {
-                        "name": "ANTENNAMODULE_SERVES_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_NRCELLDU/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRCELLDU_USES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRSECTORCARRIER_USES_ANTENNACAPABILITY",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFUNCTION_PROVIDES_NRCELLCU",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/OCUCPFUNCTION_PROVIDES_NRCELLCU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ODUFUNCTION_PROVIDES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "SECTOR_GROUPS_ANTENNAMODULE",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_ANTENNAMODULE/relationships"
-                        }
-                    },
-                    {
-                        "name": "SECTOR_GROUPS_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types?offset=0&limit=500"
-                },
-                "totalCount": 10
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology relationship types in RAN domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/relationship-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "NRCELLDU_USES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/RAN/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRSECTORCARRIER_USES_ANTENNACAPABILITY",
-                        "relationships": {
-                            "href": "/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFUNCTION_PROVIDES_NRCELLCU",
-                        "relationships": {
-                            "href": "/domains/RAN/relationship-types/OCUCPFUNCTION_PROVIDES_NRCELLCU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "SECTOR_GROUPS_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/relationship-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/RAN/relationship-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/RAN/relationship-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/RAN/relationship-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/RAN/relationship-types?offset=0&limit=500"
-                },
-                "totalCount": 6
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get all the available topology relationship types in TEIV."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEIV/relationship-types"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "name": "ANTENNAMODULE_INSTALLED_AT_SITE",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ANTENNAMODULE_INSTALLED_AT_SITE/relationships"
-                        }
-                    },
-                    {
-                        "name": "ANTENNAMODULE_SERVES_ANTENNACAPABILITY",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships"
-                        }
-                    },
-                    {
-                        "name": "ANTENNAMODULE_SERVES_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ANTENNAMODULE_SERVES_NRCELLDU/relationships"
-                        }
-                    },
-                    {
-                        "name": "CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT/relationships"
-                        }
-                    },
-                    {
-                        "name": "ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships"
-                        }
-                    },
-                    {
-                        "name": "ENTITYTYPEA_GROUPS_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ENTITYTYPEA_GROUPS_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships"
-                        }
-                    },
-                    {
-                        "name": "ENTITYTYPEA_INSTALLED_AT_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ENTITYTYPEA_INSTALLED_AT_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships"
-                        }
-                    },
-                    {
-                        "name": "ENTITYTYPEA_PROVIDES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ENTITYTYPEA_PROVIDES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships"
-                        }
-                    },
-                    {
-                        "name": "ENTITYTYPEA_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ENTITYTYPEA_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_OCUCPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_MANAGES_OCUCPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_OCUUPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_MANAGES_OCUUPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_ODUFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_ORUFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE/relationships"
-                        }
-                    },
-                    {
-                        "name": "NFDEPLOYMENT_SERVES_OCUCPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NFDEPLOYMENT_SERVES_OCUCPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "NFDEPLOYMENT_SERVES_OCUCPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NFDEPLOYMENT_SERVES_OCUCPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "NFDEPLOYMENT_SERVES_OCUUPFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NFDEPLOYMENT_SERVES_OCUUPFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "NFDEPLOYMENT_SERVES_ODUFUNCTION",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NFDEPLOYMENT_SERVES_ODUFUNCTION/relationships"
-                        }
-                    },
-                    {
-                        "name": "NODECLUSTER_LOCATED_AT_OCLOUDSITE",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NODECLUSTER_LOCATED_AT_OCLOUDSITE/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRCELLDU_USES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NRCELLDU_USES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "NRSECTORCARRIER_USES_ANTENNACAPABILITY",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships"
-                        }
-                    },
-                    {
-                        "name": "OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER/relationships"
-                        }
-                    },
-                    {
-                        "name": "OCUCPFUNCTION_PROVIDES_NRCELLCU",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/OCUCPFUNCTION_PROVIDES_NRCELLCU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships"
-                        }
-                    },
-                    {
-                        "name": "ODUFUNCTION_PROVIDES_NRSECTORCARRIER",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/ODUFUNCTION_PROVIDES_NRSECTORCARRIER/relationships"
-                        }
-                    },
-                    {
-                        "name": "SECTOR_GROUPS_ANTENNAMODULE",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/SECTOR_GROUPS_ANTENNAMODULE/relationships"
-                        }
-                    },
-                    {
-                        "name": "SECTOR_GROUPS_NRCELLDU",
-                        "relationships": {
-                            "href": "/domains/TEIV/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships"
-                        }
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEIV/relationship-types?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/TEIV/relationship-types?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/TEIV/relationship-types?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/TEIV/relationship-types?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/TEIV/relationship-types?offset=0&limit=500"
-                },
-                "totalCount": 30
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get all the available topology relationship types in invalid domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/INVALID/relationship-types"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown domain",
-                "details": "Unknown domain: INVALID, known domains: [CLOUD, EQUIPMENT, OAM, RAN, REL_CLOUD_RAN, REL_EQUIPMENT_RAN, REL_OAM_CLOUD, REL_OAM_RAN, TEIV, TEST]"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/06_getRelationshipsByType.groovy b/teiv/src/test/resources/contracts/data/06_getRelationshipsByType.groovy
deleted file mode 100644 (file)
index 88c6a0e..0000000
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type MANAGEDELEMENT_MANAGES_ODUFUNCTION(OneToMany)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=661A89AD3C2702233CD9E96E97E738C05C35EC5FDF32DC78D149B773726350067315B72448D004C938BCD0263F0C4BCCC8A5F9CDD145B9B740983D1523664328"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6BD25E5C8FB7842F69010736253CC47F43535D7238E9E9A03E8092E8C019C83270DE47C96EF1049C40B83A130F9F129AE93B9C8538B6B004AE89BD0A098E48DD"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=9243B48F7D6A6CF471226915C74CF5FE4BDA6FA3CF7D897473007B46DF7FC50230BD6B8B4256116A6AFBF4D822CF9379EB56DE9490C1C0B54238263F2574B426"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,ODUFunction=28",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=ADD4A82DFBAF0409FA9D3C929A09314088627B447C733429D4EE7AAE2FFAEE4894F90826B6814B63431EC07140783C7861E463C5AF8330E29469D704675EAB43"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "totalCount": 7
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(7)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-                jsonPath('$.items[5].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[5].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[5].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-                jsonPath('$.items[6].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[6].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].aSide', byEquality())
-                jsonPath('$.items[6].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].bSide', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type NRSECTORCARRIER_USES_ANTENNACAPABILITY(ManyToOne)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRSECTORCARRIER_USES_ANTENNACAPABILITY": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=1",
-                                "id": "urn:o-ran:smo:teiv:sha512:NRSECTORCARRIER_USES_ANTENNACAPABILITY=11EDFC31E2BE240D3CB15DB1A3FA3B78C828524BC8FCA3365A615129A61A627C21DA8EBF6DD788CDBDEC668344D1F79A371749083D6AE04DDDD57CB4FA8C3ECB"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRSECTORCARRIER_USES_ANTENNACAPABILITY": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=3",
-                                "id": "urn:o-ran:smo:teiv:sha512:NRSECTORCARRIER_USES_ANTENNACAPABILITY=1B891FCC4F5479BC71127ED2EB43EA26AC3452F8C47792786373442C10BBC408FE5B779BF1CF732C81220803342F4FB969E348F9C5CEEDEC78F9764E186C633F"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRSECTORCARRIER_USES_ANTENNACAPABILITY": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=2",
-                                "id": "urn:o-ran:smo:teiv:sha512:NRSECTORCARRIER_USES_ANTENNACAPABILITY=27DF07D016FE349EC565DE2FB09303EE7D8700346624046F79D8DAC176E7FA221E918E3030758B51931C430919E14FD7D16720460F6E1585000C72874A1641DA"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/RAN/relationship-types/NRSECTORCARRIER_USES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "totalCount": 3
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type ANTENNAMODULE_SERVES_ANTENNACAPABILITY(ManyToMany)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-equipment-ran:ANTENNAMODULE_SERVES_ANTENNACAPABILITY": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1",
-                                "aSide": "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7",
-                                "id": "urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_ANTENNACAPABILITY=8940999E2069725B463052BC35572FDB888C7B734459EE78A01B9F91E2607D87356425BC8EFF0B1C9057D852A4D3F9E1B09479D32FEE68C65EF2821B65F7BD80"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-equipment-ran:ANTENNAMODULE_SERVES_ANTENNACAPABILITY": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1",
-                                "aSide": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A",
-                                "id": "urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_ANTENNACAPABILITY=ABD52B030DF1169F9F41C898913EF30F7BB5741F53352F482310B280C90AC569B7D31D52A2BB41F1F0099AE1EDD56CACF0B285D145A5584D376DD45DED1E2D65"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/ANTENNAMODULE_SERVES_ANTENNACAPABILITY/relationships?offset=0&limit=500"
-                },
-                "totalCount": 2
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type MANAGEDELEMENT_MANAGES_ODUFUNCTION with offset=1 and limit=1."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=1&limit=1"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19",
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6BD25E5C8FB7842F69010736253CC47F43535D7238E9E9A03E8092E8C019C83270DE47C96EF1049C40B83A130F9F129AE93B9C8538B6B004AE89BD0A098E48DD"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=1&limit=1"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=1"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=1"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=2&limit=1"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=6&limit=1"
-                },
-                "totalCount": 7
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS where used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters id is 'Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2'."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType1']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType2",
-                                "aSide": "LongEntityType1",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType1']"
-                },
-                "first": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType1']"
-                },
-                "prev": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType1']"
-                },
-                "next": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType1']"
-                },
-                "last": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType1']"
-                },
-                "totalCount": 1
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS where used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters id is 'Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2'."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType2",
-                                "aSide": "LongEntityType1",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
-                },
-                "first": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
-                },
-                "prev": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
-                },
-                "next": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
-                },
-                "last": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
-                },
-                "totalCount": 1
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type SECTOR_GROUPS_NRCELLDU where grouped-nrCellDu id is 'urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1'."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/grouped-nrCellDu[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                  {
-                    "o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU": [
-                      {
-                        "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                        "aSide": "Sector=2",
-                        "id": "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463"
-                      }
-                    ]
-                  }
-                ],
-                "self": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/grouped-nrCellDu[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "first": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/grouped-nrCellDu[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "prev": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/grouped-nrCellDu[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "next": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/grouped-nrCellDu[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "last": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/grouped-nrCellDu[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1']"
-                },
-                "totalCount": 1
-                }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].bSide', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type SECTOR_GROUPS_NRCELLDU where relation id is 'urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463'."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/SECTOR_GROUPS_NRCELLDU[@id='urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                  {
-                    "o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU": [
-                      {
-                        "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                        "aSide": "Sector=2",
-                        "id": "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463"
-                      }
-                    ]
-                  }
-                ],
-                "self": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/SECTOR_GROUPS_NRCELLDU[@id='urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463']"
-                },
-                "first": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/SECTOR_GROUPS_NRCELLDU[@id='urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463']"
-                },
-                "prev": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/SECTOR_GROUPS_NRCELLDU[@id='urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463']"
-                },
-                "next": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/SECTOR_GROUPS_NRCELLDU[@id='urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463']"
-                },
-                "last": {
-                  "href": "/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships?offset=0&limit=100&scopeFilter=/SECTOR_GROUPS_NRCELLDU[@id='urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463']"
-                },
-                "totalCount": 1
-                }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:SECTOR_GROUPS_NRCELLDU[0].bSide', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology relationships for same entity long relationship name of type ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType2",
-                                "aSide": "LongEntityType1",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
-                            }
-                        ]
-                    },
-                    {
-                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
-                            {
-                                "bSide": "LongEntityType3",
-                                "aSide": "LongEntityType2",
-                                "id": "Rel_OneToOne_SameEntity_LongEntityType2_LongEntityType3"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=500"
-                },
-                "totalCount": 2
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get empty items array when no relationship exists of given type."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ORUFUNCTION": []
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ORUFUNCTION/relationships?offset=0&limit=500"
-                },
-                "totalCount": 0
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get relationship by type checking total count"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                           {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                           {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=714C1B73945C298CAA03FE0D800053CDD1C571BBF375DC647B9F23FDA861CEB369832A3593BB1AA4B8A7245AD187ED24ADDF6FB147130827CDC17BA8370C4838"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                           {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=93",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=7723E5D5B3332E0890EAA620C77A6A47065E15A2EA28AD83F3B3CFEA5A7E3BB5965AE78890F1BF000EAA89BF8DE209E506192BF5EA6871426603ED76CBFAF088"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                           {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=78ECC09D4832328976EF0F9C19699EE05D98E3837368D386AE39AD027543494AC620086BD2A7403DACFAA7B474B3DEBD313E0906F1EDE7FA2B584E16542A706A"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                           {
-                                "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=92",
-                                "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19",
-                                "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=DDECCEFB8831FA4EB21B121BA35EAB07ED8D841B5A38580C5F3AD11E66FE73D2FC42E823C6C73288860C7562B610C3D07B6C39FD386171A3BE622096F4B3D006"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships?offset=0&limit=500"
-                },
-                "first": {
-                    "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships?offset=0&limit=500"
-                },
-                "prev": {
-                    "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships?offset=0&limit=500"
-                },
-                "next": {
-                    "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships?offset=0&limit=500"
-                },
-                "last": {
-                    "href": "/domains/RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships?offset=0&limit=500"
-                },
-                "totalCount": 5
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(5)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].id', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].aSide', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU[0].bSide', byEquality())
-                jsonPath('$.totalCount', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get topology relationships of type MANAGEDELEMENT_MANAGES_ODUFUNCTION with invalid offset (greater than total count)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=1000"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 6"
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get topology relationships of type SECTOR_GROUPS_NRCELLDU with wrong domain."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/OAM/relationship-types/SECTOR_GROUPS_NRCELLDU/relationships"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Unknown relationship type",
-                "details": "Relationship type SECTOR_GROUPS_NRCELLDU is not part of the domain OAM, known relationship types: []"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/07_getRelationshipById.groovy b/teiv/src/test/resources/contracts/data/07_getRelationshipById.groovy
deleted file mode 100644 (file)
index b7a2862..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get relationship with specified id"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_EQUIPMENT_RAN/relationship-types/SECTOR_GROUPS_ANTENNAMODULE/relationships/urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/yang.data+json')
-            }
-            body('''{
-                "o-ran-smo-teiv-rel-equipment-ran:SECTOR_GROUPS_ANTENNAMODULE": [
-                    {
-                        "bSide": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A",
-                        "aSide": "Sector=2",
-                        "id": "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512",
-                        "sourceIds": []
-                    }
-                ]
-            }''')
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get relationship with specified id"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/ODUFUNCTION_PROVIDES_NRCELLDU/relationships/urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/yang.data+json')
-            }
-            body('''{
-                "o-ran-smo-teiv-ran:ODUFUNCTION_PROVIDES_NRCELLDU": [
-                    {
-                        "bSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                        "aSide": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9",
-                        "id": "urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C",
-                        "sourceIds": []
-                    }
-                ]
-            }''')
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get relationship with non existing id 'non-existing-id'"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships/non-existing-id"
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource is not found"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/data/08_getEntitiesByDomain.groovy b/teiv/src/test/resources/contracts/data/08_getEntitiesByDomain.groovy
deleted file mode 100644 (file)
index dfe49ef..0000000
+++ /dev/null
@@ -1,800 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.data
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with targetFilter=/ODUFunction/attributes(gNBDUId)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/attributes(gNBDUId)"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": null
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": null
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": null
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": 16
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": null
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": null
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,ODUFunction=28"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBDUId": null
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/attributes(gNBDUId)"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/attributes(gNBDUId)"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/attributes(gNBDUId)"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/attributes(gNBDUId)"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/attributes(gNBDUId)"
-                },
-                "totalCount": 7
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(7)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byNull())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byNull())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byNull())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byRegex(anInteger()).asInteger())
-                jsonPath('$.items[4].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byNull())
-                jsonPath('$.items[5].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[5].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byNull())
-                jsonPath('$.items[6].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[6].o-ran-smo-teiv-ran:ODUFunction[0].attributes.gNBDUId', byNull())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in TEIV domain with targetFilter=/AntennaModule;/OCUUPFunction."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/TEIV/entities?offset=0&limit=100&targetFilter=/AntennaModule;/OCUUPFunction"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=72AC3D5E2A5F1C47BD09258A9F7B48E0123E9AD752AC54F7E8D8F9D3A6BC487A89A762A5D12CB9D148BB9E5D53A4F3F981345ACDF7B4CB55D67BC12A13FD5B7A"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=84A3E5D7C916F4B2390DC45F178BE6A9235FD80CB41972E3456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-equipment:AntennaModule": [
-                            {
-                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=B7F52C914E8D36A0185BC9D47EF230A95C681D7B4F923E0A5D8C741F6B9203E85A4D967B312C8F405E9B7831A6D2C5904F8B3E167A9D204C5B8371F9E6A02D45"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUUPFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,OCUUPFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,OCUUPFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUUPFunction=16"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,OCUUPFunction=19"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,OCUUPFunction=28"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/TEIV/entities?offset=0&limit=100&targetFilter=/AntennaModule;/OCUUPFunction"
-                },
-                "first": {
-                    "href": "/domains/TEIV/entities?offset=0&limit=100&targetFilter=/AntennaModule;/OCUUPFunction"
-                },
-                "prev": {
-                    "href": "/domains/TEIV/entities?offset=0&limit=100&targetFilter=/AntennaModule;/OCUUPFunction"
-                },
-                "next": {
-                    "href": "/domains/TEIV/entities?offset=0&limit=100&targetFilter=/AntennaModule;/OCUUPFunction"
-                },
-                "last": {
-                    "href": "/domains/TEIV/entities?offset=0&limit=100&targetFilter=/AntennaModule;/OCUUPFunction"
-                },
-                "totalCount": 12
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(12)
-                })
-                jsonPath('$.items[5].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[6].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[7].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[8].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[9].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[10].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[11].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[3].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-                jsonPath('$.items[4].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')] or /NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')] and targetFilter=/NRCellDU/sourceIds."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]|/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')]&targetFilter=/NRCellDU/sourceIds"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "sourceIds": [
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                    "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                                    ]
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU":[
-                            {
-                                "id":"urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2",
-                                "sourceIds":[
-                                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2",
-                                    "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"
-                                ]
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/sourceIds&scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]|/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/sourceIds&scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]|/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/sourceIds&scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]|/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/sourceIds&scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]|/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/sourceIds&scopeFilter=/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]|/NRCellDU/sourceIds[contains(@item,'ManagedElement=9,ODUFunction=9,NRCellDU=2')]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].sourceIds[1]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].sourceIds[0]', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].sourceIds[1]', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with scopeFilter=/NRCellDU/attributes[@cellLocalId=1] and targetFilter=/NRCellDU/attributes(nCI)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]&targetFilter=/NRCellDU/attributes(nCI)"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1",
-                                "attributes": {
-                                    "nCI": 1
-                                }
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/attributes(nCI)&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/attributes(nCI)&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/attributes(nCI)&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/attributes(nCI)&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU/attributes(nCI)&scopeFilter=/NRCellDU/attributes[@cellLocalId=1]"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].attributes.nCI', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get topology for an entity with given ID (exact ID match) without knowing entity type."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?scopeFilter=/id[text()='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/id[text()='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/id[text()='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/id[text()='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/id[text()='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/id[text()='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2']"
-                },
-                "totalCount": 1
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(1)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get empty items array when no entity exists of given filter criteria."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&scopeFilter=/NRCellDU/attributes[@cellLocalId=8989439]&targetFilter=/NRCellDU"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU&scopeFilter=/NRCellDU/attributes[@cellLocalId=8989439]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU&scopeFilter=/NRCellDU/attributes[@cellLocalId=8989439]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU&scopeFilter=/NRCellDU/attributes[@cellLocalId=8989439]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU&scopeFilter=/NRCellDU/attributes[@cellLocalId=8989439]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/NRCellDU&scopeFilter=/NRCellDU/attributes[@cellLocalId=8989439]"
-                },
-                "totalCount": 0
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(0)
-                })
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10'] and targetFilter=/attributes."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']&targetFilter=/attributes"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                            "items": [
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "attributes": {
-                                    "gNBId": 10,
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "83"
-                                    },
-                                    "gNBIdLength": 2,
-                                    "gNBCUName": "ocucp-10"
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "attributes": {
-                                    "gNBId": 10,
-                                    "gNBIdLength": 2
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUUPFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBId": 10,
-                                    "gNBDUId": null,
-                                    "gNBIdLength": 2
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with scopeFilter=/managed-by-managedElement; /attributes[@gNBId=10] and targetFilter=/attributes."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']&targetFilter=/attributes"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                            "items": [
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "attributes": {
-                                    "gNBId": 10,
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "83"
-                                    },
-                                    "gNBIdLength": 2,
-                                    "gNBCUName": "ocucp-10"
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUUPFunction": [
-                            {
-                                "attributes": {
-                                    "gNBId": 10,
-                                    "gNBIdLength": 2
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUUPFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "attributes": {
-                                    "gNBId": 10,
-                                    "gNBDUId": null,
-                                    "gNBIdLength": 2
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes&scopeFilter=/managed-by-managedElement[@id='urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10']"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUUPFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1] and targetFilter=/attributes(gNBId, pLMNId); /NRCellDU."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1]&targetFilter=/attributes(gNBId, pLMNId); /NRCellDU"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                                        "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "attributes": {
-                                    "pLMNId": {
-                                        "mcc": "456",
-                                        "mnc": "82"
-                                    },
-                                    "gNBId": 9
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUCPFunction=9"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes(gNBId, pLMNId); /NRCellDU&scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes(gNBId, pLMNId); /NRCellDU&scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes(gNBId, pLMNId); /NRCellDU&scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes(gNBId, pLMNId); /NRCellDU&scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&targetFilter=/attributes(gNBId, pLMNId); /NRCellDU&scopeFilter=/attributes[@gNBIdLength=1]; /NRCellDU/attributes[@nCI=1]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get entities in RAN domain with scopeFilter on 2 different entity types and combining the condition on complex attributes"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?scopeFilter=/NRCellDU/attributes[@nCI=1];/OCUCPFunction/attributes/pLMNId[@mcc='456' or @mnc='83']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:NRCellDU": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:OCUCPFunction": [
-                            {
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUCPFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/NRCellDU/attributes[@nCI=1];/OCUCPFunction/attributes/pLMNId[@mcc='456' or @mnc='83']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/NRCellDU/attributes[@nCI=1];/OCUCPFunction/attributes/pLMNId[@mcc='456' or @mnc='83']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/NRCellDU/attributes[@nCI=1];/OCUCPFunction/attributes/pLMNId[@mcc='456' or @mnc='83']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/NRCellDU/attributes[@nCI=1];/OCUCPFunction/attributes/pLMNId[@mcc='456' or @mnc='83']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/NRCellDU/attributes[@nCI=1];/OCUCPFunction/attributes/pLMNId[@mcc='456' or @mnc='83']"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:OCUCPFunction[0].id', byEquality())
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "ERROR - 400: Get entities in RAN domain with invalid offset (greater than total count)."
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?&targetFilter=/NRCellDU;&offset=1000"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid Value",
-                "details": "Offset cannot be larger than 5"
-            }''')
-        }
-    },
-    Contract.make {
-        description "Error - 400: Get entities with wrong syntax items instead of item with scopeFilter=/NRCellDU/sourceIds[contains(@items,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&scopeFilter=/NRCellDU/sourceIds[contains(@items,'ManagedElement=9,ODUFunction=9,NRCellDU=1')]"
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "status": "BAD_REQUEST",
-                "message": "Invalid parameter error",
-                "details": "Invalid source id parameter provided for NRCellDU"
-            }''')
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/decorators/00_getDecorators_getTopologyByEntityTypeName.groovy b/teiv/src/test/resources/contracts/decorators/00_getDecorators_getTopologyByEntityTypeName.groovy
deleted file mode 100644 (file)
index df9c264..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.decorators
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getTopologyByEntityTypeName - EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 456
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getTopologyByEntityTypeName - CONTAINS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 456
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getTopologyByEntityTypeName - CONTAINS and EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entity-types/ODUFunction/entities?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/decorators/01_getDecorators_getRelationshipsByType.groovy b/teiv/src/test/resources/contracts/decorators/01_getDecorators_getRelationshipsByType.groovy
deleted file mode 100644 (file)
index c819480..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.decorators
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getRelationshipsByType - EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 456
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']&targetFilter=/decorators"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']&targetFilter=/decorators"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']&targetFilter=/decorators"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']&targetFilter=/decorators"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[@test-app-module:textdata = 'Stockholm']&targetFilter=/decorators"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getRelationshipsByType - CONTAINS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 456
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]&targetFilter=/decorators"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]&targetFilter=/decorators"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]&targetFilter=/decorators"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]&targetFilter=/decorators"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')]&targetFilter=/decorators"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getRelationshipsByType - CONTAINS and EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&targetFilter=/decorators&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]&targetFilter=/decorators"
-                },
-                "first": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]&targetFilter=/decorators"
-                },
-                "prev": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]&targetFilter=/decorators"
-                },
-                "next": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]&targetFilter=/decorators"
-                },
-                "last": {
-                    "href": "/domains/REL_OAM_RAN/relationship-types/MANAGEDELEMENT_MANAGES_ODUFUNCTION/relationships?offset=0&limit=500&scopeFilter=/decorators[contains(@test-app-module:textdata, 'Stock')] ; /decorators[@test-app-module:intdata = 123]&targetFilter=/decorators"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-rel-oam-ran:MANAGEDELEMENT_MANAGES_ODUFUNCTION[0].id', byEquality())
-            }
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/decorators/02_getDecorators_getEntitiesByDomain.groovy b/teiv/src/test/resources/contracts/decorators/02_getDecorators_getEntitiesByDomain.groovy
deleted file mode 100644 (file)
index f4d96c2..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.decorators
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getEntitiesByDomain - EQUALS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Budapest",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123]"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getEntitiesByDomain - CONTAINS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 456
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "totalCount": 3
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(3)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[2].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 200: Get decorators using getEntitiesByDomain - EQUALS and CONTAINS"
-        request {
-            method GET()
-            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123];/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-        }
-        response {
-            status OK()
-            headers {
-                contentType('application/json')
-            }
-            body('''{
-                "items": [
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                            }
-                        ]
-                    },
-                    {
-                        "o-ran-smo-teiv-ran:ODUFunction": [
-                            {
-                                "decorators": {
-                                    "test-app-module:textdata": "Stockholm",
-                                    "test-app-module:intdata": 123
-                                },
-                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16"
-                            }
-                        ]
-                    }
-                ],
-                "self": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123];/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "first": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123];/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "prev": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123];/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "next": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123];/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "last": {
-                    "href": "/domains/RAN/entities?offset=0&limit=100&targetFilter=/ODUFunction/decorators&scopeFilter=/ODUFunction/decorators[@test-app-module:intdata=123];/ODUFunction/decorators[contains(@test-app-module:textdata,'Stock')]"
-                },
-                "totalCount": 2
-            }''')
-            bodyMatchers {
-                jsonPath('$.items', byType {
-                    occurrence(2)
-                })
-                jsonPath('$.items[0].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-                jsonPath('$.items[1].o-ran-smo-teiv-ran:ODUFunction[0].id', byEquality())
-            }
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/decorators/03_postDecoratorsMerge.groovy b/teiv/src/test/resources/contracts/decorators/03_postDecoratorsMerge.groovy
deleted file mode 100644 (file)
index bc53de9..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.decorators
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "NOT FOUND - 404: Merge decorators with wrong entity ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "WRONG_ENTITY_ID",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Merge decorators with wrong relationship ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512",
-                    "WRONG_RELATIONSHIP_ID"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Merge decorators with wrong entity and relationship ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "WRONG_ENTITY_ID",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "relationshipIds": [
-                    "WRONG_RELATIONSHIP_ID"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: [WRONG_RELATIONSHIP_ID]"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Merge invalid decorators."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:te": "Budapest",
-                    "test-app-module:intdata": "123"
-                },
-                "entityIds": [
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Invalid decorators",
-                "details": "The provided decorators are invalid {test-app-module:intdata=is_not_compatible, test-app-module:te=is_not_available}"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Merge valid decorators, no topology object given."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Merge valid decorators to entities (add)."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Merge valid decorators to relationships (add)."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512",
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=CEEC51BE136D671D2101C09FEDD8A1D95E1E177A4818E9FC0D6E63E610BC8FE26FC9C729A1E58AD43D70472F4CD54403E25CB1E5D2BBA66966625C21435C4A78"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Merge valid decorators to entities and relationships (add)."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Budapest",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Merge valid decorators to entities and relationships (update)."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Athlone",
-                    "test-app-module:intdata": 456
-                },
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=661A89AD3C2702233CD9E96E97E738C05C35EC5FDF32DC78D149B773726350067315B72448D004C938BCD0263F0C4BCCC8A5F9CDD145B9B740983D1523664328"
-                ],
-                "operation": "merge"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    }
-]
diff --git a/teiv/src/test/resources/contracts/decorators/04_postDecoratorsDelete.groovy b/teiv/src/test/resources/contracts/decorators/04_postDecoratorsDelete.groovy
deleted file mode 100644 (file)
index b222e1d..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- *  ============LICENSE_START=======================================================
- *  Copyright (C) 2024 Ericsson
- *  Modifications Copyright (C) 2024 OpenInfra Foundation Europe
- *  ================================================================================
- *  Licensed under the Apache License, Version 2.0 (the "License");
- *  you may not use this file except in compliance with the License.
- *  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- *
- *  SPDX-License-Identifier: Apache-2.0
- *  ============LICENSE_END=========================================================
- */
-package contracts.decorators
-
-import org.springframework.cloud.contract.spec.Contract
-
-[
-    Contract.make {
-        description "NOT FOUND - 404: Delete decorators with wrong entity ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 1
-                },
-                "entityIds": [
-                    "WRONG_ENTITY_ID",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: []"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Delete decorators with wrong relationship ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 2
-                },
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512",
-                    "WRONG_RELATIONSHIP_ID"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [] Relationships: [WRONG_RELATIONSHIP_ID]"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "NOT FOUND - 404: Delete decorators with wrong entity and relationship ids."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 3
-                },
-                "entityIds": [
-                    "WRONG_ENTITY_ID",
-                    "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
-                ],
-                "relationshipIds": [
-                    "WRONG_RELATIONSHIP_ID"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NOT_FOUND()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-                "status": "NOT_FOUND",
-                "message": "Resource Not Found",
-                "details": "The requested resource with the following ids cannot be found. Entities: [WRONG_ENTITY_ID] Relationships: [WRONG_RELATIONSHIP_ID]"
-            }''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "BAD REQUEST - 400: Delete decorators from non-existing schema."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module-wrong:textdata": "Stockholm",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status BAD_REQUEST()
-            headers {
-                contentType('application/problem+json')
-            }
-            body('''{
-            "status": "BAD_REQUEST",
-            "message": "Invalid schema name",
-            "details": "Invalid schema name: test-app-module-wrong"}''')
-            bodyMatchers {
-                jsonPath('$.status', byEquality())
-                jsonPath('$.message', byEquality())
-                jsonPath('$.details', byEquality())
-            }
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete invalid decorators, no topology object given."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 123
-                },
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid decorators, no topology object given."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 123
-                },
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid decorators on entities."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid decorators on relationships."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 123
-                },
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA",
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    },
-    Contract.make {
-        description "SUCCESS - 204: Delete valid decorators on entities and relationships."
-        request {
-            method POST()
-            url "/topology-inventory/v1alpha11/decorators"
-            headers {
-                contentType("application/json")
-                accept('application/problem+json')
-            }
-            body('''{
-                "decorators": {
-                    "test-app-module:textdata": "Stockholm",
-                    "test-app-module:intdata": 123
-                },
-                "entityIds": [
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13",
-                    "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14"
-                ],
-                "relationshipIds": [
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA",
-                    "urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7"
-                ],
-                "operation": "delete"
-            }''')
-        }
-        response {
-            status NO_CONTENT()
-        }
-    }
-]
index ccb367d..cd88e97 100644 (file)
@@ -2004,5 +2004,492 @@ import org.springframework.cloud.contract.spec.Contract
                 })
             }
         }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type AntennaCapability inside the specified Polygon of AntennaModule'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "totalCount": 1
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(1)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description "SUCCESS - 200: Get entities of type AntennaCapability by AntennaModule id"
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/AntennaCapability/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "totalCount": 1
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(1)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type NRCellDU 500 meters radius of AntennaModule'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "totalCount": 1
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(1)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    //44
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type NRCellDU where AntennaModule antennaModelNumber is 5'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@antennaModelNumber='5']"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@antennaModelNumber='5']"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@antennaModelNumber='5']"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@antennaModelNumber='5']"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@antennaModelNumber='5']"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@antennaModelNumber='5']"
+                },
+                "totalCount": 2
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(2)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description "SUCCESS - 200: Get entities of type NRCellDU by Sector id"
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type AntennaModule inside the specified Polygon of Sector'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-equipment:AntennaModule": [
+                            {
+                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-equipment:AntennaModule": [
+                            {
+                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=84A3E5D7C916F4B2390DC45F178BE6A9235FD80CB41972E3456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-equipment:AntennaModule": [
+                            {
+                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "first": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "prev": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "next": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "last": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type AntennaModule inside the specified Polygon of Sector'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-equipment:AntennaModule": [
+                            {
+                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-equipment:AntennaModule": [
+                            {
+                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=84A3E5D7C916F4B2390DC45F178BE6A9235FD80CB41972E3456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-equipment:AntennaModule": [
+                            {
+                                "id": "urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "first": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "prev": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "next": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "last": {
+                    "href": "/domains/EQUIPMENT/entity-types/AntennaModule/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-equipment:AntennaModule[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type NRCellDU where Sector sectorId is 2'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                     {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/NRCellDU/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of type Sector where NRCellDU cellLocalId is 3'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entity-types/Sector/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                     {
+                        "o-ran-smo-teiv-ran:Sector": [
+                            {
+                                "id": "Sector=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entity-types/Sector/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entity-types/Sector/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entity-types/Sector/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entity-types/Sector/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entity-types/Sector/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "totalCount": 1
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(1)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:Sector[0].id', byEquality())
+            }
+        }
     }
 ]
index 7d588ee..c8fa3f4 100644 (file)
@@ -99,7 +99,7 @@ import org.springframework.cloud.contract.spec.Contract
             body('''{
                 "status": "NOT_FOUND",
                 "message": "Resource Not Found",
-                "details": "The requested resource is not found"
+                "details": "The requested resource is not found. ID: non-existing-id"
             }''')
         }
     }
index eeb0947..c3edc3a 100644 (file)
@@ -686,7 +686,7 @@ import org.springframework.cloud.contract.spec.Contract
             body('''{
             "status": "NOT_FOUND",
             "message": "Resource Not Found",
-            "details": "The requested resource is not found"
+            "details": "The requested resource is not found. ID: non-existent"
         }''')
         }
     },
index 7cfc7ba..7ff727a 100644 (file)
@@ -341,7 +341,7 @@ import org.springframework.cloud.contract.spec.Contract
         }
     },
     Contract.make {
-        description "SUCCESS - 200: Get topology relationships of type ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS where used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters id is 'Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2'."
+        description "SUCCESS - 200: Get topology relationships of type ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS where used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters id is 'LongEntityType2'."
         request {
             method GET()
             url "/topology-inventory/v1alpha11/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
@@ -361,6 +361,15 @@ import org.springframework.cloud.contract.spec.Contract
                                 "id": "Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2"
                             }
                         ]
+                    },
+                    {
+                        "test-built-in-module:ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS": [
+                            {
+                                "bSide": "LongEntityType3",
+                                "aSide": "LongEntityType2",
+                                "id": "Rel_OneToOne_SameEntity_LongEntityType2_LongEntityType3"
+                            }
+                        ]
                     }
                 ],
                 "self": {
@@ -378,7 +387,7 @@ import org.springframework.cloud.contract.spec.Contract
                 "last": {
                     "href": "/domains/TEST/relationship-types/ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS_USES_ENTITYTYPEAWITHENTITYTYPENAMELENGTHLONGERTHANSIXTYTHREECHARACTERS/relationships?offset=0&limit=100&scopeFilter=/used-by-entityTypeAWithEntityTypeNameLengthLongerThanSixtyThreeCharacters[@id='LongEntityType2']"
                 },
-                "totalCount": 1
+                "totalCount": 2
             }''')
         }
     },
index b7a2862..4ae3fee 100644 (file)
@@ -83,7 +83,7 @@ import org.springframework.cloud.contract.spec.Contract
             body('''{
                 "status": "NOT_FOUND",
                 "message": "Resource Not Found",
-                "details": "The requested resource is not found"
+                "details": "The requested resource is not found. ID: non-existing-id"
             }''')
         }
     }
index aeae051..4ceab54 100644 (file)
@@ -1030,5 +1030,525 @@ import org.springframework.cloud.contract.spec.Contract
                 })
             }
         }
+    },
+    Contract.make {
+        description "SUCCESS - 200: Get entities of domain RAN by AntennaModule id"
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule[@id='urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7']"
+                },
+                "totalCount": 2
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(2)
+                })
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN inside the specified Polygon of AntennaModule'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[coveredBy(@geo-location, 'POLYGON((48 68, 50 68, 50 69, 48 69, 48 68))')]"
+                },
+                "totalCount": 2
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(2)
+                })
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN within 500 meters radius of AntennaModule'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[withinMeters(@geo-location, 'POINT(49.40199 68.94199)', 500)]"
+                },
+                "totalCount": 2
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(2)
+                })
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN where AntennaModule electricalAntennaTilt is 11'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@electricalAntennaTilt=11]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:AntennaCapability": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@electricalAntennaTilt=11]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@electricalAntennaTilt=11]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@electricalAntennaTilt=11]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@electricalAntennaTilt=11]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/serving-antennaModule/attributes[@electricalAntennaTilt=11]"
+                },
+                "totalCount": 4
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(4)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
+                jsonPath('$.items[3].o-ran-smo-teiv-ran:AntennaCapability[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description "SUCCESS - 200: Get entities of domain RAN by Sector id"
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector[@id='Sector=2']"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN inside the specified Polygon of Sector'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[coveredBy(@geo-location, 'POLYGON((60 18, 61 18, 61 20, 60 20, 60 18))')]"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN within 500 meters radius of Sector'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[withinMeters(@geo-location, 'POINT(60.4019881 18.9419888)', 500)]"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN where Sector sectorId is 2'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                     {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2"
+                            }
+                        ]
+                    },
+                    {
+                        "o-ran-smo-teiv-ran:NRCellDU": [
+                            {
+                                "id": "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-by-sector/attributes[@sectorId=2]"
+                },
+                "totalCount": 3
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(3)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[1].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+                jsonPath('$.items[2].o-ran-smo-teiv-ran:NRCellDU[0].id', byEquality())
+            }
+        }
+    },
+    Contract.make {
+        description 'SUCCESS - 200: Get entities of domain RAN where NRCellDU cellLocalId is 3'
+        request {
+            method GET()
+            url "/topology-inventory/v1alpha11/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+        }
+        response {
+            status OK()
+            headers {
+                contentType('application/json')
+            }
+            body('''{
+                "items": [
+                     {
+                        "o-ran-smo-teiv-ran:Sector": [
+                            {
+                                "id": "Sector=2"
+                            }
+                        ]
+                    }
+                ],
+                "self": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "first": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "prev": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "next": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "last": {
+                    "href": "/domains/RAN/entities?offset=0&limit=500&scopeFilter=/grouped-nrCellDu/attributes[@cellLocalId=3]"
+                },
+                "totalCount": 1
+            }''')
+            bodyMatchers {
+                jsonPath('$.items', byType {
+                    occurrence(1)
+                })
+                jsonPath('$.items[0].o-ran-smo-teiv-ran:Sector[0].id', byEquality())
+            }
+        }
     }
 ]
index 28483e6..23c5ae2 100644 (file)
@@ -555,7 +555,7 @@ import org.springframework.cloud.contract.spec.Contract
             body ('''{
                 "status": "NOT_FOUND",
                 "message": "Resource Not Found",
-                "details": "The requested resource is not found"
+                "details": "The requested resource is not found. ID: urn:3gpp:dn:non-existing-odufunction"
             }''')
         }
     },
diff --git a/teiv/src/test/resources/pgsqlschema/00_init-oran-smo-teiv-data-v1.sql b/teiv/src/test/resources/pgsqlschema/00_init-oran-smo-teiv-data-v1.sql
deleted file mode 100644 (file)
index 29c3971..0000000
+++ /dev/null
@@ -1,1484 +0,0 @@
---
--- ============LICENSE_START=======================================================
--- Copyright (C) 2024 Ericsson
--- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
--- ================================================================================
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
---       http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- SPDX-License-Identifier: Apache-2.0
--- ============LICENSE_END=========================================================
---
-
-BEGIN;
-
-CREATE EXTENSION IF NOT EXISTS postgis;
-CREATE EXTENSION IF NOT EXISTS postgis_topology;
-CREATE EXTENSION IF NOT EXISTS pg_trgm;
-
-GRANT USAGE ON SCHEMA topology to :pguser;
-GRANT SELECT ON ALL SEQUENCES IN SCHEMA topology TO :pguser;
-GRANT SELECT ON ALL TABLES IN SCHEMA topology TO :pguser;
-
-CREATE SCHEMA IF NOT EXISTS ties_data;
-ALTER SCHEMA ties_data OWNER TO :pguser;
-SET default_tablespace = '';
-SET default_table_access_method = heap;
-
-SET ROLE :pguser;
-
--- Function to create CONSTRAINT only if it does not exists
-CREATE OR REPLACE FUNCTION ties_data.create_constraint_if_not_exists (
-       t_name TEXT, c_name TEXT, constraint_sql TEXT
-)
-RETURNS void AS
-$$
-BEGIN
-       IF NOT EXISTS (SELECT constraint_name FROM information_schema.table_constraints WHERE table_schema = 'ties_data' AND table_name = t_name AND constraint_name = c_name) THEN
-               EXECUTE constraint_sql;
-       END IF;
-END;
-$$ language 'plpgsql';
-
-CREATE OR REPLACE FUNCTION ties_data.create_enum_type(
-    schema_name TEXT, type_name TEXT, enum_values TEXT[]
-) RETURNS VOID AS $$
-BEGIN
-    IF NOT EXISTS (SELECT 1 FROM pg_type t JOIN pg_namespace n ON n.oid = t.typnamespace WHERE t.typname = type_name AND n.nspname = schema_name) THEN
-        EXECUTE format('CREATE TYPE %I.%I AS ENUM (%s)',schema_name, type_name, array_to_string(ARRAY(SELECT quote_literal(value) FROM unnest(enum_values) AS value), ', '));
-    END IF;
-END;
-$$ language 'plpgsql';
-
-SELECT ties_data.create_enum_type('ties_data', 'Reliability', ARRAY['OK', 'RESTORED', 'ADVISED']);
-
-CREATE TABLE IF NOT EXISTS ties_data."responsible_adapter" (
-       "id"                    TEXT,
-       "hashed_id"                     BYTEA
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'responsible_adapter',
- 'PK_responsible_adapter_id',
- 'ALTER TABLE ties_data."responsible_adapter" ADD CONSTRAINT "PK_responsible_adapter_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'responsible_adapter',
- 'UNIQUE_responsible_adapter_hashed_id',
- 'ALTER TABLE ties_data."responsible_adapter" ADD CONSTRAINT "UNIQUE_responsible_adapter_hashed_id" UNIQUE ("hashed_id");'
-);CREATE TABLE IF NOT EXISTS ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" (
-       "id"                    TEXT,
-       "aSide_NFDeployment"                    TEXT,
-       "bSide_NearRTRICFunction"                       TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" (
-       "id"                    TEXT,
-       "aSide_AntennaModule"                   TEXT,
-       "bSide_AntennaCapability"                       TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (
-       "id"                    TEXT,
-       "name"                  TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" (
-       "id"                    TEXT,
-       "aSide_NFDeployment"                    TEXT,
-       "bSide_OCloudNamespace"                 TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_NFDeployment" (
-       "id"                    TEXT,
-       "name"                  TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_comprised-by-cloudifiedNF"                      TEXT,
-       "REL_ID_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"                    TEXT,
-       "REL_CD_sourceIds_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"                  jsonb,
-       "REL_CD_classifiers_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"                        jsonb,
-       "REL_CD_decorators_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"                 jsonb,
-       "REL_metadata_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"                      jsonb,
-       "REL_FK_serviced-managedElement"                        TEXT,
-       "REL_ID_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"                     TEXT,
-       "REL_CD_sourceIds_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"                   jsonb,
-       "REL_CD_classifiers_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"                 jsonb,
-       "REL_CD_decorators_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"                  jsonb,
-       "REL_metadata_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"                       jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "REL_CD_sourceIds_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "REL_CD_classifiers_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "REL_CD_decorators_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "REL_CD_sourceIds_NFDEPLOYMENT_SERVES_MANAGEDELEMENT" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "REL_CD_classifiers_NFDEPLOYMENT_SERVES_MANAGEDELEMENT" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NFDeployment" ALTER COLUMN "REL_CD_decorators_NFDEPLOYMENT_SERVES_MANAGEDELEMENT" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" (
-       "id"                    TEXT,
-       "aSide_NodeCluster"                     TEXT,
-       "bSide_OCloudSite"                      TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_NodeCluster" (
-       "id"                    TEXT,
-       "name"                  TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NodeCluster" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NodeCluster" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_NodeCluster" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" (
-       "id"                    TEXT,
-       "name"                  TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_deployed-on-nodeCluster"                        TEXT,
-       "REL_ID_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"                        TEXT,
-       "REL_CD_sourceIds_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"                      jsonb,
-       "REL_CD_classifiers_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"                    jsonb,
-       "REL_CD_decorators_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"                     jsonb,
-       "REL_metadata_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"                  jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ALTER COLUMN "REL_CD_sourceIds_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ALTER COLUMN "REL_CD_classifiers_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ALTER COLUMN "REL_CD_decorators_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-cloud_OCloudSite" (
-       "id"                    TEXT,
-       "geo-location"                  geography,
-       "name"                  TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudSite" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudSite" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-cloud_OCloudSite" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-equipment_AntennaModule" (
-       "id"                    TEXT,
-       "antennaBeamWidth"                      jsonb,
-       "antennaModelNumber"                    TEXT,
-       "azimuth"                       DECIMAL,
-       "electricalAntennaTilt"                 INTEGER,
-       "geo-location"                  geography,
-       "horizontalBeamWidth"                   DECIMAL,
-       "mechanicalAntennaBearing"                      INTEGER,
-       "mechanicalAntennaTilt"                 INTEGER,
-       "positionWithinSector"                  TEXT,
-       "totalTilt"                     INTEGER,
-       "verticalBeamWidth"                     DECIMAL,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_installed-at-site"                      TEXT,
-       "REL_ID_ANTENNAMODULE_INSTALLED_AT_SITE"                        TEXT,
-       "REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE"                      jsonb,
-       "REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE"                    jsonb,
-       "REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE"                     jsonb,
-       "REL_metadata_ANTENNAMODULE_INSTALLED_AT_SITE"                  jsonb,
-       "REL_FK_grouped-by-sector"                      TEXT,
-       "REL_ID_SECTOR_GROUPS_ANTENNAMODULE"                    TEXT,
-       "REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE"                  jsonb,
-       "REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE"                        jsonb,
-       "REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE"                 jsonb,
-       "REL_metadata_SECTOR_GROUPS_ANTENNAMODULE"                      jsonb,
-       "REL_FK_grouped-by-sector"                      TEXT,
-       "REL_ID_SECTOR_GROUPS_ANTENNAMODULE"                    TEXT,
-       "REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE"                  jsonb,
-       "REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE"                        jsonb,
-       "REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE"                 jsonb,
-       "REL_metadata_SECTOR_GROUPS_ANTENNAMODULE"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ALTER COLUMN "REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-equipment_Site" (
-       "id"                    TEXT,
-       "geo-location"                  geography,
-       "name"                  TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_Site" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_Site" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-equipment_Site" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-oam_ManagedElement" (
-       "id"                    TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_deployed-as-cloudifiedNF"                       TEXT,
-       "REL_ID_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"                        TEXT,
-       "REL_CD_sourceIds_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"                      jsonb,
-       "REL_CD_classifiers_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"                    jsonb,
-       "REL_CD_decorators_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"                     jsonb,
-       "REL_metadata_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"                  jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-oam_ManagedElement" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-oam_ManagedElement" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-oam_ManagedElement" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-oam_ManagedElement" ALTER COLUMN "REL_CD_sourceIds_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-oam_ManagedElement" ALTER COLUMN "REL_CD_classifiers_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-oam_ManagedElement" ALTER COLUMN "REL_CD_decorators_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_AntennaCapability" (
-       "id"                    TEXT,
-       "eUtranFqBands"                 jsonb,
-       "geranFqBands"                  jsonb,
-       "nRFqBands"                     jsonb,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_AntennaCapability" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_AntennaCapability" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_AntennaCapability" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_NRCellCU" (
-       "id"                    TEXT,
-       "cellLocalId"                   INTEGER,
-       "nCI"                   BIGINT,
-       "nRTAC"                 INTEGER,
-       "plmnId"                        jsonb,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_provided-by-ocucpFunction"                      TEXT,
-       "REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU"                        TEXT,
-       "REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU"                      jsonb,
-       "REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU"                    jsonb,
-       "REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU"                     jsonb,
-       "REL_metadata_OCUCPFUNCTION_PROVIDES_NRCELLCU"                  jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellCU" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellCU" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellCU" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellCU" ALTER COLUMN "REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellCU" ALTER COLUMN "REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellCU" ALTER COLUMN "REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_NRCellDU" (
-       "id"                    TEXT,
-       "cellLocalId"                   INTEGER,
-       "nCI"                   BIGINT,
-       "nRPCI"                 INTEGER,
-       "nRTAC"                 INTEGER,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_provided-by-oduFunction"                        TEXT,
-       "REL_ID_ODUFUNCTION_PROVIDES_NRCELLDU"                  TEXT,
-       "REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU"                        jsonb,
-       "REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU"                      jsonb,
-       "REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU"                       jsonb,
-       "REL_metadata_ODUFUNCTION_PROVIDES_NRCELLDU"                    jsonb,
-       "REL_FK_grouped-by-sector"                      TEXT,
-       "REL_ID_SECTOR_GROUPS_NRCELLDU"                 TEXT,
-       "REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU"                       jsonb,
-       "REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU"                     jsonb,
-       "REL_CD_decorators_SECTOR_GROUPS_NRCELLDU"                      jsonb,
-       "REL_metadata_SECTOR_GROUPS_NRCELLDU"                   jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRCellDU" ALTER COLUMN "REL_CD_decorators_SECTOR_GROUPS_NRCELLDU" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" (
-       "id"                    TEXT,
-       "arfcnDL"                       INTEGER,
-       "arfcnUL"                       INTEGER,
-       "bSChannelBwDL"                 INTEGER,
-       "frequencyDL"                   INTEGER,
-       "frequencyUL"                   INTEGER,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_used-by-nrCellDu"                       TEXT,
-       "REL_ID_NRCELLDU_USES_NRSECTORCARRIER"                  TEXT,
-       "REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER"                        jsonb,
-       "REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER"                      jsonb,
-       "REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER"                       jsonb,
-       "REL_metadata_NRCELLDU_USES_NRSECTORCARRIER"                    jsonb,
-       "REL_FK_used-antennaCapability"                 TEXT,
-       "REL_ID_NRSECTORCARRIER_USES_ANTENNACAPABILITY"                 TEXT,
-       "REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY"                       jsonb,
-       "REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY"                     jsonb,
-       "REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY"                      jsonb,
-       "REL_metadata_NRSECTORCARRIER_USES_ANTENNACAPABILITY"                   jsonb,
-       "REL_FK_provided-by-oduFunction"                        TEXT,
-       "REL_ID_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"                   TEXT,
-       "REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"                 jsonb,
-       "REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"                       jsonb,
-       "REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"                        jsonb,
-       "REL_metadata_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"                     jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ALTER COLUMN "REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" (
-       "id"                    TEXT,
-       "nearRtRicId"                   BIGINT,
-       "pLMNId"                        jsonb,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_managed-by-managedElement"                      TEXT,
-       "REL_ID_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"                       TEXT,
-       "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"                     jsonb,
-       "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"                   jsonb,
-       "REL_CD_decorators_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"                    jsonb,
-       "REL_metadata_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"                 jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ALTER COLUMN "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ALTER COLUMN "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ALTER COLUMN "REL_CD_decorators_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (
-       "id"                    TEXT,
-       "gNBCUName"                     TEXT,
-       "gNBId"                 BIGINT,
-       "gNBIdLength"                   INTEGER,
-       "pLMNId"                        jsonb,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_managed-by-managedElement"                      TEXT,
-       "REL_ID_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"                   TEXT,
-       "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"                 jsonb,
-       "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"                       jsonb,
-       "REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"                        jsonb,
-       "REL_metadata_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"                     jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ALTER COLUMN "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ALTER COLUMN "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ALTER COLUMN "REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_OCUUPFunction" (
-       "id"                    TEXT,
-       "gNBId"                 BIGINT,
-       "gNBIdLength"                   INTEGER,
-       "pLMNIdList"                    jsonb,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_managed-by-managedElement"                      TEXT,
-       "REL_ID_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"                   TEXT,
-       "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"                 jsonb,
-       "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"                       jsonb,
-       "REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"                        jsonb,
-       "REL_metadata_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"                     jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ALTER COLUMN "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ALTER COLUMN "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ALTER COLUMN "REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_ODUFunction" (
-       "id"                    TEXT,
-       "gNBDUId"                       BIGINT,
-       "gNBId"                 BIGINT,
-       "gNBIdLength"                   INTEGER,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_managed-by-managedElement"                      TEXT,
-       "REL_ID_MANAGEDELEMENT_MANAGES_ODUFUNCTION"                     TEXT,
-       "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION"                   jsonb,
-       "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION"                 jsonb,
-       "REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION"                  jsonb,
-       "REL_metadata_MANAGEDELEMENT_MANAGES_ODUFUNCTION"                       jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ODUFunction" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ODUFunction" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ODUFunction" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ODUFunction" ALTER COLUMN "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ODUFunction" ALTER COLUMN "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ODUFunction" ALTER COLUMN "REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_ORUFunction" (
-       "id"                    TEXT,
-       "oruId"                 BIGINT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb,
-       "REL_FK_managed-by-managedElement"                      TEXT,
-       "REL_ID_MANAGEDELEMENT_MANAGES_ORUFUNCTION"                     TEXT,
-       "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ORUFUNCTION"                   jsonb,
-       "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ORUFUNCTION"                 jsonb,
-       "REL_CD_decorators_MANAGEDELEMENT_MANAGES_ORUFUNCTION"                  jsonb,
-       "REL_metadata_MANAGEDELEMENT_MANAGES_ORUFUNCTION"                       jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ORUFunction" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ORUFunction" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ORUFunction" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ORUFunction" ALTER COLUMN "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ORUFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ORUFunction" ALTER COLUMN "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ORUFUNCTION" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_ORUFunction" ALTER COLUMN "REL_CD_decorators_MANAGEDELEMENT_MANAGES_ORUFUNCTION" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-ran_Sector" (
-       "id"                    TEXT,
-       "azimuth"                       DECIMAL,
-       "geo-location"                  geography,
-       "sectorId"                      BIGINT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_Sector" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_Sector" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-ran_Sector" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" (
-       "id"                    TEXT,
-       "aSide_NFDeployment"                    TEXT,
-       "bSide_OCUCPFunction"                   TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" (
-       "id"                    TEXT,
-       "aSide_NFDeployment"                    TEXT,
-       "bSide_OCUUPFunction"                   TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" (
-       "id"                    TEXT,
-       "aSide_NFDeployment"                    TEXT,
-       "bSide_ODUFunction"                     TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "metadata"                      jsonb
-);
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
- 'PK_82A1C5618438FF6DF7CDD48FD71E0A584E6D052A',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "PK_82A1C5618438FF6DF7CDD48FD71E0A584E6D052A" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'CFC235E0404703D1E4454647DF8AAE2C193DB402',
- 'PK_63E61CB6802F21FE7A04A80A095F6AF8ABF067CE',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "PK_63E61CB6802F21FE7A04A80A095F6AF8ABF067CE" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_CloudifiedNF',
- 'PK_o-ran-smo-teiv-cloud_CloudifiedNF_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ADD CONSTRAINT "PK_o-ran-smo-teiv-cloud_CloudifiedNF_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
- 'PK_E4FDDE2DC433209F933C7F53C9F72C1D2EB04BC6',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "PK_E4FDDE2DC433209F933C7F53C9F72C1D2EB04BC6" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDeployment',
- 'PK_o-ran-smo-teiv-cloud_NFDeployment_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "PK_o-ran-smo-teiv-cloud_NFDeployment_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
- 'PK_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "PK_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NodeCluster',
- 'PK_o-ran-smo-teiv-cloud_NodeCluster_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NodeCluster" ADD CONSTRAINT "PK_o-ran-smo-teiv-cloud_NodeCluster_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_OCloudNamespace',
- 'PK_o-ran-smo-teiv-cloud_OCloudNamespace_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "PK_o-ran-smo-teiv-cloud_OCloudNamespace_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_OCloudSite',
- 'PK_o-ran-smo-teiv-cloud_OCloudSite_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudSite" ADD CONSTRAINT "PK_o-ran-smo-teiv-cloud_OCloudSite_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'PK_o-ran-smo-teiv-equipment_AntennaModule_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "PK_o-ran-smo-teiv-equipment_AntennaModule_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_Site',
- 'PK_o-ran-smo-teiv-equipment_Site_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_Site" ADD CONSTRAINT "PK_o-ran-smo-teiv-equipment_Site_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-oam_ManagedElement',
- 'PK_o-ran-smo-teiv-oam_ManagedElement_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "PK_o-ran-smo-teiv-oam_ManagedElement_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_AntennaCapability',
- 'PK_o-ran-smo-teiv-ran_AntennaCapability_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_AntennaCapability" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_AntennaCapability_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellCU',
- 'PK_o-ran-smo-teiv-ran_NRCellCU_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_NRCellCU_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellDU',
- 'PK_o-ran-smo-teiv-ran_NRCellDU_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_NRCellDU_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'PK_o-ran-smo-teiv-ran_NRSectorCarrier_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_NRSectorCarrier_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NearRTRICFunction',
- 'PK_o-ran-smo-teiv-ran_NearRTRICFunction_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_NearRTRICFunction_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_OCUCPFunction',
- 'PK_o-ran-smo-teiv-ran_OCUCPFunction_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_OCUCPFunction_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_OCUUPFunction',
- 'PK_o-ran-smo-teiv-ran_OCUUPFunction_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_OCUUPFunction_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_ODUFunction',
- 'PK_o-ran-smo-teiv-ran_ODUFunction_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_ODUFunction_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_ORUFunction',
- 'PK_o-ran-smo-teiv-ran_ORUFunction_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_ORUFunction_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_Sector',
- 'PK_o-ran-smo-teiv-ran_Sector_id',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_Sector" ADD CONSTRAINT "PK_o-ran-smo-teiv-ran_Sector_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
- 'PK_2D854968CB74C42C534D8E7C2A53E93F6B7F001F',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "PK_2D854968CB74C42C534D8E7C2A53E93F6B7F001F" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
- 'PK_E551D02D14B3C04A565DC73A386BEB29627D3C08',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "PK_E551D02D14B3C04A565DC73A386BEB29627D3C08" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
- 'PK_A10CB552A0F126991DD325EC84DBFAC6F2BBE1A3',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "PK_A10CB552A0F126991DD325EC84DBFAC6F2BBE1A3" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
- 'FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
- 'FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5" FOREIGN KEY ("bSide_NearRTRICFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'CFC235E0404703D1E4454647DF8AAE2C193DB402',
- 'FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'CFC235E0404703D1E4454647DF8AAE2C193DB402',
- 'FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06" FOREIGN KEY ("bSide_AntennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
- 'FK_A08D274894ECB6799E56C2089A494AF0345B9B16',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_A08D274894ECB6799E56C2089A494AF0345B9B16" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
- 'FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F" FOREIGN KEY ("bSide_OCloudNamespace") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDeployment',
- 'FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0" FOREIGN KEY ("REL_FK_comprised-by-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDeployment',
- 'UNIQUE_A5A8418B6BE911F281E6E2AA640D7D9F777471DC',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "UNIQUE_A5A8418B6BE911F281E6E2AA640D7D9F777471DC" UNIQUE ("REL_ID_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDeployment',
- 'FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9" FOREIGN KEY ("REL_FK_serviced-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NFDeployment',
- 'UNIQUE_8AD46969905BEEB89F63D3F37FD82B14F34FDCBC',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "UNIQUE_8AD46969905BEEB89F63D3F37FD82B14F34FDCBC" UNIQUE ("REL_ID_NFDEPLOYMENT_SERVES_MANAGEDELEMENT");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
- 'FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92" FOREIGN KEY ("aSide_NodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
- 'FK_888BF6FF782916E61B3FE80643A549A1CFDB6117',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_888BF6FF782916E61B3FE80643A549A1CFDB6117" FOREIGN KEY ("bSide_OCloudSite") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudSite" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_OCloudNamespace',
- 'FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF" FOREIGN KEY ("REL_FK_deployed-on-nodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-cloud_OCloudNamespace',
- 'UNIQUE_C4DE73BD7AA3DBFA2D32E577D4E0A534A7184AB0',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "UNIQUE_C4DE73BD7AA3DBFA2D32E577D4E0A534A7184AB0" UNIQUE ("REL_ID_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC" FOREIGN KEY ("REL_FK_installed-at-site") REFERENCES ties_data."o-ran-smo-teiv-equipment_Site" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'UNIQUE_9DF414C2F0CD7FA8BFCB3E9BF851784AC4BC49B1',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "UNIQUE_9DF414C2F0CD7FA8BFCB3E9BF851784AC4BC49B1" UNIQUE ("REL_ID_ANTENNAMODULE_INSTALLED_AT_SITE");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'FK_078764B2F3D613D44CC6E3586F564C83164D2481',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_078764B2F3D613D44CC6E3586F564C83164D2481" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'UNIQUE_78B1D3DCD903AFFB1965D440D87B2D194CA028A0',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "UNIQUE_78B1D3DCD903AFFB1965D440D87B2D194CA028A0" UNIQUE ("REL_ID_SECTOR_GROUPS_ANTENNAMODULE");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'FK_078764B2F3D613D44CC6E3586F564C83164D2481',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_078764B2F3D613D44CC6E3586F564C83164D2481" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-equipment_AntennaModule',
- 'UNIQUE_78B1D3DCD903AFFB1965D440D87B2D194CA028A0',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "UNIQUE_78B1D3DCD903AFFB1965D440D87B2D194CA028A0" UNIQUE ("REL_ID_SECTOR_GROUPS_ANTENNAMODULE");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-oam_ManagedElement',
- 'FK_899B8130A861D1450FC49D3159D8B29C0628A717',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "FK_899B8130A861D1450FC49D3159D8B29C0628A717" FOREIGN KEY ("REL_FK_deployed-as-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-oam_ManagedElement',
- 'UNIQUE_EC9B35192A31C6491E6566602720D1C26E3CB708',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "UNIQUE_EC9B35192A31C6491E6566602720D1C26E3CB708" UNIQUE ("REL_ID_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellCU',
- 'FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction" FOREIGN KEY ("REL_FK_provided-by-ocucpFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellCU',
- 'UNIQUE_928074AEE57C9CB151F93FDC81BC59200D5F7497',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "UNIQUE_928074AEE57C9CB151F93FDC81BC59200D5F7497" UNIQUE ("REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellDU',
- 'FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellDU',
- 'UNIQUE_B70F668E0E45FFFC5B7014489F6FD528EB15F192',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "UNIQUE_B70F668E0E45FFFC5B7014489F6FD528EB15F192" UNIQUE ("REL_ID_ODUFUNCTION_PROVIDES_NRCELLDU");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellDU',
- 'FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRCellDU',
- 'UNIQUE_AC1C114ABED77D6DEC3F3AE3F9EBE8231924AEF4',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "UNIQUE_AC1C114ABED77D6DEC3F3AE3F9EBE8231924AEF4" UNIQUE ("REL_ID_SECTOR_GROUPS_NRCELLDU");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu" FOREIGN KEY ("REL_FK_used-by-nrCellDu") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'UNIQUE_1AB577E5AC207ED4C99A9A96BA1C9C35544AFD25',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "UNIQUE_1AB577E5AC207ED4C99A9A96BA1C9C35544AFD25" UNIQUE ("REL_ID_NRCELLDU_USES_NRSECTORCARRIER");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'FK_65D538D54EB33081C808540235FEB28823428E64',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_65D538D54EB33081C808540235FEB28823428E64" FOREIGN KEY ("REL_FK_used-antennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'UNIQUE_A799EC9DA6624651081E1DA21B5F0C2D38F6A192',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "UNIQUE_A799EC9DA6624651081E1DA21B5F0C2D38F6A192" UNIQUE ("REL_ID_NRSECTORCARRIER_USES_ANTENNACAPABILITY");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NRSectorCarrier',
- 'UNIQUE_D5D35955594A6EB48640425529F7DE44BED00B62',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "UNIQUE_D5D35955594A6EB48640425529F7DE44BED00B62" UNIQUE ("REL_ID_ODUFUNCTION_PROVIDES_NRSECTORCARRIER");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NearRTRICFunction',
- 'FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_NearRTRICFunction',
- 'UNIQUE_E020461673334EB824643649B6B31670FB064EC8',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "UNIQUE_E020461673334EB824643649B6B31670FB064EC8" UNIQUE ("REL_ID_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_OCUCPFunction',
- 'FK_122DD9709032528D161177B3624AD7AAF6589005',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "FK_122DD9709032528D161177B3624AD7AAF6589005" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_OCUCPFunction',
- 'UNIQUE_2B7D3D49C1072E660047DE56843413CE628BF94A',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "UNIQUE_2B7D3D49C1072E660047DE56843413CE628BF94A" UNIQUE ("REL_ID_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_OCUUPFunction',
- 'FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_OCUUPFunction',
- 'UNIQUE_DF85FE7809B5527CB4A6028DD1A599DBBD5AF214',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "UNIQUE_DF85FE7809B5527CB4A6028DD1A599DBBD5AF214" UNIQUE ("REL_ID_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_ODUFunction',
- 'FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_ODUFunction',
- 'UNIQUE_D570291C9E28A2AF73387B7A8B0F4C70130EEDB4',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "UNIQUE_D570291C9E28A2AF73387B7A8B0F4C70130EEDB4" UNIQUE ("REL_ID_MANAGEDELEMENT_MANAGES_ODUFUNCTION");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_ORUFunction',
- 'FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-ran_ORUFunction',
- 'UNIQUE_4E6F008B82605A806EED04B2315A1FEE095A9241',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "UNIQUE_4E6F008B82605A806EED04B2315A1FEE095A9241" UNIQUE ("REL_ID_MANAGEDELEMENT_MANAGES_ORUFUNCTION");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
- 'FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
- 'FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6" FOREIGN KEY ("bSide_OCUCPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
- 'FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
- 'FK_8585D545BC37A473A298E0F5F5942F897A7105B1',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_8585D545BC37A473A298E0F5F5942F897A7105B1" FOREIGN KEY ("bSide_OCUUPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUUPFunction" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
- 'FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
- 'FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08" FOREIGN KEY ("bSide_ODUFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
-);
-
-CREATE INDEX IF NOT EXISTS "IDX_996D2C34C2458A6EFE8599C1A0E6942D3D288B7A" ON ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_F52FEEDBAF1B04D2D22EBAE051BB5125DF6A6968" ON ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_D333FA5882890B7CD3599712FFFB2641B9E04C80" ON ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_E896A9EB22A3F9F96CE75A271475316A98B629C8" ON ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_DD0D676834B12CA2F7E8219310998376A08D7F5F" ON ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_7BF09D0227840279556AD27ACECB068705893D28" ON ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_9EDB5C47201FC82A4565BFED9EF369D6C6529B19" ON ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_BD96130868B69147B2F87B0D15F5829690DEF454" ON ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-cloud_CloudifiedNF_CD_decorators" ON ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_F97E398B17532BCD9923CE0CF98E73227D890037" ON ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_1BCFD9635C4FA089EDC2E18FFEF56DBF3C5E7A52" ON ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_4055A796F223DD01411AFFB5AD97EEEAB6B2320C" ON ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_6433B9B7D69E51E828BDCFCAF59729EDCD10DA60" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_BED5B5FAA75FEE133E27581EAA611B89D20F24E1" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-cloud_NFDeployment_CD_decorators" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_072EB0C094138AB2D90F9CFBDA765B3B464EE86F" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN (("REL_CD_sourceIds_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_31F185F0F700C0AE11C5A9B8D28DBF6E37538635" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN (("REL_CD_classifiers_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_46CDB369134F042EC021F7496DF721B49A9D43C0" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN ("REL_CD_decorators_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT");
-
-CREATE INDEX IF NOT EXISTS "IDX_4DD95BAED8503502101FEB9ECA25DDA8F371816C" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN (("REL_CD_sourceIds_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_1EE98ACCAE5537752BD51A3D5F6429585CC543F6" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN (("REL_CD_classifiers_NFDEPLOYMENT_SERVES_MANAGEDELEMENT"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_39A292C3C42B34C2AD7C2A0FD087739C253B06FC" ON ties_data."o-ran-smo-teiv-cloud_NFDeployment" USING GIN ("REL_CD_decorators_NFDEPLOYMENT_SERVES_MANAGEDELEMENT");
-
-CREATE INDEX IF NOT EXISTS "IDX_1D7F9BD4B5BBF73CC3D06D949731DC169DDED26D" ON ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_29702D5C8D0B9B20BFB534FA233B9D9FADC2E3A1" ON ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_98A32BE3A8C1FF8CDEC95561DE4A74852FE70322" ON ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_DC1829E4241BA7C9B3E5281AC0DF00A766F9452E" ON ties_data."o-ran-smo-teiv-cloud_NodeCluster" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_CB29E8DDA990051B2A3DF193D8E4912F25D5FA0D" ON ties_data."o-ran-smo-teiv-cloud_NodeCluster" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-cloud_NodeCluster_CD_decorators" ON ties_data."o-ran-smo-teiv-cloud_NodeCluster" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_1B8DF6B061E229E5B6AC796911E6C8C23ECAD585" ON ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_57EB74DEF745DE4BA9AAD8E735BACB71F2E8C417" ON ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-cloud_OCloudNamespace_CD_decorators" ON ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_A7A50200F582AB86EF483F9BA74F999F17B7F653" ON ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" USING GIN (("REL_CD_sourceIds_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_6EE081E80342904B676496DA42DFAEC3EDA2CE27" ON ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" USING GIN (("REL_CD_classifiers_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_9AB8994DE0826F790D70614D4C52DD270AEF946B" ON ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" USING GIN ("REL_CD_decorators_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER");
-
-CREATE INDEX IF NOT EXISTS "IDX_30C83E5F8447D28D8E2A73048DF751C886AF318B" ON ties_data."o-ran-smo-teiv-cloud_OCloudSite" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_281A2DE604D25D6CFECB9B26D1FF70429FDB0FD0" ON ties_data."o-ran-smo-teiv-cloud_OCloudSite" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-cloud_OCloudSite_CD_decorators" ON ties_data."o-ran-smo-teiv-cloud_OCloudSite" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_21B0F1FE632B6CB185C49BA6F00224068F443215" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("antennaBeamWidth"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_905011128A2C218B5352C19ED1FE9851F43EB911" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_1C0CAFD80FDD6444044E3F76C7C0A7BDC35F9BC8" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-equipment_AntennaModule_CD_decorators" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_F497DEC01DA066CB09DA2AA7EDE3F4410078491B" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_17E417F7EF56809674BE1D5F5154DCCE01E00A96" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_2321BFA482AD2700F41E2BA359F6EB00F47601B9" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN ("REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE");
-
-CREATE INDEX IF NOT EXISTS "IDX_5ABDB19E55A6BDEF33855F14CB1B3B8CF457912C" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_83B6347C0C0A005D5E3D856D973D3322DFEDEA35" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_6C6FBD69F47F41970595A8775DC99CA0F5E894A1" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN ("REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE");
-
-CREATE INDEX IF NOT EXISTS "IDX_5ABDB19E55A6BDEF33855F14CB1B3B8CF457912C" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_83B6347C0C0A005D5E3D856D973D3322DFEDEA35" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN (("REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_6C6FBD69F47F41970595A8775DC99CA0F5E894A1" ON ties_data."o-ran-smo-teiv-equipment_AntennaModule" USING GIN ("REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE");
-
-CREATE INDEX IF NOT EXISTS "IDX_102A50584376DE25B6BBD7157594C607A5C957F2" ON ties_data."o-ran-smo-teiv-equipment_Site" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_EEBF1BC3344E97988232825777AB13FAB6C4F3F0" ON ties_data."o-ran-smo-teiv-equipment_Site" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-equipment_Site_CD_decorators" ON ties_data."o-ran-smo-teiv-equipment_Site" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_DDD73D6F4004BF3A96AA118281EE3E565A922B47" ON ties_data."o-ran-smo-teiv-oam_ManagedElement" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_98AC4232BC02323E03416954215889CEE874A1E9" ON ties_data."o-ran-smo-teiv-oam_ManagedElement" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-oam_ManagedElement_CD_decorators" ON ties_data."o-ran-smo-teiv-oam_ManagedElement" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_8065626F3F48D4E5A4285654739D3B26499E4C4E" ON ties_data."o-ran-smo-teiv-oam_ManagedElement" USING GIN (("REL_CD_sourceIds_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_634619CF7333EBC0AFDE990900B79220FC626EBA" ON ties_data."o-ran-smo-teiv-oam_ManagedElement" USING GIN (("REL_CD_classifiers_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_F15A070FC83B2E49223B4232E0BEB8931C2B7A4C" ON ties_data."o-ran-smo-teiv-oam_ManagedElement" USING GIN ("REL_CD_decorators_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF");
-
-CREATE INDEX IF NOT EXISTS "IDX_5FB80647AE3E5C0443A792618D65B9090EE2A3FC" ON ties_data."o-ran-smo-teiv-ran_AntennaCapability" USING GIN (("eUtranFqBands"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_A94722FF7B95D8974B494793908B57B4E1A9743B" ON ties_data."o-ran-smo-teiv-ran_AntennaCapability" USING GIN (("geranFqBands"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_441B5C05448D63552C6414BD59C13641D8A4408D" ON ties_data."o-ran-smo-teiv-ran_AntennaCapability" USING GIN (("nRFqBands"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_CC3E208A4EE51D3B505416A599F36F3C99F466C8" ON ties_data."o-ran-smo-teiv-ran_AntennaCapability" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_E7FFE8F4A166AA9A382A0659762FFEC313A9EB5C" ON ties_data."o-ran-smo-teiv-ran_AntennaCapability" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_AntennaCapability_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_AntennaCapability" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_plmnId" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN ("plmnId");
-
-CREATE INDEX IF NOT EXISTS "IDX_0C443A16285D233F16966C2F0314CDC9D0F6D0B8" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_E5930226819982DC0CFC1FA64FB3600647222435" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_6891C1BB8EE214340A362906C08955E8ACC1C597" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN (("REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_D366F952FD4A52645C45A19CBFD02B8897FC1F18" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN (("REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_5D761303176D3B9338784DFBEE0CEC51046ADC30" ON ties_data."o-ran-smo-teiv-ran_NRCellCU" USING GIN ("REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU");
-
-CREATE INDEX IF NOT EXISTS "IDX_FFD60DD99D80C276F402E66546F5DACB2D81EE26" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_C437D39632DC79BAB6AC4F0880826A05425F9C32" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_NRCellDU_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_B48D188E92ACBE9A2CAF8CD730A5DDFD7E086705" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN (("REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_A950BF337D5D820E5B39AC3F1B1AC09C062F30C9" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN (("REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_F494CB3BA4C726D4C45D53B1EF62E1E26811CCEF" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN ("REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU");
-
-CREATE INDEX IF NOT EXISTS "IDX_6325926B4D2FDD1FBBB34250DABEA5E7229FF9F5" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN (("REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_7CB4A7724F68D1CB2D12E8DE779BA9103F7DBE0A" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN (("REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_0A03C47C13AD3B5C84D3D8081493D670E9CBDCD1" ON ties_data."o-ran-smo-teiv-ran_NRCellDU" USING GIN ("REL_CD_decorators_SECTOR_GROUPS_NRCELLDU");
-
-CREATE INDEX IF NOT EXISTS "IDX_8E34EC0B1DE7DDCE3B32ADD85B11E15F95C5644E" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_050A80BEEF775E4D3CE216F282F23DB99DA2D798" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_NRSectorCarrier_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_7BFD17A71AB1B7765FE6431DA4E66C2EDE88AC3B" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_ED50A5139F1449DBAD8DA10D45F5A5BF819EACBA" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_2ADB5C6DCAEE8811FB1CA8FD9EB53381F35FCB70" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN ("REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER");
-
-CREATE INDEX IF NOT EXISTS "IDX_1F27C515A028616FAC422A02ABBEC402D5DBB2E5" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_B975D24291849007D4AA6686C5D3983885D5C884" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_902B73F741160B9D4FBF62406D3D9ABBECAD8BE7" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN ("REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY");
-
-CREATE INDEX IF NOT EXISTS "IDX_986B2223E72FF79237337329F4C3BB9DA9025A34" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_FC70CCFDC1359B698BBBE5CA7AA158F0AF693461" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN (("REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_5AB1D780E57D940C42BAD29772E9E2B6C63498A0" ON ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" USING GIN ("REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER");
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_pLMNId" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN ("pLMNId");
-
-CREATE INDEX IF NOT EXISTS "IDX_E4E40B26C322AF63A662706AF8B0B36E1043B793" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_8BCCF388DFC8652AD5CD0675C64F49D2D2EDC7A1" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_B608D8F6B8A79097EA61A1B4777A96CD3D2D1E98" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN (("REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_0ECC814A408874C9F8E73EEE3968984A6345A606" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN (("REL_CD_classifiers_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_B10FD045A6C3E169953CCC38CC2D801FCE15A75F" ON ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" USING GIN ("REL_CD_decorators_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION");
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_pLMNId" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN ("pLMNId");
-
-CREATE INDEX IF NOT EXISTS "IDX_84A29F8571860AC5A7BD1A99923485ECB6A3939D" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_8D9862DBF6A721FABAEA4204E04B374692C1C5B8" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_4C6B5CB5CF018656DC8191CE6FE3B9DA2CD0C819" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN (("REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_21F2560C8330A795E8AFB54C6D31CDCF6CCD3070" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN (("REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_D856E84F300B6711E81931AE1CBC8AD905FA384F" ON ties_data."o-ran-smo-teiv-ran_OCUCPFunction" USING GIN ("REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION");
-
-CREATE INDEX IF NOT EXISTS "IDX_9122DAA7A60DB585BE5ECA68A2EDB9ABF1E7156A" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN (("pLMNIdList"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_6C81B2BBFCFE94C87598869A2099E04571202BA7" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_25E4BCFBF8F5344DFC60BCB159FA873FFC8109E9" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_OCUUPFunction_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_50209F1FF59B49F79FF194887B631994F2B5148A" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN (("REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_3346DFB8C2B7D6EEA12B7C1DE4A84B058C24A657" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN (("REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_ADD3393C27589066C4993A3491436C6FB57A539F" ON ties_data."o-ran-smo-teiv-ran_OCUUPFunction" USING GIN ("REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION");
-
-CREATE INDEX IF NOT EXISTS "IDX_73790DA8FF6365B752DC8B399893AC6DE8CF26C4" ON ties_data."o-ran-smo-teiv-ran_ODUFunction" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_5CE9EDE1F25AB2D880A41BC5D297FDBE668182E8" ON ties_data."o-ran-smo-teiv-ran_ODUFunction" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_ODUFunction_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_ODUFunction" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_0E5C91A3252FBAFA72DB644D4E949A379F0CB910" ON ties_data."o-ran-smo-teiv-ran_ODUFunction" USING GIN (("REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_5DD192861541E0EB2776C6BFE34B327FF27F93C3" ON ties_data."o-ran-smo-teiv-ran_ODUFunction" USING GIN (("REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_0B9AC962B1E07740CE43D912B5FBC54E0B39DD24" ON ties_data."o-ran-smo-teiv-ran_ODUFunction" USING GIN ("REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION");
-
-CREATE INDEX IF NOT EXISTS "IDX_D0D11CFAA917F4FA12748A041A34D2B39A3AD707" ON ties_data."o-ran-smo-teiv-ran_ORUFunction" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_2A5AAAD13FDCFF7F2958005C22937366F6604A0D" ON ties_data."o-ran-smo-teiv-ran_ORUFunction" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_ORUFunction_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_ORUFunction" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_AF235FB2C9CCA99D94CC4038669EDD1BB6C7B2DF" ON ties_data."o-ran-smo-teiv-ran_ORUFunction" USING GIN (("REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ORUFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_DA79A3F946C1F4E8D05B4D6ADEF5E4C65E47635E" ON ties_data."o-ran-smo-teiv-ran_ORUFunction" USING GIN (("REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ORUFUNCTION"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_7B916E1753D2860DF434831CF1E9697ED9973C8F" ON ties_data."o-ran-smo-teiv-ran_ORUFunction" USING GIN ("REL_CD_decorators_MANAGEDELEMENT_MANAGES_ORUFUNCTION");
-
-CREATE INDEX IF NOT EXISTS "IDX_E234B43A7CD7843672F08F2197AB46A2A50BECB0" ON ties_data."o-ran-smo-teiv-ran_Sector" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_19C19556F9714850389595E0A16218FA229205FE" ON ties_data."o-ran-smo-teiv-ran_Sector" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_GIN_o-ran-smo-teiv-ran_Sector_CD_decorators" ON ties_data."o-ran-smo-teiv-ran_Sector" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_10BCC6B44663A8D5431668BEE5DF80423420C616" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_03F9C6A2FA82614A788443AC6044BCED2401C465" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_0867A1E865A904F4BB513948DAEB60412BE67DF3" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_64B7C127C01069009A3FB13592DAE249B0029283" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_69152691D777DDB084C053915D4A4B15F7F8B3EB" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_3AB53A0DB6DC4B4C8BB6194D6D487EBDC3D0E88F" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" USING GIN ("CD_decorators");
-
-CREATE INDEX IF NOT EXISTS "IDX_5996D077978D38D0C1A951A262F1F7E1E339F052" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_F4A1999634924C7E4D1CBD05E83996A5B1262A8A" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" USING GIN (("CD_classifiers"::TEXT) gin_trgm_ops);
-
-CREATE INDEX IF NOT EXISTS "IDX_5BAC6D2F05A63FDE27F082E8C8F4D766C145E835" ON ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" USING GIN ("CD_decorators");
-
-ANALYZE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_ODUFunction";
-
-ANALYZE ties_data."o-ran-smo-teiv-equipment_Site";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE";
-
-ANALYZE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_NodeCluster";
-
-ANALYZE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_OCUCPFunction";
-
-ANALYZE ties_data."o-ran-smo-teiv-oam_ManagedElement";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_NRCellDU";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_CloudifiedNF";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_NFDeployment";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_AntennaCapability";
-
-ANALYZE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE";
-
-ANALYZE ties_data."o-ran-smo-teiv-equipment_AntennaModule";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_ORUFunction";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_NRCellCU";
-
-ANALYZE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_OCUUPFunction";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier";
-
-ANALYZE ties_data."o-ran-smo-teiv-ran_Sector";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_OCloudSite";
-
-ANALYZE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace";
-
-COMMIT;
index 025e11e..8a76f68 100644 (file)
@@ -871,43 +871,43 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
  'FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        '3C2E2CE7BDF8321BC824B6318B190690F58DBB82',
  'FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5',
- 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5" FOREIGN KEY ("bSide_NearRTRICFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" ADD CONSTRAINT "FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5" FOREIGN KEY ("bSide_NearRTRICFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'CFC235E0404703D1E4454647DF8AAE2C193DB402',
  'FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'CFC235E0404703D1E4454647DF8AAE2C193DB402',
  'FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06',
- 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06" FOREIGN KEY ("bSide_AntennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ADD CONSTRAINT "FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06" FOREIGN KEY ("bSide_AntennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
  'FK_A08D274894ECB6799E56C2089A494AF0345B9B16',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_A08D274894ECB6799E56C2089A494AF0345B9B16" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_A08D274894ECB6799E56C2089A494AF0345B9B16" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE',
  'FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F" FOREIGN KEY ("bSide_OCloudNamespace") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE" ADD CONSTRAINT "FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F" FOREIGN KEY ("bSide_OCloudNamespace") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDeployment',
  'FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0" FOREIGN KEY ("REL_FK_comprised-by-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0" FOREIGN KEY ("REL_FK_comprised-by-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -919,7 +919,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NFDeployment',
  'FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9" FOREIGN KEY ("REL_FK_serviced-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NFDeployment" ADD CONSTRAINT "FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9" FOREIGN KEY ("REL_FK_serviced-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -931,19 +931,19 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
  'FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92" FOREIGN KEY ("aSide_NodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92" FOREIGN KEY ("aSide_NodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE',
  'FK_888BF6FF782916E61B3FE80643A549A1CFDB6117',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_888BF6FF782916E61B3FE80643A549A1CFDB6117" FOREIGN KEY ("bSide_OCloudSite") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudSite" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE" ADD CONSTRAINT "FK_888BF6FF782916E61B3FE80643A549A1CFDB6117" FOREIGN KEY ("bSide_OCloudSite") REFERENCES ties_data."o-ran-smo-teiv-cloud_OCloudSite" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-cloud_OCloudNamespace',
  'FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF" FOREIGN KEY ("REL_FK_deployed-on-nodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-cloud_OCloudNamespace" ADD CONSTRAINT "FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF" FOREIGN KEY ("REL_FK_deployed-on-nodeCluster") REFERENCES ties_data."o-ran-smo-teiv-cloud_NodeCluster" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -955,7 +955,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-equipment_AntennaModule',
  'FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC" FOREIGN KEY ("REL_FK_installed-at-site") REFERENCES ties_data."o-ran-smo-teiv-equipment_Site" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC" FOREIGN KEY ("REL_FK_installed-at-site") REFERENCES ties_data."o-ran-smo-teiv-equipment_Site" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -967,7 +967,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-equipment_AntennaModule',
  'FK_078764B2F3D613D44CC6E3586F564C83164D2481',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_078764B2F3D613D44CC6E3586F564C83164D2481" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-equipment_AntennaModule" ADD CONSTRAINT "FK_078764B2F3D613D44CC6E3586F564C83164D2481" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -979,7 +979,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-oam_ManagedElement',
  'FK_899B8130A861D1450FC49D3159D8B29C0628A717',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "FK_899B8130A861D1450FC49D3159D8B29C0628A717" FOREIGN KEY ("REL_FK_deployed-as-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-oam_ManagedElement" ADD CONSTRAINT "FK_899B8130A861D1450FC49D3159D8B29C0628A717" FOREIGN KEY ("REL_FK_deployed-as-cloudifiedNF") REFERENCES ties_data."o-ran-smo-teiv-cloud_CloudifiedNF" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -991,7 +991,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRCellCU',
  'FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction" FOREIGN KEY ("REL_FK_provided-by-ocucpFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellCU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction" FOREIGN KEY ("REL_FK_provided-by-ocucpFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1003,7 +1003,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRCellDU',
  'FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1015,7 +1015,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRCellDU',
  'FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRCellDU" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector" FOREIGN KEY ("REL_FK_grouped-by-sector") REFERENCES ties_data."o-ran-smo-teiv-ran_Sector" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1027,7 +1027,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRSectorCarrier',
  'FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu" FOREIGN KEY ("REL_FK_used-by-nrCellDu") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu" FOREIGN KEY ("REL_FK_used-by-nrCellDu") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1039,7 +1039,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRSectorCarrier',
  'FK_65D538D54EB33081C808540235FEB28823428E64',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_65D538D54EB33081C808540235FEB28823428E64" FOREIGN KEY ("REL_FK_used-antennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_65D538D54EB33081C808540235FEB28823428E64" FOREIGN KEY ("REL_FK_used-antennaCapability") REFERENCES ties_data."o-ran-smo-teiv-ran_AntennaCapability" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1051,7 +1051,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NRSectorCarrier',
  'FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ADD CONSTRAINT "FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD" FOREIGN KEY ("REL_FK_provided-by-oduFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1063,7 +1063,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_NearRTRICFunction',
  'FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_NearRTRICFunction" ADD CONSTRAINT "FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1075,7 +1075,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_OCUCPFunction',
  'FK_122DD9709032528D161177B3624AD7AAF6589005',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "FK_122DD9709032528D161177B3624AD7AAF6589005" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ADD CONSTRAINT "FK_122DD9709032528D161177B3624AD7AAF6589005" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1087,7 +1087,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_OCUUPFunction',
  'FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ADD CONSTRAINT "FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1099,7 +1099,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_ODUFunction',
  'FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ODUFunction" ADD CONSTRAINT "FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1111,7 +1111,7 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-ran_ORUFunction',
  'FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-ran_ORUFunction" ADD CONSTRAINT "FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE" FOREIGN KEY ("REL_FK_managed-by-managedElement") REFERENCES ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
@@ -1123,49 +1123,49 @@ SELECT ties_data.create_constraint_if_not_exists(
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
  'FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION',
  'FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6" FOREIGN KEY ("bSide_OCUCPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION" ADD CONSTRAINT "FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6" FOREIGN KEY ("bSide_OCUCPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
  'FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION',
  'FK_8585D545BC37A473A298E0F5F5942F897A7105B1',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_8585D545BC37A473A298E0F5F5942F897A7105B1" FOREIGN KEY ("bSide_OCUUPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUUPFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION" ADD CONSTRAINT "FK_8585D545BC37A473A298E0F5F5942F897A7105B1" FOREIGN KEY ("bSide_OCUUPFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
  'FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79" FOREIGN KEY ("aSide_NFDeployment") REFERENCES ties_data."o-ran-smo-teiv-cloud_NFDeployment" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION',
  'FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08" FOREIGN KEY ("bSide_ODUFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION" ADD CONSTRAINT "FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08" FOREIGN KEY ("bSide_ODUFunction") REFERENCES ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU',
  'FK_1AB1E0CC29DA2E122D43A6616EC60A3F73E68649',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_1AB1E0CC29DA2E122D43A6616EC60A3F73E68649" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_1AB1E0CC29DA2E122D43A6616EC60A3F73E68649" FOREIGN KEY ("aSide_AntennaModule") REFERENCES ties_data."o-ran-smo-teiv-equipment_AntennaModule" ("id");'
 );
 
 SELECT ties_data.create_constraint_if_not_exists(
        'o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU',
  'FK_8605800A4923C52258A8CE3989E18A7C93D22E8C',
- 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_8605800A4923C52258A8CE3989E18A7C93D22E8C" FOREIGN KEY ("bSide_NRCellDU") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" (id) ON DELETE CASCADE;'
+ 'ALTER TABLE ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ADD CONSTRAINT "FK_8605800A4923C52258A8CE3989E18A7C93D22E8C" FOREIGN KEY ("bSide_NRCellDU") REFERENCES ties_data."o-ran-smo-teiv-ran_NRCellDU" ("id");'
 );
 
 CREATE INDEX IF NOT EXISTS "IDX_996D2C34C2458A6EFE8599C1A0E6942D3D288B7A" ON ties_data."3C2E2CE7BDF8321BC824B6318B190690F58DBB82" USING GIN (("CD_sourceIds"::TEXT) gin_trgm_ops);
diff --git a/teiv/src/test/resources/pgsqlschema/01_init-oran-smo-teiv-model-v1.sql b/teiv/src/test/resources/pgsqlschema/01_init-oran-smo-teiv-model-v1.sql
deleted file mode 100644 (file)
index 4e96026..0000000
+++ /dev/null
@@ -1,527 +0,0 @@
---
--- ============LICENSE_START=======================================================
--- Copyright (C) 2024 Ericsson
--- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
--- ================================================================================
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
---       http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- SPDX-License-Identifier: Apache-2.0
--- ============LICENSE_END=========================================================
---
-
-BEGIN;
-
-DROP SCHEMA IF EXISTS ties_model cascade;
-CREATE SCHEMA IF NOT EXISTS ties_model;
-ALTER SCHEMA ties_model OWNER TO :pguser;
-SET default_tablespace = '';
-SET default_table_access_method = heap;
-
-SET ROLE :pguser;
-
-CREATE TABLE IF NOT EXISTS ties_model.hash_info (
-    "name"        TEXT PRIMARY KEY,
-    "hashedValue" VARCHAR(63) NOT NULL,
-    "type"        VARCHAR(511)
-);
-
-CREATE TABLE IF NOT EXISTS ties_model.module_reference (
-    "name"            TEXT PRIMARY KEY,
-    "namespace"       TEXT,
-    "domain"          TEXT,
-    "includedModules" jsonb DEFAULT '[]'::jsonb,
-    "revision"        TEXT NOT NULL,
-    "content"         TEXT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS ties_model.entity_info (
-    "storedAt"            TEXT PRIMARY KEY,
-    "name"                TEXT NOT NULL,
-    "moduleReferenceName" TEXT NOT NULL,
-    "attributeNames"      jsonb DEFAULT '[]'::jsonb,
-    FOREIGN KEY ("moduleReferenceName") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE
-);
-
-CREATE TABLE IF NOT EXISTS ties_model.relationship_info (
-    "name"                     TEXT NOT NULL,
-    "aSideAssociationName"     TEXT NOT NULL,
-    "aSideMOType"              TEXT NOT NULL,
-    "aSideModule"              TEXT NOT NULL,
-    "aSideMinCardinality"      BIGINT NOT NULL,
-    "aSideMaxCardinality"      BIGINT NOT NULL,
-    "bSideAssociationName"     TEXT NOT NULL,
-    "bSideMOType"              TEXT NOT NULL,
-    "bSideModule"              TEXT NOT NULL,
-    "bSideMinCardinality"      BIGINT NOT NULL,
-    "bSideMaxCardinality"      BIGINT NOT NULL,
-    "associationKind"          TEXT NOT NULL,
-    "relationshipDataLocation" TEXT NOT NULL,
-    "storedAt"                 TEXT NOT NULL,
-    "connectSameEntity"        BOOLEAN NOT NULL,
-    "moduleReferenceName"      TEXT NOT NULL,
-    PRIMARY KEY ("name", "moduleReferenceName"),
-    FOREIGN KEY ("aSideModule") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE,
-    FOREIGN KEY ("bSideModule") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE,
-    FOREIGN KEY ("moduleReferenceName") REFERENCES ties_model.module_reference ("name") ON DELETE CASCADE
-);
-
-COPY ties_model.hash_info("name", "hashedValue", "type") FROM stdin;
-CD_classifiers CD_classifiers  COLUMN
-CD_decorators  CD_decorators   COLUMN
-CD_sourceIds   CD_sourceIds    COLUMN
-FK_o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE_aSide_NFDeployment    FK_A08D274894ECB6799E56C2089A494AF0345B9B16     CONSTRAINT
-FK_o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE_bSide_OCloudNamespace FK_D39953B79C8D39296B892FCF2C00B9C99AC7023F     CONSTRAINT
-FK_o-ran-smo-teiv-cloud_NFDeployment_REL_FK_comprised-by-cloudifiedNF  FK_127C21CB9B8871C3BCACA05A5400BE6B8E7FCAC0     CONSTRAINT
-FK_o-ran-smo-teiv-cloud_NFDeployment_REL_FK_serviced-managedElement    FK_AC1348E208C2E64F2EB1DECE2CCA5DB10B89CBD9     CONSTRAINT
-FK_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_aSide_NodeCluster    FK_AE882D77CE8D21B8032B124E1822E0EEE5DAAD92     CONSTRAINT
-FK_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_bSide_OCloudSite     FK_888BF6FF782916E61B3FE80643A549A1CFDB6117     CONSTRAINT
-FK_o-ran-smo-teiv-cloud_OCloudNamespace_REL_FK_deployed-on-nodeCluster FK_143EFC1953E68469572446EFB56BDEBBC83B8EBF     CONSTRAINT
-FK_o-ran-smo-teiv-equipment_AntennaModule_REL_FK_grouped-by-sector     FK_078764B2F3D613D44CC6E3586F564C83164D2481     CONSTRAINT
-FK_o-ran-smo-teiv-equipment_AntennaModule_REL_FK_installed-at-site     FK_E3BAEF04443354C0FC1837CF7964E05BEF9FD6CC     CONSTRAINT
-FK_o-ran-smo-teiv-oam_ManagedElement_REL_FK_deployed-as-cloudifiedNF   FK_899B8130A861D1450FC49D3159D8B29C0628A717     CONSTRAINT
-FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction        FK_o-ran-smo-teiv-ran_NRCellCU_REL_FK_provided-by-ocucpFunction CONSTRAINT
-FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector        FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_grouped-by-sector CONSTRAINT
-FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction  FK_o-ran-smo-teiv-ran_NRCellDU_REL_FK_provided-by-oduFunction   CONSTRAINT
-FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_provided-by-oduFunction   FK_9B73B9E2DBA36736FB76606005C823A6D565A5CD     CONSTRAINT
-FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-antennaCapability    FK_65D538D54EB33081C808540235FEB28823428E64     CONSTRAINT
-FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu  FK_o-ran-smo-teiv-ran_NRSectorCarrier_REL_FK_used-by-nrCellDu   CONSTRAINT
-FK_o-ran-smo-teiv-ran_NearRTRICFunction_REL_FK_managed-by-managedElement       FK_32BDE0334EA6AD74ABB3958A2B163F63A3F05203     CONSTRAINT
-FK_o-ran-smo-teiv-ran_OCUCPFunction_REL_FK_managed-by-managedElement   FK_122DD9709032528D161177B3624AD7AAF6589005     CONSTRAINT
-FK_o-ran-smo-teiv-ran_OCUUPFunction_REL_FK_managed-by-managedElement   FK_8062AF50E5EE5543FBCC68D66FDFF673E31E081D     CONSTRAINT
-FK_o-ran-smo-teiv-ran_ODUFunction_REL_FK_managed-by-managedElement     FK_B6F0A4F9024FB47DA39C9A4F1DFFF78330222A80     CONSTRAINT
-FK_o-ran-smo-teiv-ran_ORUFunction_REL_FK_managed-by-managedElement     FK_B497A8C3DC2D647938E6DB4C7E691509DD8C90DE     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION_aSide_NFDeployment       FK_BE847E738902EA979AC709D5A3D0CCD3FD8911CA     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION_bSide_NearRTRICFunction  FK_CCC0DEA6E4ABAB8614332070E83D953254D5A3A5     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION_aSide_NFDeployment   FK_2B4B09AF7CC9C877B1140BB127B4CB4DA438195D     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION_bSide_OCUCPFunction  FK_BCF2F9776761ABC19AE0BBD0244D7CD5785E7AC6     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION_aSide_NFDeployment   FK_AC1393DCBA845EDA13DADCB5BD87DF4163CD1669     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION_bSide_OCUUPFunction  FK_8585D545BC37A473A298E0F5F5942F897A7105B1     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION_aSide_NFDeployment     FK_ABA5D0BEEB45E6A5B14DB24E880029CA38DF3F79     CONSTRAINT
-FK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION_bSide_ODUFunction      FK_C7C12DB840FBCF4EA729B8C2BBCD8BFDE06F0F08     CONSTRAINT
-FK_o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY_aSide_AntennaModule FK_D80D1E6B26DF620B4DE659C600A3B7F709A41960     CONSTRAINT
-FK_o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY_bSide_AntennaCapability     FK_7148BEED02C0617DE1DEEB6639F34A9FA9251B06     CONSTRAINT
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_CloudifiedNF_CD_classifiers     IDX_BD96130868B69147B2F87B0D15F5829690DEF454    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_CloudifiedNF_CD_sourceIds       IDX_9EDB5C47201FC82A4565BFED9EF369D6C6529B19    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE_CD_classifiers IDX_1BCFD9635C4FA089EDC2E18FFEF56DBF3C5E7A52    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE_CD_sourceIds   IDX_F97E398B17532BCD9923CE0CF98E73227D890037    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDeployment_CD_classifiers     IDX_BED5B5FAA75FEE133E27581EAA611B89D20F24E1    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDeployment_CD_sourceIds       IDX_6433B9B7D69E51E828BDCFCAF59729EDCD10DA60    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDeployment_REL_CD_classifiers_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT     IDX_31F185F0F700C0AE11C5A9B8D28DBF6E37538635    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDeployment_REL_CD_classifiers_NFDEPLOYMENT_SERVES_MANAGEDELEMENT      IDX_1EE98ACCAE5537752BD51A3D5F6429585CC543F6    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDeployment_REL_CD_sourceIds_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT       IDX_072EB0C094138AB2D90F9CFBDA765B3B464EE86F    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NFDeployment_REL_CD_sourceIds_NFDEPLOYMENT_SERVES_MANAGEDELEMENT        IDX_4DD95BAED8503502101FEB9ECA25DDA8F371816C    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_CD_classifiers        IDX_29702D5C8D0B9B20BFB534FA233B9D9FADC2E3A1    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_CD_sourceIds  IDX_1D7F9BD4B5BBF73CC3D06D949731DC169DDED26D    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NodeCluster_CD_classifiers      IDX_CB29E8DDA990051B2A3DF193D8E4912F25D5FA0D    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_NodeCluster_CD_sourceIds        IDX_DC1829E4241BA7C9B3E5281AC0DF00A766F9452E    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_OCloudNamespace_CD_classifiers  IDX_57EB74DEF745DE4BA9AAD8E735BACB71F2E8C417    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_OCloudNamespace_CD_sourceIds    IDX_1B8DF6B061E229E5B6AC796911E6C8C23ECAD585    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_OCloudNamespace_REL_CD_classifiers_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER      IDX_6EE081E80342904B676496DA42DFAEC3EDA2CE27    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_OCloudNamespace_REL_CD_sourceIds_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER        IDX_A7A50200F582AB86EF483F9BA74F999F17B7F653    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_OCloudSite_CD_classifiers       IDX_281A2DE604D25D6CFECB9B26D1FF70429FDB0FD0    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-cloud_OCloudSite_CD_sourceIds IDX_30C83E5F8447D28D8E2A73048DF751C886AF318B    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_CD_classifiers        IDX_1C0CAFD80FDD6444044E3F76C7C0A7BDC35F9BC8    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_CD_sourceIds  IDX_905011128A2C218B5352C19ED1FE9851F43EB911    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE    IDX_17E417F7EF56809674BE1D5F5154DCCE01E00A96    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE        IDX_83B6347C0C0A005D5E3D856D973D3322DFEDEA35    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE      IDX_F497DEC01DA066CB09DA2AA7EDE3F4410078491B    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE  IDX_5ABDB19E55A6BDEF33855F14CB1B3B8CF457912C    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_AntennaModule_antennaBeamWidth      IDX_21B0F1FE632B6CB185C49BA6F00224068F443215    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_Site_CD_classifiers IDX_EEBF1BC3344E97988232825777AB13FAB6C4F3F0    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-equipment_Site_CD_sourceIds   IDX_102A50584376DE25B6BBD7157594C607A5C957F2    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-oam_ManagedElement_CD_classifiers     IDX_98AC4232BC02323E03416954215889CEE874A1E9    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-oam_ManagedElement_CD_sourceIds       IDX_DDD73D6F4004BF3A96AA118281EE3E565A922B47    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-oam_ManagedElement_REL_CD_classifiers_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF IDX_634619CF7333EBC0AFDE990900B79220FC626EBA    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-oam_ManagedElement_REL_CD_sourceIds_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF   IDX_8065626F3F48D4E5A4285654739D3B26499E4C4E    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_AntennaCapability_CD_classifiers  IDX_E7FFE8F4A166AA9A382A0659762FFEC313A9EB5C    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_AntennaCapability_CD_sourceIds    IDX_CC3E208A4EE51D3B505416A599F36F3C99F466C8    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_AntennaCapability_eUtranFqBands   IDX_5FB80647AE3E5C0443A792618D65B9090EE2A3FC    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_AntennaCapability_geranFqBands    IDX_A94722FF7B95D8974B494793908B57B4E1A9743B    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_AntennaCapability_nRFqBands       IDX_441B5C05448D63552C6414BD59C13641D8A4408D    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellCU_CD_classifiers   IDX_E5930226819982DC0CFC1FA64FB3600647222435    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellCU_CD_sourceIds     IDX_0C443A16285D233F16966C2F0314CDC9D0F6D0B8    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellCU_REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU       IDX_D366F952FD4A52645C45A19CBFD02B8897FC1F18    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellCU_REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU IDX_6891C1BB8EE214340A362906C08955E8ACC1C597    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellDU_CD_classifiers   IDX_C437D39632DC79BAB6AC4F0880826A05425F9C32    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellDU_CD_sourceIds     IDX_FFD60DD99D80C276F402E66546F5DACB2D81EE26    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellDU_REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU IDX_A950BF337D5D820E5B39AC3F1B1AC09C062F30C9    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellDU_REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU        IDX_7CB4A7724F68D1CB2D12E8DE779BA9103F7DBE0A    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellDU_REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU   IDX_B48D188E92ACBE9A2CAF8CD730A5DDFD7E086705    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRCellDU_REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU  IDX_6325926B4D2FDD1FBBB34250DABEA5E7229FF9F5    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_CD_classifiers    IDX_050A80BEEF775E4D3CE216F282F23DB99DA2D798    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_CD_sourceIds      IDX_8E34EC0B1DE7DDCE3B32ADD85B11E15F95C5644E    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER  IDX_ED50A5139F1449DBAD8DA10D45F5A5BF819EACBA    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY IDX_B975D24291849007D4AA6686C5D3983885D5C884    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER   IDX_FC70CCFDC1359B698BBBE5CA7AA158F0AF693461    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER    IDX_7BFD17A71AB1B7765FE6431DA4E66C2EDE88AC3B    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY   IDX_1F27C515A028616FAC422A02ABBEC402D5DBB2E5    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER     IDX_986B2223E72FF79237337329F4C3BB9DA9025A34    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NearRTRICFunction_CD_classifiers  IDX_8BCCF388DFC8652AD5CD0675C64F49D2D2EDC7A1    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NearRTRICFunction_CD_sourceIds    IDX_E4E40B26C322AF63A662706AF8B0B36E1043B793    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NearRTRICFunction_REL_CD_classifiers_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION     IDX_0ECC814A408874C9F8E73EEE3968984A6345A606    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_NearRTRICFunction_REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION       IDX_B608D8F6B8A79097EA61A1B4777A96CD3D2D1E98    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUCPFunction_CD_classifiers      IDX_8D9862DBF6A721FABAEA4204E04B374692C1C5B8    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUCPFunction_CD_sourceIds        IDX_84A29F8571860AC5A7BD1A99923485ECB6A3939D    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUCPFunction_REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION     IDX_21F2560C8330A795E8AFB54C6D31CDCF6CCD3070    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUCPFunction_REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION       IDX_4C6B5CB5CF018656DC8191CE6FE3B9DA2CD0C819    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUUPFunction_CD_classifiers      IDX_25E4BCFBF8F5344DFC60BCB159FA873FFC8109E9    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUUPFunction_CD_sourceIds        IDX_6C81B2BBFCFE94C87598869A2099E04571202BA7    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUUPFunction_REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION     IDX_3346DFB8C2B7D6EEA12B7C1DE4A84B058C24A657    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUUPFunction_REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION       IDX_50209F1FF59B49F79FF194887B631994F2B5148A    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_OCUUPFunction_pLMNIdList  IDX_9122DAA7A60DB585BE5ECA68A2EDB9ABF1E7156A    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ODUFunction_CD_classifiers        IDX_5CE9EDE1F25AB2D880A41BC5D297FDBE668182E8    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ODUFunction_CD_sourceIds  IDX_73790DA8FF6365B752DC8B399893AC6DE8CF26C4    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ODUFunction_REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION IDX_5DD192861541E0EB2776C6BFE34B327FF27F93C3    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ODUFunction_REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION   IDX_0E5C91A3252FBAFA72DB644D4E949A379F0CB910    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ORUFunction_CD_classifiers        IDX_2A5AAAD13FDCFF7F2958005C22937366F6604A0D    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ORUFunction_CD_sourceIds  IDX_D0D11CFAA917F4FA12748A041A34D2B39A3AD707    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ORUFunction_REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ORUFUNCTION IDX_DA79A3F946C1F4E8D05B4D6ADEF5E4C65E47635E    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_ORUFunction_REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ORUFUNCTION   IDX_AF235FB2C9CCA99D94CC4038669EDD1BB6C7B2DF    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_Sector_CD_classifiers     IDX_19C19556F9714850389595E0A16218FA229205FE    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-ran_Sector_CD_sourceIds       IDX_E234B43A7CD7843672F08F2197AB46A2A50BECB0    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION_CD_classifiers    IDX_F52FEEDBAF1B04D2D22EBAE051BB5125DF6A6968    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION_CD_sourceIds      IDX_996D2C34C2458A6EFE8599C1A0E6942D3D288B7A    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION_CD_classifiers        IDX_03F9C6A2FA82614A788443AC6044BCED2401C465    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION_CD_sourceIds  IDX_10BCC6B44663A8D5431668BEE5DF80423420C616    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION_CD_classifiers        IDX_69152691D777DDB084C053915D4A4B15F7F8B3EB    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION_CD_sourceIds  IDX_64B7C127C01069009A3FB13592DAE249B0029283    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION_CD_classifiers  IDX_F4A1999634924C7E4D1CBD05E83996A5B1262A8A    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION_CD_sourceIds    IDX_5996D077978D38D0C1A951A262F1F7E1E339F052    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY_CD_classifiers       IDX_DD0D676834B12CA2F7E8219310998376A08D7F5F    INDEX
-IDX_GIN_TRGM_OPS_ON_LIST_AS_JSONB_o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY_CD_sourceIds IDX_E896A9EB22A3F9F96CE75A271475316A98B629C8    INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_CloudifiedNF_CD_decorators        IDX_GIN_o-ran-smo-teiv-cloud_CloudifiedNF_CD_decorators INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE_CD_decorators    IDX_4055A796F223DD01411AFFB5AD97EEEAB6B2320C    INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_NFDeployment_CD_decorators        IDX_GIN_o-ran-smo-teiv-cloud_NFDeployment_CD_decorators INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_NFDeployment_REL_CD_decorators_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT        IDX_46CDB369134F042EC021F7496DF721B49A9D43C0    INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_NFDeployment_REL_CD_decorators_NFDEPLOYMENT_SERVES_MANAGEDELEMENT IDX_39A292C3C42B34C2AD7C2A0FD087739C253B06FC    INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_CD_decorators   IDX_98A32BE3A8C1FF8CDEC95561DE4A74852FE70322    INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_NodeCluster_CD_decorators IDX_GIN_o-ran-smo-teiv-cloud_NodeCluster_CD_decorators  INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_OCloudNamespace_CD_decorators     IDX_GIN_o-ran-smo-teiv-cloud_OCloudNamespace_CD_decorators      INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_OCloudNamespace_REL_CD_decorators_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER IDX_9AB8994DE0826F790D70614D4C52DD270AEF946B    INDEX
-IDX_GIN_o-ran-smo-teiv-cloud_OCloudSite_CD_decorators  IDX_GIN_o-ran-smo-teiv-cloud_OCloudSite_CD_decorators   INDEX
-IDX_GIN_o-ran-smo-teiv-equipment_AntennaModule_CD_decorators   IDX_GIN_o-ran-smo-teiv-equipment_AntennaModule_CD_decorators    INDEX
-IDX_GIN_o-ran-smo-teiv-equipment_AntennaModule_REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE       IDX_2321BFA482AD2700F41E2BA359F6EB00F47601B9    INDEX
-IDX_GIN_o-ran-smo-teiv-equipment_AntennaModule_REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE   IDX_6C6FBD69F47F41970595A8775DC99CA0F5E894A1    INDEX
-IDX_GIN_o-ran-smo-teiv-equipment_Site_CD_decorators    IDX_GIN_o-ran-smo-teiv-equipment_Site_CD_decorators     INDEX
-IDX_GIN_o-ran-smo-teiv-oam_ManagedElement_CD_decorators        IDX_GIN_o-ran-smo-teiv-oam_ManagedElement_CD_decorators INDEX
-IDX_GIN_o-ran-smo-teiv-oam_ManagedElement_REL_CD_decorators_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF    IDX_F15A070FC83B2E49223B4232E0BEB8931C2B7A4C    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_AntennaCapability_CD_decorators     IDX_GIN_o-ran-smo-teiv-ran_AntennaCapability_CD_decorators      INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_CD_decorators      IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_CD_decorators       INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU  IDX_5D761303176D3B9338784DFBEE0CEC51046ADC30    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_plmnId     IDX_GIN_o-ran-smo-teiv-ran_NRCellCU_plmnId      INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRCellDU_CD_decorators      IDX_GIN_o-ran-smo-teiv-ran_NRCellDU_CD_decorators       INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRCellDU_REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU    IDX_F494CB3BA4C726D4C45D53B1EF62E1E26811CCEF    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRCellDU_REL_CD_decorators_SECTOR_GROUPS_NRCELLDU   IDX_0A03C47C13AD3B5C84D3D8081493D670E9CBDCD1    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRSectorCarrier_CD_decorators       IDX_GIN_o-ran-smo-teiv-ran_NRSectorCarrier_CD_decorators        INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER     IDX_2ADB5C6DCAEE8811FB1CA8FD9EB53381F35FCB70    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY    IDX_902B73F741160B9D4FBF62406D3D9ABBECAD8BE7    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NRSectorCarrier_REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER      IDX_5AB1D780E57D940C42BAD29772E9E2B6C63498A0    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_CD_decorators     IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_CD_decorators      INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_REL_CD_decorators_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION        IDX_B10FD045A6C3E169953CCC38CC2D801FCE15A75F    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_pLMNId    IDX_GIN_o-ran-smo-teiv-ran_NearRTRICFunction_pLMNId     INDEX
-IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_CD_decorators IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_CD_decorators  INDEX
-IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION        IDX_D856E84F300B6711E81931AE1CBC8AD905FA384F    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_pLMNId        IDX_GIN_o-ran-smo-teiv-ran_OCUCPFunction_pLMNId INDEX
-IDX_GIN_o-ran-smo-teiv-ran_OCUUPFunction_CD_decorators IDX_GIN_o-ran-smo-teiv-ran_OCUUPFunction_CD_decorators  INDEX
-IDX_GIN_o-ran-smo-teiv-ran_OCUUPFunction_REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION        IDX_ADD3393C27589066C4993A3491436C6FB57A539F    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_ODUFunction_CD_decorators   IDX_GIN_o-ran-smo-teiv-ran_ODUFunction_CD_decorators    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_ODUFunction_REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION    IDX_0B9AC962B1E07740CE43D912B5FBC54E0B39DD24    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_ORUFunction_CD_decorators   IDX_GIN_o-ran-smo-teiv-ran_ORUFunction_CD_decorators    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_ORUFunction_REL_CD_decorators_MANAGEDELEMENT_MANAGES_ORUFUNCTION    IDX_7B916E1753D2860DF434831CF1E9697ED9973C8F    INDEX
-IDX_GIN_o-ran-smo-teiv-ran_Sector_CD_decorators        IDX_GIN_o-ran-smo-teiv-ran_Sector_CD_decorators INDEX
-IDX_GIN_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION_CD_decorators       IDX_D333FA5882890B7CD3599712FFFB2641B9E04C80    INDEX
-IDX_GIN_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION_CD_decorators   IDX_0867A1E865A904F4BB513948DAEB60412BE67DF3    INDEX
-IDX_GIN_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION_CD_decorators   IDX_3AB53A0DB6DC4B4C8BB6194D6D487EBDC3D0E88F    INDEX
-IDX_GIN_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION_CD_decorators     IDX_5BAC6D2F05A63FDE27F082E8C8F4D766C145E835    INDEX
-IDX_GIN_o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY_CD_decorators  IDX_7BF09D0227840279556AD27ACECB068705893D28    INDEX
-PK_o-ran-smo-teiv-cloud_CloudifiedNF_id        PK_o-ran-smo-teiv-cloud_CloudifiedNF_id CONSTRAINT
-PK_o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE_id    PK_E4FDDE2DC433209F933C7F53C9F72C1D2EB04BC6     CONSTRAINT
-PK_o-ran-smo-teiv-cloud_NFDeployment_id        PK_o-ran-smo-teiv-cloud_NFDeployment_id CONSTRAINT
-PK_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_id   PK_o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE_id    CONSTRAINT
-PK_o-ran-smo-teiv-cloud_NodeCluster_id PK_o-ran-smo-teiv-cloud_NodeCluster_id  CONSTRAINT
-PK_o-ran-smo-teiv-cloud_OCloudNamespace_id     PK_o-ran-smo-teiv-cloud_OCloudNamespace_id      CONSTRAINT
-PK_o-ran-smo-teiv-cloud_OCloudSite_id  PK_o-ran-smo-teiv-cloud_OCloudSite_id   CONSTRAINT
-PK_o-ran-smo-teiv-equipment_AntennaModule_id   PK_o-ran-smo-teiv-equipment_AntennaModule_id    CONSTRAINT
-PK_o-ran-smo-teiv-equipment_Site_id    PK_o-ran-smo-teiv-equipment_Site_id     CONSTRAINT
-PK_o-ran-smo-teiv-oam_ManagedElement_id        PK_o-ran-smo-teiv-oam_ManagedElement_id CONSTRAINT
-PK_o-ran-smo-teiv-ran_AntennaCapability_id     PK_o-ran-smo-teiv-ran_AntennaCapability_id      CONSTRAINT
-PK_o-ran-smo-teiv-ran_NRCellCU_id      PK_o-ran-smo-teiv-ran_NRCellCU_id       CONSTRAINT
-PK_o-ran-smo-teiv-ran_NRCellDU_id      PK_o-ran-smo-teiv-ran_NRCellDU_id       CONSTRAINT
-PK_o-ran-smo-teiv-ran_NRSectorCarrier_id       PK_o-ran-smo-teiv-ran_NRSectorCarrier_id        CONSTRAINT
-PK_o-ran-smo-teiv-ran_NearRTRICFunction_id     PK_o-ran-smo-teiv-ran_NearRTRICFunction_id      CONSTRAINT
-PK_o-ran-smo-teiv-ran_OCUCPFunction_id PK_o-ran-smo-teiv-ran_OCUCPFunction_id  CONSTRAINT
-PK_o-ran-smo-teiv-ran_OCUUPFunction_id PK_o-ran-smo-teiv-ran_OCUUPFunction_id  CONSTRAINT
-PK_o-ran-smo-teiv-ran_ODUFunction_id   PK_o-ran-smo-teiv-ran_ODUFunction_id    CONSTRAINT
-PK_o-ran-smo-teiv-ran_ORUFunction_id   PK_o-ran-smo-teiv-ran_ORUFunction_id    CONSTRAINT
-PK_o-ran-smo-teiv-ran_Sector_id        PK_o-ran-smo-teiv-ran_Sector_id CONSTRAINT
-PK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION_id       PK_82A1C5618438FF6DF7CDD48FD71E0A584E6D052A     CONSTRAINT
-PK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION_id   PK_2D854968CB74C42C534D8E7C2A53E93F6B7F001F     CONSTRAINT
-PK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION_id   PK_E551D02D14B3C04A565DC73A386BEB29627D3C08     CONSTRAINT
-PK_o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION_id     PK_A10CB552A0F126991DD325EC84DBFAC6F2BBE1A3     CONSTRAINT
-PK_o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY_id  PK_63E61CB6802F21FE7A04A80A095F6AF8ABF067CE     CONSTRAINT
-REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE     REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE      COLUMN
-REL_CD_classifiers_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT REL_CD_classifiers_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT  COLUMN
-REL_CD_classifiers_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF     REL_CD_classifiers_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF      COLUMN
-REL_CD_classifiers_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION    REL_CD_classifiers_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION     COLUMN
-REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION        REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION COLUMN
-REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION        REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION COLUMN
-REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION  REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION   COLUMN
-REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ORUFUNCTION  REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ORUFUNCTION   COLUMN
-REL_CD_classifiers_NFDEPLOYMENT_SERVES_MANAGEDELEMENT  REL_CD_classifiers_NFDEPLOYMENT_SERVES_MANAGEDELEMENT   COLUMN
-REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER       REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER        COLUMN
-REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY      REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY       COLUMN
-REL_CD_classifiers_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER     REL_CD_classifiers_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER      COLUMN
-REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU     REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU      COLUMN
-REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU       REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU        COLUMN
-REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER        REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER COLUMN
-REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE  COLUMN
-REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU      REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU       COLUMN
-REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE      REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE       COLUMN
-REL_CD_decorators_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT  REL_CD_decorators_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT   COLUMN
-REL_CD_decorators_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF      REL_CD_decorators_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF       COLUMN
-REL_CD_decorators_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION     REL_CD_decorators_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION      COLUMN
-REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION  COLUMN
-REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION  COLUMN
-REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION   REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION    COLUMN
-REL_CD_decorators_MANAGEDELEMENT_MANAGES_ORUFUNCTION   REL_CD_decorators_MANAGEDELEMENT_MANAGES_ORUFUNCTION    COLUMN
-REL_CD_decorators_NFDEPLOYMENT_SERVES_MANAGEDELEMENT   REL_CD_decorators_NFDEPLOYMENT_SERVES_MANAGEDELEMENT    COLUMN
-REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER        REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER COLUMN
-REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY       REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY        COLUMN
-REL_CD_decorators_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER      REL_CD_decorators_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER       COLUMN
-REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU      REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU       COLUMN
-REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU        REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU COLUMN
-REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER  COLUMN
-REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE  REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE   COLUMN
-REL_CD_decorators_SECTOR_GROUPS_NRCELLDU       REL_CD_decorators_SECTOR_GROUPS_NRCELLDU        COLUMN
-REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE       REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE        COLUMN
-REL_CD_sourceIds_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT   REL_CD_sourceIds_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT    COLUMN
-REL_CD_sourceIds_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF       REL_CD_sourceIds_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF        COLUMN
-REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION      REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION       COLUMN
-REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION  REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION   COLUMN
-REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION  REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION   COLUMN
-REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION    REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION     COLUMN
-REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ORUFUNCTION    REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ORUFUNCTION     COLUMN
-REL_CD_sourceIds_NFDEPLOYMENT_SERVES_MANAGEDELEMENT    REL_CD_sourceIds_NFDEPLOYMENT_SERVES_MANAGEDELEMENT     COLUMN
-REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER  COLUMN
-REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY        REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY COLUMN
-REL_CD_sourceIds_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER       REL_CD_sourceIds_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER        COLUMN
-REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU       REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU        COLUMN
-REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU  COLUMN
-REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER  REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER   COLUMN
-REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE   REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE    COLUMN
-REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU        REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU COLUMN
-REL_FK_comprised-by-cloudifiedNF       REL_FK_comprised-by-cloudifiedNF        COLUMN
-REL_FK_deployed-as-cloudifiedNF        REL_FK_deployed-as-cloudifiedNF COLUMN
-REL_FK_deployed-on-nodeCluster REL_FK_deployed-on-nodeCluster  COLUMN
-REL_FK_grouped-by-sector       REL_FK_grouped-by-sector        COLUMN
-REL_FK_installed-at-site       REL_FK_installed-at-site        COLUMN
-REL_FK_managed-by-managedElement       REL_FK_managed-by-managedElement        COLUMN
-REL_FK_provided-by-ocucpFunction       REL_FK_provided-by-ocucpFunction        COLUMN
-REL_FK_provided-by-oduFunction REL_FK_provided-by-oduFunction  COLUMN
-REL_FK_serviced-managedElement REL_FK_serviced-managedElement  COLUMN
-REL_FK_used-antennaCapability  REL_FK_used-antennaCapability   COLUMN
-REL_FK_used-by-nrCellDu        REL_FK_used-by-nrCellDu COLUMN
-REL_ID_ANTENNAMODULE_INSTALLED_AT_SITE REL_ID_ANTENNAMODULE_INSTALLED_AT_SITE  COLUMN
-REL_ID_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT     REL_ID_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT      COLUMN
-REL_ID_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF REL_ID_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF  COLUMN
-REL_ID_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION        REL_ID_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION COLUMN
-REL_ID_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION    REL_ID_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION     COLUMN
-REL_ID_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION    REL_ID_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION     COLUMN
-REL_ID_MANAGEDELEMENT_MANAGES_ODUFUNCTION      REL_ID_MANAGEDELEMENT_MANAGES_ODUFUNCTION       COLUMN
-REL_ID_MANAGEDELEMENT_MANAGES_ORUFUNCTION      REL_ID_MANAGEDELEMENT_MANAGES_ORUFUNCTION       COLUMN
-REL_ID_NFDEPLOYMENT_SERVES_MANAGEDELEMENT      REL_ID_NFDEPLOYMENT_SERVES_MANAGEDELEMENT       COLUMN
-REL_ID_NRCELLDU_USES_NRSECTORCARRIER   REL_ID_NRCELLDU_USES_NRSECTORCARRIER    COLUMN
-REL_ID_NRSECTORCARRIER_USES_ANTENNACAPABILITY  REL_ID_NRSECTORCARRIER_USES_ANTENNACAPABILITY   COLUMN
-REL_ID_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER REL_ID_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER  COLUMN
-REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU  COLUMN
-REL_ID_ODUFUNCTION_PROVIDES_NRCELLDU   REL_ID_ODUFUNCTION_PROVIDES_NRCELLDU    COLUMN
-REL_ID_ODUFUNCTION_PROVIDES_NRSECTORCARRIER    REL_ID_ODUFUNCTION_PROVIDES_NRSECTORCARRIER     COLUMN
-REL_ID_SECTOR_GROUPS_ANTENNAMODULE     REL_ID_SECTOR_GROUPS_ANTENNAMODULE      COLUMN
-REL_ID_SECTOR_GROUPS_NRCELLDU  REL_ID_SECTOR_GROUPS_NRCELLDU   COLUMN
-REL_metadata_ANTENNAMODULE_INSTALLED_AT_SITE   REL_metadata_ANTENNAMODULE_INSTALLED_AT_SITE    COLUMN
-REL_metadata_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT       REL_metadata_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT        COLUMN
-REL_metadata_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF   REL_metadata_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF    COLUMN
-REL_metadata_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION  REL_metadata_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION   COLUMN
-REL_metadata_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION      REL_metadata_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION       COLUMN
-REL_metadata_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION      REL_metadata_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION       COLUMN
-REL_metadata_MANAGEDELEMENT_MANAGES_ODUFUNCTION        REL_metadata_MANAGEDELEMENT_MANAGES_ODUFUNCTION COLUMN
-REL_metadata_MANAGEDELEMENT_MANAGES_ORUFUNCTION        REL_metadata_MANAGEDELEMENT_MANAGES_ORUFUNCTION COLUMN
-REL_metadata_NFDEPLOYMENT_SERVES_MANAGEDELEMENT        REL_metadata_NFDEPLOYMENT_SERVES_MANAGEDELEMENT COLUMN
-REL_metadata_NRCELLDU_USES_NRSECTORCARRIER     REL_metadata_NRCELLDU_USES_NRSECTORCARRIER      COLUMN
-REL_metadata_NRSECTORCARRIER_USES_ANTENNACAPABILITY    REL_metadata_NRSECTORCARRIER_USES_ANTENNACAPABILITY     COLUMN
-REL_metadata_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER   REL_metadata_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER    COLUMN
-REL_metadata_OCUCPFUNCTION_PROVIDES_NRCELLCU   REL_metadata_OCUCPFUNCTION_PROVIDES_NRCELLCU    COLUMN
-REL_metadata_ODUFUNCTION_PROVIDES_NRCELLDU     REL_metadata_ODUFUNCTION_PROVIDES_NRCELLDU      COLUMN
-REL_metadata_ODUFUNCTION_PROVIDES_NRSECTORCARRIER      REL_metadata_ODUFUNCTION_PROVIDES_NRSECTORCARRIER       COLUMN
-REL_metadata_SECTOR_GROUPS_ANTENNAMODULE       REL_metadata_SECTOR_GROUPS_ANTENNAMODULE        COLUMN
-REL_metadata_SECTOR_GROUPS_NRCELLDU    REL_metadata_SECTOR_GROUPS_NRCELLDU     COLUMN
-UNIQUE_o-ran-smo-teiv-cloud_NFDeployment_REL_ID_CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT    UNIQUE_A5A8418B6BE911F281E6E2AA640D7D9F777471DC CONSTRAINT
-UNIQUE_o-ran-smo-teiv-cloud_NFDeployment_REL_ID_NFDEPLOYMENT_SERVES_MANAGEDELEMENT     UNIQUE_8AD46969905BEEB89F63D3F37FD82B14F34FDCBC CONSTRAINT
-UNIQUE_o-ran-smo-teiv-cloud_OCloudNamespace_REL_ID_OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER     UNIQUE_C4DE73BD7AA3DBFA2D32E577D4E0A534A7184AB0 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-equipment_AntennaModule_REL_ID_ANTENNAMODULE_INSTALLED_AT_SITE   UNIQUE_9DF414C2F0CD7FA8BFCB3E9BF851784AC4BC49B1 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-equipment_AntennaModule_REL_ID_SECTOR_GROUPS_ANTENNAMODULE       UNIQUE_78B1D3DCD903AFFB1965D440D87B2D194CA028A0 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-oam_ManagedElement_REL_ID_MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF        UNIQUE_EC9B35192A31C6491E6566602720D1C26E3CB708 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NRCellCU_REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU      UNIQUE_928074AEE57C9CB151F93FDC81BC59200D5F7497 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NRCellDU_REL_ID_ODUFUNCTION_PROVIDES_NRCELLDU        UNIQUE_B70F668E0E45FFFC5B7014489F6FD528EB15F192 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NRCellDU_REL_ID_SECTOR_GROUPS_NRCELLDU       UNIQUE_AC1C114ABED77D6DEC3F3AE3F9EBE8231924AEF4 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NRSectorCarrier_REL_ID_NRCELLDU_USES_NRSECTORCARRIER UNIQUE_1AB577E5AC207ED4C99A9A96BA1C9C35544AFD25 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NRSectorCarrier_REL_ID_NRSECTORCARRIER_USES_ANTENNACAPABILITY        UNIQUE_A799EC9DA6624651081E1DA21B5F0C2D38F6A192 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NRSectorCarrier_REL_ID_ODUFUNCTION_PROVIDES_NRSECTORCARRIER  UNIQUE_D5D35955594A6EB48640425529F7DE44BED00B62 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_NearRTRICFunction_REL_ID_MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION    UNIQUE_E020461673334EB824643649B6B31670FB064EC8 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_OCUCPFunction_REL_ID_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION    UNIQUE_2B7D3D49C1072E660047DE56843413CE628BF94A CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_OCUUPFunction_REL_ID_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION    UNIQUE_DF85FE7809B5527CB4A6028DD1A599DBBD5AF214 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_ODUFunction_REL_ID_MANAGEDELEMENT_MANAGES_ODUFUNCTION        UNIQUE_D570291C9E28A2AF73387B7A8B0F4C70130EEDB4 CONSTRAINT
-UNIQUE_o-ran-smo-teiv-ran_ORUFunction_REL_ID_MANAGEDELEMENT_MANAGES_ORUFUNCTION        UNIQUE_4E6F008B82605A806EED04B2315A1FEE095A9241 CONSTRAINT
-aSide_AntennaModule    aSide_AntennaModule     COLUMN
-aSide_NFDeployment     aSide_NFDeployment      COLUMN
-aSide_NodeCluster      aSide_NodeCluster       COLUMN
-antennaBeamWidth       antennaBeamWidth        COLUMN
-antennaModelNumber     antennaModelNumber      COLUMN
-arfcnDL        arfcnDL COLUMN
-arfcnUL        arfcnUL COLUMN
-azimuth        azimuth COLUMN
-bSChannelBwDL  bSChannelBwDL   COLUMN
-bSide_AntennaCapability        bSide_AntennaCapability COLUMN
-bSide_NearRTRICFunction        bSide_NearRTRICFunction COLUMN
-bSide_OCUCPFunction    bSide_OCUCPFunction     COLUMN
-bSide_OCUUPFunction    bSide_OCUUPFunction     COLUMN
-bSide_OCloudNamespace  bSide_OCloudNamespace   COLUMN
-bSide_OCloudSite       bSide_OCloudSite        COLUMN
-bSide_ODUFunction      bSide_ODUFunction       COLUMN
-cellLocalId    cellLocalId     COLUMN
-eUtranFqBands  eUtranFqBands   COLUMN
-electricalAntennaTilt  electricalAntennaTilt   COLUMN
-frequencyDL    frequencyDL     COLUMN
-frequencyUL    frequencyUL     COLUMN
-gNBCUName      gNBCUName       COLUMN
-gNBDUId        gNBDUId COLUMN
-gNBId  gNBId   COLUMN
-gNBIdLength    gNBIdLength     COLUMN
-geo-location   geo-location    COLUMN
-geranFqBands   geranFqBands    COLUMN
-horizontalBeamWidth    horizontalBeamWidth     COLUMN
-id     id      COLUMN
-mechanicalAntennaBearing       mechanicalAntennaBearing        COLUMN
-mechanicalAntennaTilt  mechanicalAntennaTilt   COLUMN
-metadata       metadata        COLUMN
-nCI    nCI     COLUMN
-nRFqBands      nRFqBands       COLUMN
-nRPCI  nRPCI   COLUMN
-nRTAC  nRTAC   COLUMN
-name   name    COLUMN
-nearRtRicId    nearRtRicId     COLUMN
-o-ran-smo-teiv-cloud_CloudifiedNF      o-ran-smo-teiv-cloud_CloudifiedNF       TABLE
-o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE  o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE   TABLE
-o-ran-smo-teiv-cloud_NFDeployment      o-ran-smo-teiv-cloud_NFDeployment       TABLE
-o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE  TABLE
-o-ran-smo-teiv-cloud_NodeCluster       o-ran-smo-teiv-cloud_NodeCluster        TABLE
-o-ran-smo-teiv-cloud_OCloudNamespace   o-ran-smo-teiv-cloud_OCloudNamespace    TABLE
-o-ran-smo-teiv-cloud_OCloudSite        o-ran-smo-teiv-cloud_OCloudSite TABLE
-o-ran-smo-teiv-equipment_AntennaModule o-ran-smo-teiv-equipment_AntennaModule  TABLE
-o-ran-smo-teiv-equipment_Site  o-ran-smo-teiv-equipment_Site   TABLE
-o-ran-smo-teiv-oam_ManagedElement      o-ran-smo-teiv-oam_ManagedElement       TABLE
-o-ran-smo-teiv-ran_AntennaCapability   o-ran-smo-teiv-ran_AntennaCapability    TABLE
-o-ran-smo-teiv-ran_NRCellCU    o-ran-smo-teiv-ran_NRCellCU     TABLE
-o-ran-smo-teiv-ran_NRCellDU    o-ran-smo-teiv-ran_NRCellDU     TABLE
-o-ran-smo-teiv-ran_NRSectorCarrier     o-ran-smo-teiv-ran_NRSectorCarrier      TABLE
-o-ran-smo-teiv-ran_NearRTRICFunction   o-ran-smo-teiv-ran_NearRTRICFunction    TABLE
-o-ran-smo-teiv-ran_OCUCPFunction       o-ran-smo-teiv-ran_OCUCPFunction        TABLE
-o-ran-smo-teiv-ran_OCUUPFunction       o-ran-smo-teiv-ran_OCUUPFunction        TABLE
-o-ran-smo-teiv-ran_ODUFunction o-ran-smo-teiv-ran_ODUFunction  TABLE
-o-ran-smo-teiv-ran_ORUFunction o-ran-smo-teiv-ran_ORUFunction  TABLE
-o-ran-smo-teiv-ran_Sector      o-ran-smo-teiv-ran_Sector       TABLE
-o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION     3C2E2CE7BDF8321BC824B6318B190690F58DBB82        TABLE
-o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION  TABLE
-o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION  TABLE
-o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION   o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION    TABLE
-o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY        CFC235E0404703D1E4454647DF8AAE2C193DB402        TABLE
-oruId  oruId   COLUMN
-pLMNId pLMNId  COLUMN
-pLMNIdList     pLMNIdList      COLUMN
-plmnId plmnId  COLUMN
-positionWithinSector   positionWithinSector    COLUMN
-sectorId       sectorId        COLUMN
-totalTilt      totalTilt       COLUMN
-verticalBeamWidth      verticalBeamWidth       COLUMN
-\.
-
-COPY ties_model.module_reference("name", "namespace", "domain", "includedModules", "revision", "content") FROM stdin;
-_3gpp-common-yang-extensions   urn:3gpp:sa5:_3gpp-common-yang-extensions       \N      []      2019-06-23      bW9kdWxlIF8zZ3BwLWNvbW1vbi15YW5nLWV4dGVuc2lvbnMgewogIHlhbmctdmVyc2lvbiAxLjE7CiAgbmFtZXNwYWNlIHVybjozZ3BwOnNhNTpfM2dwcC1jb21tb24teWFuZy1leHRlbnNpb25zIDsKICBwcmVmaXggeWV4dDNncHAgOwoKICBvcmdhbml6YXRpb24gIjNHUFAgU0E1IjsKICBkZXNjcmlwdGlvbiAiVGhlIG1vZHVsZSBkZWZpbmVzIFlBTkcgZXh0ZW5zaW9ucyBuZWVkZWQgCiAgICAzR1BQIFlBTkcgbW9kZWxpbmcuCgogICAgQ29weXJpZ2h0IChjKSAyMDE5IDNHUFAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgRXh0ZW5zaW9ucyBNVVNUIGJlIGRlZmluZWQgd2l0aCB0aGUgZm9sbG93aW5nIHN0cnVjdHVyZSBpbiB0aGUKICAgIGRlc2NyaXB0aW9uIHN0YXRlbWVudDoKICAgICAgICAtIFdoYXQgaXMgdGhpcyBzdGF0ZW1lbnQuCiAgICAgICAgLSBOZXdsaW5lLAogICAgICAgIC0gVGhpcyBzdGF0ZW1lbnQgY2FuIGJlIGEgc3Vic3RhdGVtZW50IG9mIHRoZSB4eHggc3RhdGVtZW50cyB3aXRoCiAgICAgICAgY2FyZGluYWxpdHkgeC4ueS4KICAgICAgICAtIFRoaXMgc3RhdGVtZW50IGNhbiBoYXZlIHRoZSBmb2xsb3dpbmcgc3Vic3RhdGVtZW50cyB3aXRoCiAgICAgICAgY2FyZGluYWxpdHkgeC4ueS4KICAgICAgICAtIE5ld2xpbmUKICAgICAgICAtIElzIGNoYW5naW5nIHRoaXMgc3RhdGVtZW50IGFuIGVkaXRvcmlhbCwgQkMoYmFja3dhcmRzIGNvbXBhdGlibGUpIAogICAgICAgIG9yIE5CQyhub24tQkMpIGNoYW5nZT8KICAgICAgICAtIE5ld2xpbmUuCiAgICAgICAgLSBUaGUgYXJndW1lbnQgaXRzIG1lYW5pbmcgYW5kIHR5cGUuIFByZWZlcmFibHkgdXNlIFlBTkcgdHlwZXMgYW5kCiAgICAgICAgICBjb25zdHJhaW50cyB0byBkZWZpbmUgdGhlIGFyZ3VtZW50J3MgdHlwZS4KCiAgICBBbnkgZXh0ZW5zaW9uIHN0YXRlbWVudCBjYW4gYmUgYWRkZWQgd2l0aCBhCiAgICBkZXZpYXRpb24vZGV2aWF0ZSBhZGQgc3RhdGVtZW50LiBJbiB0aGlzIGNhc2UgdGhlIHJlc3RyaWN0aW9uIGFib3V0CiAgICB0aGUgcGFyZW50IHN0YXRlbWVudCBvZiB0aGUgZXh0ZW5zaW9uIFNIQUxMIGJlIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUKICAgIHRhcmdldCBvZiB0aGUgZGV2aWF0aW9uIHN0YXRlbWVudC4KCiAgICBTdXBwb3J0IGZvciB0aGlzIG1vZHVsZSBkb2VzIG5vdCBtZWFuIHRoYXQgYSBZQU5HIHNlcnZlciBpbXBsZW1lbnRzCiAgICBzdXBwb3J0IGZvciBlYWNoIG9mIHRoZXNlIGV4dGVuc2lvbnMuCiAgICBJbXBsZW1lbnRlcnMgb2YgZWFjaCBzcGVjaWZpYyBtb2R1bGUgdXNpbmcgYW4gZXh0ZW5zaW9ucyBNVVNUIGNoZWNrCiAgICBpZiB0aGUgc2VydmVyIGltcGxlbWVudHMgc3VwcG9ydCBmb3IgdGhlIHVzZWQgZXh0ZW5zaW9uLgogICAgTm90ZTogbW9kdWxlcyB1c2UgbWFueSBleHRlbnNpb25zIHdoaWNoIGluZGl2aWR1YWwKICAgIGltcGxlbWVudGF0aW9ucyBNQVkgb3IgTUFZIE5PVCBzdXBwb3J0LgogICAgSWYgc3VwcG9ydCBmb3IgYW4gZXh0ZW5zaW9uIGlzIG1pc3NpbmcgdGhlIGV4dGVuc2lvbiBzdGF0ZW1lbnQgbmVlZHMKICAgIGluZGl2aWR1YWwgaGFuZGxpbmcgb3IgaXQgU0hPVUxEIGJlIHJlbW92ZWQgZnJvbSB0aGUgbW9kdWxlIHVzaW5nCiAgICB0aGUgZXh0ZW5zaW9uIGUuZy4gd2l0aCBhIGRldmlhdGlvbi4KICAgICAgICAgICI7CgogIHJldmlzaW9uICIyMDE5LTA2LTIzIiB7CiAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCB2ZXJzaW9uIjsKICB9CgogIGV4dGVuc2lvbiBpblZhcmlhbnQgewogICAgZGVzY3JpcHRpb24KICAgICAgIkluZGljYXRlcyB0aGF0IHRoZSB2YWx1ZSBmb3IgdGhlIGRhdGEgbm9kZSBjYW4gb25seSBiZSBzZXQgd2hlbiBpdHMKICAgICAgcGFyZW50IGRhdGEgbm9kZSBpcyBiZWluZyBjcmVhdGVkLiBUbyBjaGFuZ2UgdGhlIHZhbHVlIGFmdGVyIHRoYXQsIHRoZQogICAgICBwYXJlbnQgZGF0YSBub2RlIG11c3QgYmUgZGVsZXRlZCBhbmQgcmVjcmVhdGVkIHdpdGggdGhlIGRhdGEgbm9kZQogICAgICBoYXZpbmcgdGhlIG5ldyB2YWx1ZS4KCiAgICAgIEl0IGlzIHVubmVjZXNzYXJ5IHRvIHVzZSBhbmQgTVVTVCBOT1QgYmUgdXNlZCBmb3Iga2V5IGxlYWZzLgoKICAgICAgVGhlIHN0YXRlbWVudCBNVVNUIG9ubHkgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgYSBsZWFmLCBsZWFmLWxpc3QsIGxpc3QgCiAgICAgIHN0YXRlbWVudHMgdGhhdCBpcyBjb25maWc9dHJ1ZS4KICAgICAgWmVybyBvciBvbmUgaW5WYXJpYW50IHN0YXRlbWVudCBpcyBhbGxvd2VkIHBlciBwYXJlbnQgc3RhdGVtZW50LgogICAgICBOTyBzdWJzdGF0ZW1lbnRzIGFyZSBhbGxvd2VkLgogICAgICAgICAgICAKICAgICAgQWRkaW5nIHRoaXMgc3RhdGVtZW50IGlzIGFuIE5CQyBjaGFuZ2UsIHJlbW92aW5nIGl0IGlzIEJDLiI7CiAgfQoKICBleHRlbnNpb24gaW5pdGlhbC12YWx1ZSB7CiAgICBkZXNjcmlwdGlvbiAiU3BlY2lmaWVzIGEgdmFsdWUgdGhhdCB0aGUgc3lzdGVtIHdpbGwgc2V0IGZvciBhIGxlYWYKICAgICAgbGVhZi1saXN0IGlmIGEgdmFsdWUgaXMgbm90IHNwZWNpZmllZCBmb3IgaXQgd2hlbiBpdHMgcGFyZW50IGxpc3QKICAgICAgb3IgY29udGFpbmVyIGlzIGNyZWF0ZWQuIFRoZSB2YWx1ZSBoYXMgbm8gZWZmZWN0IGluIGFueSBvdGhlcgogICAgICBtb2RpZmljYXRpb24gZS5nLiBjaGFuZ2luZyBvciByZW1vdmluZyB0aGUgdmFsdWUuCgogICAgICBUaGUgZGVzY3JpcHRpb24gc3RhdGVtZW50IG9mIHRoZSBwYXJlbnQgc3RhdGVtZW50IFNIT1VMRCBjb250YWluCiAgICAgIHRoZSBsYWJlbCAnSW5pdGlhbC12YWx1ZTogJyBmb2xsb3dlZCBieSB0aGUgdGV4dCBmcm9tIHRoZSBhcmd1bWVudC4KCiAgICAgIFRoZSBzdGF0ZW1lbnQgTVVTVCBvbmx5IGJlIGEgc3Vic3RhdGVtZW50IG9mIGEgbGVhZiBvciBsZWFmLWxpc3QuCiAgICAgIFRoZSBzdGF0ZW1lbnQgTVVTVCBOT1QgYmUgcHJlc2VudCBpZiB0aGUgbGVhZiBvciB0aGUgbGVhZi1saXN0IAogICAgICBoYXMgYSBkZWZhdWx0IHN0YXRlbWVudCBvciB0aGUgdHlwZSB1c2VkIGZvciB0aGUgZGF0YSBub2RlIAogICAgICBoYXMgYSBkZWZhdWx0IHZhbHVlLgogICAgICBUaGUgc3RhdGVtZW50IE1VU1QgTk9UIGJlIHVzZWQgZm9yIGNvbmZpZz1mYWxzZSBkYXRhIG9yIGluIGFuIAogICAgICBhY3Rpb24sIHJwYyBvciBub3RpZmljYXRpb24uCiAgICAgIFplcm8gb3Igb25lIGluaXRpYWwtdmFsdWUgc3RhdGVtZW50cyBhcmUgYWxsb3dlZCBmb3IgYSBsZWFmIHBhcmVudAogICAgICBzdGF0ZW1lbnQuIFplcm8gb3IgbW9yZSBpbml0aWFsLXZhbHVlIHN0YXRlbWVudHMgYXJlIGFsbG93ZWQgZm9yIGEKICAgICAgbGVhZi1saXN0IHBhcmVudCBzdGF0ZW1lbnQuIElmIHRoZSBsZWFmLWxpc3QgaXMgb3JkZXJlZC1ieSB1c2VyLCB0aGUKICAgICAgaW5pdGlhbCB2YWx1ZXMgYXJlIHN0b3JlZCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIgaW4gdGhlIFlBTkcgZGVmaW5pdGlvbi4KICAgICAgTk8gc3Vic3RhdGVtZW50cyBhcmUgYWxsb3dlZC4KCiAgICAgIEFsd2F5cyBjb25zaWRlciB1c2luZyBhIFlBTkctZGVmYXVsdCBzdGF0ZW1lbnQgaW5zdGVhZC4KCiAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGUgaW5pdGlhbC12YWx1ZSBpcyBhIG5vbi1iYWNrd2FyZHMtY29tcGF0aWJsZSBjaGFuZ2UuCgogICAgICBUaGUgYXJndW1lbnQgc3BlY2lmaWVzIGEgc2luZ2xlIGluaXRpYWwgdmFsdWUgZm9yIGEgbGVhZiBvciBsZWFmLWxpc3QuCiAgICAgIFRoZSB2YWx1ZSBNVVNUIGJlIHBhcnQgb2YgdGhlIHZhbHVlc3BhY2Ugb2YgdGhlIGxlYWYvbGVhZi1saXN0LgogICAgICBJdCBmb2xsb3dzIHRoZSBzYW1lIHJ1bGVzIGFzIHRoZSBhcmd1bWVudCBvZiB0aGUgZGVmYXVsdCBzdGF0ZW1lbnQuIjsKCiAgICBhcmd1bWVudCAiaW5pdGlhbC12YWx1ZSI7CiAgfQp9
-_3gpp-common-yang-types        urn:3gpp:sa5:_3gpp-common-yang-types    \N      []      2022-07-26      bW9kdWxlIF8zZ3BwLWNvbW1vbi15YW5nLXR5cGVzIHsKICB5YW5nLXZlcnNpb24gMS4xOwogIG5hbWVzcGFjZSAidXJuOjNncHA6c2E1Ol8zZ3BwLWNvbW1vbi15YW5nLXR5cGVzIjsKICBwcmVmaXggInR5cGVzM2dwcCI7CiAgCiAgaW1wb3J0IGlldGYtaW5ldC10eXBlcyB7IHByZWZpeCBpbmV0OyB9CiAgaW1wb3J0IGlldGYteWFuZy10eXBlcyB7IHByZWZpeCB5YW5nOyB9CgogIG9yZ2FuaXphdGlvbiAiM0dQUCBTQTUiOwogIGNvbnRhY3QgImh0dHBzOi8vd3d3LjNncHAub3JnL0R5bmFSZXBvcnQvVFNHLVdHLS1TNS0tb2ZmaWNpYWxzLmh0bT9JdGVtaWQ9NDY0IjsKICBkZXNjcmlwdGlvbiAiVGhlIG1vZGVsIGRlZmluZXMgYSBZQU5HIG1hcHBpbmcgb2YgdGhlIHRvcCBsZXZlbCAKICAgIGluZm9ybWF0aW9uIGNsYXNzZXMgdXNlZCBmb3IgbWFuYWdlbWVudCBvZiA1RyBuZXR3b3JrcyBhbmQgCiAgICBuZXR3b3JrIHNsaWNpbmcuIjsKICByZWZlcmVuY2UgIjNHUFAgVFMgMjguNjIzIjsKCiAgcmV2aXNpb24gMjAyMi0wNy0yNiB7IHJlZmVyZW5jZSBDUi0wMTgwIDsgfQogIHJldmlzaW9uIDIwMjItMDItMDkgeyByZWZlcmVuY2UgIkNSLTAxNDQiOyB9CiAgcmV2aXNpb24gMjAyMS0xMS0wMSB7IHJlZmVyZW5jZSAiQ1ItMDE0MSI7IH0KICAKICByZXZpc2lvbiAyMDIxLTA5LTMwIHsKICAgIGRlc2NyaXB0aW9uICJBZGRlZCBMb25naXR1ZGUsIExhdGl0dWRlLCBUZW50aE9mRGVncmVlcywgT25PZmYuIjsKICAgIHJlZmVyZW5jZSAiQ1ItMDEzOCI7CiAgfQoKICByZXZpc2lvbiAyMDIwLTExLTA2IHsKICAgIGRlc2NyaXB0aW9uICJSZW1vdmVkIGluY29ycmVjdCBTLU5TU0FJIGRlZmluaXRpb25zLiI7CiAgICByZWZlcmVuY2UgIkNSLTAxMTgiOwogIH0KCiAgcmV2aXNpb24gMjAyMC0wMy0xMCB7CiAgICBkZXNjcmlwdGlvbiAiUmVtb3ZlZCBmYXVsdHkgd2hlbiBzdGF0ZW1lbnRzLiI7CiAgICByZWZlcmVuY2UgIlNQLTIwMDIyOSI7CiAgfQogCiAgcmV2aXNpb24gMjAxOS0xMC0yNSB7CiAgICBkZXNjcmlwdGlvbiAiQWRkZWQgTWFuYWdlZE5GUHJvZmlsZS4iOwogICAgcmVmZXJlbmNlICJTNS0xOTQ0NTciOwogIH0KCiAgcmV2aXNpb24gMjAxOS0xMC0xNiB7CiAgICBkZXNjcmlwdGlvbiAiQWRkZWQgU0FQIGFuZCB1c2FnZVN0YXRlLiI7CiAgICByZWZlcmVuY2UgIlM1LTE5MzUxOCI7CiAgfQoKICByZXZpc2lvbiAyMDE5LTA2LTIzIHsKICAgIHJlZmVyZW5jZSAgIkluaXRpYWwgdmVyc2lvbi4iOwogIH0KCiAgdHlwZWRlZiBFbmFibGVkRGlzYWJsZWQgewogICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgIGVudW0gRElTQUJMRUQgOwogICAgICBlbnVtIEVOQUJMRUQgOwogICAgfQogIH0KICAKICBncm91cGluZyBQcm9jZXNzTW9uaXRvciB7CiAgICBkZXNjcmlwdGlvbiAiUHJvdmlkZXMgYXR0cmlidXRlcyB0byBtb25pdG9yIHRoZSBwcm9ncmVzcyBvZiBwcm9jZXNzZXMgCiAgICAgIHdpdGggc3BlY2lmaWMgcHVycG9zZSBhbmQgbGltaXRlZCBsaWZldGltZSBydW5uaW5nIG9uIE1uUyBwcm9kdWNlcnMuIAogICAgICBJdCBtYXkgYmUgdXNlZCBhcyBkYXRhIHR5cGUgZm9yIGRlZGljYXRlZCBwcm9ncmVzcyBtb25pdG9yIGF0dHJpYnV0ZXMgCiAgICAgIHdoZW4gc3BlY2lmeWluZyB0aGUgbWFuYWdlbWVudCByZXByZXNlbnRhdGlvbiBvZiB0aGVzZSBwcm9jZXNzZXMuIAogICAgICBUaGUgYXR0cmlidXRlcyBpbiB0aGlzIGNsYXVzZSBhcmUgZGVmaW5lZCBpbiBhIGdlbmVyaWMgd2F5LiAKICAgICAgRm9yIHNvbWUgYXR0cmlidXRlcyBzcGVjaWFsaXNhdGlvbnMgbWF5IGJlIHByb3ZpZGVkIHdoZW4gc3BlY2lmeWluZyBhIAogICAgICBjb25jcmV0ZSBwcm9jZXNzIHJlcHJlc2VudGF0aW9uLgoKICAgICAgSWYgYSBtYW5hZ2VtZW50IG9wZXJhdGlvbiBvbiBzb21lIElPQ3MgdHJpZ2dlcnMgYW4gYXNzb2NpYXRlZCAKICAgICAgYXN5bmNocm9ub3VzIHByb2Nlc3MgKHdob3NlIHByb2dyZXNzIHNoYWxsIGJlIG1vbml0b3JlZCksIHRoaXMgc2hvdWxkIAogICAgICBhbHNvIHJlc3VsdCBpbiBjcmVhdGluZyBhbiBhdHRyaWJ1dGUgbmFtZWQgJ3Byb2Nlc3NNb25pdG9yJyAob2YgdHlwZSAKICAgICAgJ1Byb2Nlc3NNb25pdG9yJykgaW4gdGhlc2UgSU9DKHMpLiBUaGUgcHJvY2Vzc01vbml0b3IgYXR0cmlidXRlIG1heSBiZSAKICAgICAgYWNjb21wYW5pZWQgYnkgdXNlLWNhc2Ugc3BlY2lmaWMgYWRkaXRpb25hbCBkYXRhIGl0ZW1zLgoKICAgICAgVGhlIHByb2dyZXNzIG9mIHRoZSBwcm9jZXNzIGlzIGRlc2NyaWJlZCBieSB0aGUgJ3N0YXR1cycgYW5kIAogICAgICAncHJvZ3Jlc3NQZXJjZW50YWdlJyBhdHRyaWJ1dGVzLiBBZGRpdGlvbmFsIHRleHR1YWwgcXVhbGlmaWNhdGlvbnMgZm9yIAogICAgICB0aGUgJ3N0YXR1cycgYXR0cmlidXRlIG1heSBiZSBwcm92aWRlZCBieSB0aGUgJ3Byb2dyZXNzU3RhdGVJbmZvJyBhbmQgCiAgICAgICdyZXN1bHRTdGF0ZUluZm8nIGF0dHJpYnV0ZXMuCgogICAgICBXaGVuIHRoZSBwcm9jZXNzIGlzIGluc3RhbnRpYXRlZCwgdGhlICdzdGF0dXMnIGlzIHNldCB0byAnTk9UX1JVTk5JTkcnIAogICAgICBhbmQgdGhlICdwcm9ncmVzc1BlcmNlbnRhZ2UnIHRvICcwJy4gVGhlIE1uUyBwcm9kdWNlciBkZWNpZGVzIHdoZW4gdG8gCiAgICAgIHN0YXJ0IGV4ZWN1dGluZyB0aGUgcHJvY2VzcyBhbmQgdG8gdHJhbnNpdGlvbiBpbnRvIHRoZSAnUlVOTklORycgc3RhdGUuIAogICAgICBUaGlzIHRpbWUgaXMgY2FwdHVyZWQgaW4gdGhlICdzdGFydFRpbWUnIGF0dHJpYnV0ZS4gQWx0ZXJuYXRpdmVseSwgdGhlIAogICAgICBwcm9jZXNzIG1heSBzdGFydCB0byBleGVjdXRlIGRpcmVjdGx5IHVwb24gaXRzIGluc3RhbnRpYXRpb24uIE9uZSAKICAgICAgYWx0ZXJuYXRpdmUgbXVzdCBiZSBzZWxlY3RlZCB3aGVuIHVzaW5nIHRoaXMgZGF0YSB0eXBlLgoKICAgICAgRHVyaW5nIHRoZSAnUlVOTklORycgc3RhdGUgdGhlICdwcm9ncmVzc1BlcmNlbnRhZ2UnIGF0dHJpYnV0ZSBtYXkgYmUgCiAgICAgIHJlcGVhdGVkbHkgdXBkYXRlZC4gVGhlIGV4YWN0IHNlbWFudGljIG9mIHRoaXMgYXR0cmlidXRlIGlzIHN1YmplY3QgdG8gCiAgICAgIGZ1cnRoZXIgc3BlY2lhbGlzYXRpb24uIFRoZSAncHJvZ3Jlc3NJbmZvJyBhdHRyaWJ1dGUgbWF5IGJlIHVzZWQgdG8gCiAgICAgIHByb3ZpZGUgYWRkaXRpb25hbCB0ZXh0dWFsIGluZm9ybWF0aW9uIGluIHRoZSAnTk9UX1JVTk5JTkcnLCAnQ0FOQ0VMTElORycgCiAgICAgIGFuZCAnUlVOTklORycgc3RhdGVzLiBGdXJ0aGVyIHNwZWNpYWxpc2F0aW9uIG9mIAogICAgICAncHJvZ3Jlc3NTdGF0ZUluZm8nIG1heSBiZSBwcm92aWRlZCB3aGVyZSB0aGlzIGRhdGEgdHlwZSBpcyAKICAgICAgdXNlZC4KCiAgICAgIFVwb24gc3VjY2Vzc2Z1bCBjb21wbGV0aW9uIG9mIHRoZSBwcm9jZXNzLCB0aGUgJ3N0YXR1cycgYXR0cmlidXRlIGlzIHNldCAKICAgICAgdG8gJ0ZJTklTSEVEJywgdGhlICdwcm9ncmVzc1BlcmNlbnRhZ2UnIHRvIDEwMCUuIFRoZSB0aW1lIGlzIGNhcHR1cmVkIGluIAogICAgICB0aGUgJ2VuZFRpbWUnIGF0dHJpYnV0ZS4gQWRkaXRpb25hbCB0ZXh0dWFsIGluZm9ybWF0aW9uIG1heSBiZSBwcm92aWRlZCAKICAgICAgaW4gdGhlICdyZXN1bHRTdGF0ZUluZm8nIGF0dHJpYnV0ZS4gVGhlIHR5cGUgb2YgCiAgICAgICdyZXN1bHRTdGF0ZUluZm8nIGluIHRoaXMgZGF0YSB0eXBlIGRlZmluaXRpb24gaXMgJ1N0cmluZycuIAogICAgICBGdXJ0aGVyIHNwZWNpYWxpc2F0aW9uIG9mICdyZXN1bHRTdGF0ZUluZm8nIG1heSBiZSBwcm92aWRlZCAKICAgICAgd2hlcmUgdGhpcyBkYXRhIHR5cGUgaXMgdXNlZC4KCiAgICAgIEluIGNhc2UgdGhlIHByb2Nlc3MgZmFpbHMgdG8gY29tcGxldGUgc3VjY2Vzc2Z1bGx5LCB0aGUgJ3N0YXR1cycgCiAgICAgIGF0dHJpYnV0ZSBpcyBzZXQgdG8gJ0ZBSUxFRCcgb3IgJ1BBUlRJQUxMWV9GQUlMRUQnLCB0aGUgY3VycmVudCB2YWx1ZSBvZiAKICAgICAgJ3Byb2dyZXNzUGVyY2VudGFnZScgaXMgZnJvemVuLCBhbmQgdGhlIHRpbWUgY2FwdHVyZWQgaW4gJ2VuZFRpbWUnLiBUaGUgCiAgICAgICdyZXN1bHRTdGF0ZUluZm8nIHNwZWNpZmllcyB0aGUgcmVhc29uIGZvciB0aGUgZmFpbHVyZS4gCiAgICAgIFNwZWNpZmljIGZhaWx1cmUgcmVhc29ucyBtYXkgYmUgc3BlY2lmaWVkIHdoZXJlIHRoZSBkYXRhIHR5cGUgZGVmaW5lZCBpbiAKICAgICAgdGhpcyBjbGF1c2UgaXMgdXNlZC4gVGhlIGV4YWN0IHNlbWFudGljIG9mIGZhaWx1cmUgbWF5IGJlIHN1YmplY3QgZm9yIAogICAgICBmdXJ0aGVyIHNwZWNpYWxpc2F0aW9uIGFzIHdlbGwuCgogICAgICBJbiBjYXNlIHRoZSBwcm9jZXNzIGlzIGNhbmNlbGxlZCwgdGhlICdzdGF0dXMnIGF0dHJpYnV0ZSBpcyBmaXJzdCBzZXQgdG8gCiAgICAgICdDQU5DRUxMSU5HJyBhbmQgd2hlbiB0aGUgcHJvY2VzcyBpcyByZWFsbHkgY2FuY2VsbGVkIHRoZW4gdG8gJ0NBTkNFTExFRCcuIAogICAgICBUaGUgdHJhbnNpdGlvbiB0byAnQ0FOQ0VMTEVEJyBpcyBjYXB0dXJlZCBpbiB0aGUgJ2VuZFRpbWUnIGF0dHJpYnV0ZS4gCiAgICAgIFRoZSB2YWx1ZSBvZiAncHJvZ3Jlc3NQZXJjZW50YWdlJyBpcyBmcm96ZW4uIEFkZGl0aW9uYWwgdGV4dHVhbCAKICAgICAgaW5mb3JtYXRpb24gbWF5IGJlIHByb3ZpZGVkIGluIHRoZSAncmVzdWx0U3RhdGVJbmZvJyBhdHRyaWJ1dGUuCgogICAgICBUaGUgJ3Jlc3VsdFN0YXRlSW5mbycgYXR0cmlidXRlIGlzIHByb3ZpZGVkIG9ubHkgZm9yIGFkZGl0aW9uYWwgdGV4dHVhbCAKICAgICAgcXVhbGlmaWNhdGlvbiBvZiB0aGUgc3RhdGVzICdGSU5JU0hFRCcsICdGQUlMRUQnLCAnUEFSVElBTExZX0ZBSUxFRCcgb3IgCiAgICAgICdDQU5DRUxMRUQnLiBJdCBzaGFsbCBub3QgYmUgdXNlZCBmb3IgbWFraW5nIHRoZSBvdXRjb21lLCB0aGF0IHRoZSAKICAgICAgcHJvY2VzcyBtYXkgcHJvZHVjZSBpbiBjYXNlIG9mIHN1Y2Nlc3MsIGF2YWlsYWJsZS4KCiAgICAgIFRoZSBwcm9jZXNzIG1heSBoYXZlIHRvIGJlIGNvbXBsZXRlZCB3aXRoaW4gYSBjZXJ0YWluIHRpbWUgYWZ0ZXIgaXRzIAogICAgICBjcmVhdGlvbiwgZm9yIGV4YW1wbGUgYmVjYXVzZSByZXF1aXJlZCBkYXRhIG1heSBub3QgYmUgYXZhaWxhYmxlIGFueSAKICAgICAgbW9yZSBhZnRlciBhIGNlcnRhaW4gdGltZSwgb3IgdGhlIHByb2Nlc3Mgb3V0Y29tZSBpcyBuZWVkZWQgdW50aWwgYSAKICAgICAgY2VydGFpbiB0aW1lIGFuZCB3aGVuIG5vdCBwcm92aWRlZCBieSB0aGlzIHRpbWUgaXMgbm90IG5lZWRlZCBhbnkgbW9yZS4gCiAgICAgIFRoZSB0aW1lIHVudGlsIHRoZSBNblMgcHJvZHVjZXIgYXV0b21hdGljYWxseSBjYW5jZWxzIHRoZSBwcm9jZXNzIGlzIAogICAgICBpbmRpY2F0ZWQgYnkgdGhlICd0aW1lcicgYXR0cmlidXRlLiI7CiAgICAgIAogICAgbGVhZiBpZCB7CiAgICAgIHR5cGUgc3RyaW5nOwogICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgZGVzY3JpcHRpb24gIklkIG9mIHRoZSBwcm9jZXNzLiBJdCBpcyB1bmlxdWUgd2l0aGluIGEgc2luZ2xlIAogICAgICAgIG11bHRpdmFsdWUgYXR0cmlidXRlIG9mIHR5cGUgUHJvY2Vzc01vbml0b3IuIjsKICAgIH0KICAgIAogICAgbGVhZiBzdGF0dXMgeyAKICAgICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgICAgZW51bSBOT1RfU1RBUlRFRCA7CiAgICAgICAgZW51bSBSVU5OSU5HIDsKICAgICAgICBlbnVtIENBTkNFTExJTkcgOwogICAgICAgIGVudW0gRklOSVNIRUQgOwogICAgICAgIGVudW0gRkFJTEVEIDsKICAgICAgICBlbnVtIFBBUlRJQUxMWV9GQUlMRUQgOwogICAgICAgIGVudW0gQ0FOQ0VMTEVEIDsKICAgICAgfQogICAgICBjb25maWcgZmFsc2U7CiAgICAgIGRlZmF1bHQgIFJVTk5JTkc7CiAgICAgIGRlc2NyaXB0aW9uICJSZXByZXNlbnRzIHRoZSBzdGF0dXMgb2YgdGhlIGFzc29jaWF0ZWQgcHJvY2VzcywgCiAgICAgICAgd2hldGhlciBpdCBmYWlscywgc3VjY2VlZHMgZXRjLiAKICAgICAgICBJdCBkb2VzIG5vdCByZXByZXNlbnQgdGhlIHJldHVybmVkIHZhbHVlcyBvZiBhIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCAKICAgICAgICBwcm9jZXNzLiAiOwogICAgfQoKICAgIGxlYWYgcHJvZ3Jlc3NQZXJjZW50YWdlIHsKICAgICAgdHlwZSB1aW50OCB7CiAgICAgICAgcmFuZ2UgMC4uMTAwOwogICAgICB9CiAgICAgIGNvbmZpZyBmYWxzZTsKICAgICAgZGVzY3JpcHRpb24gIlByb2dyZXNzIG9mIHRoZSBhc3NvY2lhdGVkIHByb2Nlc3MgYXMgcGVyY2VudGFnZSI7CiAgICB9CgogICAgbGVhZi1saXN0IHByb2dyZXNzU3RhdGVJbmZvIHsKICAgICAgdHlwZSBzdHJpbmc7CiAgICAgIGNvbmZpZyBmYWxzZTsKICAgICAgZGVzY3JpcHRpb24gIkFkZGl0aW9uYWwgdGV4dHVhbCBxdWFsaWZpY2F0aW9uIG9mIHRoZSBzdGF0ZXMgCiAgICAgICAgJ05PVF9TVEFSVEVEJywgJ0NBTkNFTExJTkcnIGFuZCAnUlVOTklORycuCgogICAgICAgIEZvciBzcGVjaWZpYyBwcm9jZXNzZXMsIHNwZWNpZmljIHdlbGwtZGVmaW5lZCBzdHJpbmdzIChlLmcuIHN0cmluZyAKICAgICAgICBwYXR0ZXJucyBvciBlbnVtcykgbWF5IGJlIGRlZmluZWQgYXMgYSBzcGVjaWFsaXNhdGlvbi4iOwogICAgfQoKICAgIGxlYWYgcmVzdWx0U3RhdGVJbmZvIHsKICAgICAgdHlwZSBzdHJpbmc7CiAgICAgIGNvbmZpZyBmYWxzZTsKICAgICAgZGVzY3JpcHRpb24gIkFkZGl0aW9uYWwgdGV4dHVhbCBxdWFsaWZpY2F0aW9uIG9mIHRoZSBzdGF0ZXMgCiAgICAgICAgJ0ZJTklTSEVEJywgJ0ZBSUxFRCcsICdQQVJUSUFMTFlfRkFJTEVEIGFuZCAnQ0FOQ0VMTEVEJy4gCiAgICAgICAgRm9yIGV4YW1wbGUsIGluIHRoZSAnRkFJTEVEJyBvciAnUEFSVElBTExZX0ZBSUxFRCcgc3RhdGUgdGhpcyAKICAgICAgICBhdHRyaWJ1dGUgbWF5IGJlIHVzZWQgdG8gcHJvdmlkZSBlcnJvciByZWFzb25zLgoKICAgICAgICBUaGlzIGF0dHJpYnV0ZSBzaGFsbCBub3QgYmUgdXNlZCB0byBtYWtlIHRoZSBvdXRjb21lIG9mIHRoZSBwcm9jZXNzIAogICAgICAgIGF2YWlsYWJsZSBmb3IgcmV0cmlldmFsLCBpZiBhbnkuIEZvciB0aGlzIHB1cnBvc2UsIGRlZGljYXRlZCAKICAgICAgICBhdHRyaWJ1dGVzIHNoYWxsIGJlIHNwZWNpZmllZCB3aGVuIHNwZWNpZnlpbmcgdGhlIHJlcHJlc2VudGF0aW9uIG9mIAogICAgICAgIGEgc3BlY2lmaWMgcHJvY2Vzcy4KCiAgICAgICAgRm9yIHNwZWNpZmljIHByb2Nlc3Nlcywgc3BlY2lmaWMgd2VsbC1kZWZpbmVkIHN0cmluZ3MgKGUuZy4gc3RyaW5nIAogICAgICAgIHBhdHRlcm5zIG9yIGVudW1zKSBtYXkgYmUgZGVmaW5lZCBhcyBhIHNwZWNpYWxpc2F0aW9uLiI7CiAgICB9CgogICAgbGVhZiBzdGFydFRpbWUgewogICAgICB0eXBlIHlhbmc6ZGF0ZS1hbmQtdGltZTsKICAgICAgY29uZmlnIGZhbHNlOwogICAgICBkZXNjcmlwdGlvbiAiU3RhcnQgdGltZSBvZiB0aGUgYXNzb2NpYXRlZCBwcm9jZXNzLCBpLmUuIHRoZSB0aW1lIHdoZW4gdGhlIAogICAgICAgIHN0YXR1cyBjaGFuZ2VkIGZyb20gJ05PVF9TVEFSVEVEJyB0byAnUlVOTklORycuIjsKICAgIH0KCiAgICBsZWFmIGVuZFRpbWUgewogICAgICB0eXBlIHlhbmc6ZGF0ZS1hbmQtdGltZTsKICAgICAgY29uZmlnIGZhbHNlOwogICAgICBkZXNjcmlwdGlvbiAiRGF0ZSBhbmQgdGltZSB3aGVuIHN0YXR1cyBjaGFuZ2VkIHRvICdTVUNDRVNTJywgJ0NBTkNFTExFRCcsIAogICAgICAgICdGQUlMRUQnIG9yICdQQVJUSUFMTFlfRkFJTEVEJy4gCgogICAgICAgIElmIHRoZSB0aW1lIGlzIGluIHRoZSBmdXR1cmUsIGl0IGlzIHRoZSBlc3RpbWF0ZWQgdGltZSAKICAgICAgICB0aGUgcHJvY2VzcyB3aWxsIGVuZC4iOwogICAgfQoKICAgIGxlYWYgdGltZXIgewogICAgICB0eXBlIHVpbnQzMjsKICAgICAgdW5pdHMgbWludXRlczsKICAgICAgZGVzY3JpcHRpb24gIlRpbWUgdW50aWwgdGhlIGFzc29jaWF0ZWQgcHJvY2VzcyBpcyBhdXRvbWF0aWNhbGx5IGNhbmNlbGxlZC4KICAgICAgICBJZiBzZXQsIHRoZSBzeXN0ZW0gZGVjcmVhc2VzIHRoZSB0aW1lciB3aXRoIHRpbWUuIFdoZW4gaXQgcmVhY2hlcyB6ZXJvIAogICAgICAgIHRoZSBjYW5jZWxsYXRpb24gb2YgdGhlIGFzc29jaWF0ZWQgcHJvY2VzcyBpcyBpbml0aWF0ZWQgYnkgdGhlIAogICAgICAgIE1uU19Qcm9kdWNlci4gCiAgICAgICAgSWYgbm90IHNldCwgdGhlcmUgaXMgbm8gdGltZSBsaW1pdCBmb3IgdGhlIHByb2Nlc3MuCiAgICAgICAgCiAgICAgICAgT25jZSB0aGUgdGltZXIgaXMgc2V0LCB0aGUgY29uc3VtZXIgY2FuIG5vdCBjaGFuZ2UgaXQgYW55bW9yZS4gCiAgICAgICAgSWYgdGhlIGNvbnN1bWVyIGhhcyBub3Qgc2V0IHRoZSB0aW1lciB0aGUgTW5TIFByb2R1Y2VyIG1heSBzZXQgaXQuIjsKICAgIH0KICB9CiAgCiAgdHlwZWRlZiBUZW50aE9mRGVncmVlcyB7IAogICAgdHlwZSB1aW50MTYgeyAKICAgICAgcmFuZ2UgMC4uMzYwMDsgCiAgICB9CiAgICB1bml0cyAiMC4xIGRlZ3JlZXMiOwogICAgZGVzY3JpcHRpb24gIkEgc2luZ2xlIGludGVncmFsIHZhbHVlIGNvcnJlc3BvbmRpbmcgdG8gYW4gYW5nbGUgaW4gZGVncmVlcyAKICAgICAgYmV0d2VlbiAwIGFuZCAzNjAgd2l0aCBhIHJlc29sdXRpb24gb2YgMC4xIGRlZ3JlZXMuIjsKICB9CgogIHR5cGVkZWYgTGF0aXR1ZGUgewogICAgdHlwZSBkZWNpbWFsNjQgewogICAgICBmcmFjdGlvbi1kaWdpdHMgNDsKICAgICAgcmFuZ2UgIi05MC4wMDAwLi4rOTAuMDAwMCI7IAogICAgfQogICAgZGVzY3JpcHRpb24gIkxhdGl0dWRlIHZhbHVlcyI7CiAgfQoKICB0eXBlZGVmIExvbmdpdHVkZSB7CiAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgIGZyYWN0aW9uLWRpZ2l0cyA0OwogICAgICByYW5nZSAiLTE4MC4wMDAwLi4rMTgwLjAwMDAiOyAKICAgIH0KICAgIGRlc2NyaXB0aW9uICJMb25naXR1ZGUgdmFsdWVzIjsKICB9CgogIHR5cGVkZWYgT25PZmYgewogICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgIGVudW0gT047CiAgICAgIGVudW0gT0ZGOwogICAgfQogIH0KICAKICAvLyBncm91cGluZyBNYW5hZ2VkTkZQcm9maWxlIHdpbGwgYmUgcmVtb3ZlZCBhcyBpdCBpcyAKICAvLyAgYmVpbmcgbW92ZWQgdG8gXzNncHAtNWdjLW5ybS1uZnByb2ZpbGUKICBncm91cGluZyBNYW5hZ2VkTkZQcm9maWxlIHsKICAgIGRlc2NyaXB0aW9uICJEZWZpbmVzIHByb2ZpbGUgZm9yIG1hbmFnZWQgTkYiOwogICAgcmVmZXJlbmNlICIzR1BQIFRTIDIzLjUwMSI7CiAgICAKICAgIGxlYWYgaWR4IHsgdHlwZSB1aW50MzIgOyB9CiAgICAKICAgIGxlYWYgbmZJbnN0YW5jZUlEIHsKICAgICAgY29uZmlnIGZhbHNlOwogICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgdHlwZSB5YW5nOnV1aWQgOwogICAgICBkZXNjcmlwdGlvbiAiVGhpcyBwYXJhbWV0ZXIgZGVmaW5lcyBwcm9maWxlIGZvciBtYW5hZ2VkIE5GLiAKICAgICAgICBUaGUgZm9ybWF0IG9mIHRoZSBORiBJbnN0YW5jZSBJRCBzaGFsbCBiZSBhIAogICAgICAgIFVuaXZlcnNhbGx5IFVuaXF1ZSBJZGVudGlmaWVyIChVVUlEKSB2ZXJzaW9uIDQsIAogICAgICAgIGFzIGRlc2NyaWJlZCBpbiBJRVRGIFJGQyA0MTIyICIgOwogICAgfQogICAgCiAgICBsZWFmLWxpc3QgbmZUeXBlIHsKICAgICAgY29uZmlnIGZhbHNlOwogICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgdHlwZSBOZlR5cGU7CiAgICAgIGRlc2NyaXB0aW9uICJUeXBlIG9mIHRoZSBOZXR3b3JrIEZ1bmN0aW9uIiA7CiAgICB9CiAgICAKICAgIGxlYWYgaG9zdEFkZHIgewogICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgdHlwZSBpbmV0Omhvc3QgOwogICAgICBkZXNjcmlwdGlvbiAiSG9zdCBhZGRyZXNzIG9mIGEgTkYiOwogICAgfQogICAgCiAgICBsZWFmIGF1dGh6SW5mbyB7CiAgICAgIHR5cGUgc3RyaW5nIDsKICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgTkYgU3BlY2lmaWMgU2VydmljZSBhdXRob3JpemF0aW9uIAogICAgICAgIGluZm9ybWF0aW9uLiBJdCBzaGFsbCBpbmNsdWRlIHRoZSBORiB0eXBlIChzKSBhbmQgTkYgcmVhbG1zL29yaWdpbnMgCiAgICAgICAgYWxsb3dlZCB0byBjb25zdW1lIE5GIFNlcnZpY2Uocykgb2YgTkYgU2VydmljZSBQcm9kdWNlci4iOwogICAgICByZWZlcmVuY2UgIlNlZSBUUyAyMy41MDEiIDsKICAgIH0KICAgIAogICAgbGVhZiBsb2NhdGlvbiB7CiAgICAgIHR5cGUgc3RyaW5nIDsKICAgICAgZGVzY3JpcHRpb24gIkluZm9ybWF0aW9uIGFib3V0IHRoZSBsb2NhdGlvbiBvZiB0aGUgTkYgaW5zdGFuY2UgCiAgICAgICAgKGUuZy4gZ2VvZ3JhcGhpYyBsb2NhdGlvbiwgZGF0YSBjZW50ZXIpIGRlZmluZWQgYnkgb3BlcmF0b3IiOwogICAgICByZWZlcmVuY2UgIlRTIDI5LjUxMCIgOwogICAgfQogICAgCiAgICBsZWFmIGNhcGFjaXR5IHsKICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgIHR5cGUgdWludDE2IDsKICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgc3RhdGljIGNhcGFjaXR5IGluZm9ybWF0aW9uIAogICAgICAgIGluIHRoZSByYW5nZSBvZiAwLTY1NTM1LCBleHByZXNzZWQgYXMgYSB3ZWlnaHQgcmVsYXRpdmUgdG8gb3RoZXIgCiAgICAgICAgTkYgaW5zdGFuY2VzIG9mIHRoZSBzYW1lIHR5cGU7IGlmIGNhcGFjaXR5IGlzIGFsc28gcHJlc2VudCBpbiB0aGUgCiAgICAgICAgbmZTZXJ2aWNlTGlzdCBwYXJhbWV0ZXJzLCB0aG9zZSB3aWxsIGhhdmUgcHJlY2VkZW5jZSBvdmVyIHRoaXMgdmFsdWUuIjsKICAgICAgcmVmZXJlbmNlICJUUyAyOS41MTAiIDsKICAgIH0KICAgICAgCiAgICBsZWFmIG5GU3J2R3JvdXBJZCB7CiAgICAgIHR5cGUgc3RyaW5nIDsKICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcGFyYW1ldGVyIGRlZmluZXMgaWRlbnRpdHkgb2YgdGhlIGdyb3VwIHRoYXQgaXMgCiAgICAgICAgc2VydmVkIGJ5IHRoZSBORiBpbnN0YW5jZS4KICAgICAgICBNYXkgYmUgY29uZmlnIGZhbHNlIG9yIHRydWUgZGVwZW5kaW5nIG9uIHRoZSBNYW5hZ2VkRnVuY3Rpb24uIAogICAgICAgIENvbmZpZz10cnVlIGZvciBVZHJpbmZvLiBDb25maWc9ZmFsc2UgZm9yIFVkbUluZm8gYW5kIEF1c2ZJbmZvLiAKICAgICAgICBTaGFsbCBiZSBwcmVzZW50IGlmIC4uL25mVHlwZSA9IFVETSBvciBBVVNGIG9yIFVEUi4gIjsKICAgICAgcmVmZXJlbmNlICJUUyAyOS41MTAiIDsKICAgIH0KICAgIAogICAgbGVhZi1saXN0IHN1cHBvcnRlZERhdGFTZXRJZHMgewogICAgICB0eXBlIGVudW1lcmF0aW9uIHsKICAgICAgICBlbnVtIFNVQlNDUklQVElPTjsKICAgICAgICBlbnVtIFBPTElDWTsKICAgICAgICBlbnVtIEVYUE9TVVJFOwogICAgICAgIGVudW0gQVBQTElDQVRJT047CiAgICAgIH0KICAgICAgZGVzY3JpcHRpb24gIkxpc3Qgb2Ygc3VwcG9ydGVkIGRhdGEgc2V0cyBpbiB0aGUgVURSIGluc3RhbmNlLiAKICAgICAgICBNYXkgYmUgcHJlc2VudCBpZiAuLi9uZlR5cGUgPSBVRFIiOwogICAgICByZWZlcmVuY2UgIlRTIDI5LjUxMCIgOwogICAgfQogICAgCiAgICBsZWFmLWxpc3Qgc21mU2VydmluZ0FyZWFzIHsKICAgICAgdHlwZSBzdHJpbmcgOwogICAgICBkZXNjcmlwdGlvbiAiRGVmaW5lcyB0aGUgU01GIHNlcnZpY2UgYXJlYShzKSB0aGUgVVBGIGNhbiBzZXJ2ZS4gCiAgICAgICAgU2hhbGwgYmUgcHJlc2VudCBpZiAuLi9uZlR5cGUgPSBVUEYiOwogICAgICByZWZlcmVuY2UgIlRTIDI5LjUxMCIgOwogICAgfQogICAgCiAgICBsZWFmIHByaW9yaXR5IHsKICAgICAgdHlwZSB1aW50MTY7CiAgICAgIGRlc2NyaXB0aW9uICJUaGlzIHBhcmFtZXRlciBkZWZpbmVzIFByaW9yaXR5IChyZWxhdGl2ZSB0byBvdGhlciBORnMgCiAgICAgICAgb2YgdGhlIHNhbWUgdHlwZSkgaW4gdGhlIHJhbmdlIG9mIDAtNjU1MzUsIHRvIGJlIHVzZWQgZm9yIE5GIHNlbGVjdGlvbjsgCiAgICAgICAgbG93ZXIgdmFsdWVzIGluZGljYXRlIGEgaGlnaGVyIHByaW9yaXR5LiBJZiBwcmlvcml0eSBpcyBhbHNvIHByZXNlbnQgCiAgICAgICAgaW4gdGhlIG5mU2VydmljZUxpc3QgcGFyYW1ldGVycywgdGhvc2Ugd2lsbCBoYXZlIHByZWNlZGVuY2Ugb3ZlciAKICAgICAgICB0aGlzIHZhbHVlLiBTaGFsbCBiZSBwcmVzZW50IGlmIC4uL25mVHlwZSA9IEFNRiAiOwogICAgICByZWZlcmVuY2UgIlRTIDI5LjUxMCIgOwogICAgfQogIH0KICAKICB0eXBlZGVmIHVzYWdlU3RhdGUgewogICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgIGVudW0gSURMRTsKICAgICAgZW51bSBBQ1RJVkU7CiAgICAgIGVudW0gQlVTWTsKICAgIH0KICAgIGRlc2NyaXB0aW9uICJJdCBkZXNjcmliZXMgd2hldGhlciBvciBub3QgdGhlIHJlc291cmNlIGlzIGFjdGl2ZWx5IGluIAogICAgICB1c2UgYXQgYSBzcGVjaWZpYyBpbnN0YW50LCBhbmQgaWYgc28sIHdoZXRoZXIgb3Igbm90IGl0IGhhcyBzcGFyZSAKICAgICAgY2FwYWNpdHkgZm9yIGFkZGl0aW9uYWwgdXNlcnMgYXQgdGhhdCBpbnN0YW50LiBUaGUgdmFsdWUgaXMgUkVBRC1PTkxZLiI7CiAgICByZWZlcmVuY2UgIklUVSBUIFJlY29tbWVuZGF0aW9uIFguNzMxIjsKICB9CiAgCiAgZ3JvdXBpbmcgU0FQIHsKICAgIGxlYWYgaG9zdCB7CiAgICAgIHR5cGUgaW5ldDpob3N0OwogICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgIH0KICAgIGxlYWYgcG9ydCB7CiAgICAgIHR5cGUgaW5ldDpwb3J0LW51bWJlcjsKICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICB9CiAgICBkZXNjcmlwdGlvbiAiU2VydmljZSBhY2Nlc3MgcG9pbnQuIjsKICAgIHJlZmVyZW5jZSAiVFMgMjguNjIyIjsKICB9CiAgCiAgdHlwZWRlZiBNY2MgewogICAgZGVzY3JpcHRpb24gIlRoZSBtb2JpbGUgY291bnRyeSBjb2RlIGNvbnNpc3RzIG9mIHRocmVlIGRlY2ltYWwgZGlnaXRzLCAKICAgICAgVGhlIGZpcnN0IGRpZ2l0IG9mIHRoZSBtb2JpbGUgY291bnRyeSBjb2RlIGlkZW50aWZpZXMgdGhlIGdlb2dyYXBoaWMgCiAgICAgIHJlZ2lvbiAodGhlIGRpZ2l0cyAxIGFuZCA4IGFyZSBub3QgdXNlZCk6IjsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnWzAyLTc5XVswLTldWzAtOV0nOwogICAgfQogICAgcmVmZXJlbmNlICIzR1BQIFRTIDIzLjAwMyBzdWJjbGF1c2UgMi4yIGFuZCAxMi4xIjsKICB9CgogIHR5cGVkZWYgTW5jIHsKICAgIGRlc2NyaXB0aW9uICJUaGUgbW9iaWxlIG5ldHdvcmsgY29kZSBjb25zaXN0cyBvZiB0d28gb3IgdGhyZWUgCiAgICAgIGRlY2ltYWwgZGlnaXRzIChmb3IgZXhhbXBsZTogTU5DIG9mIDAwMSBpcyBub3QgdGhlIHNhbWUgYXMgTU5DIG9mIDAxKSI7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4gJ1swLTldWzAtOV1bMC05XXxbMC05XVswLTldJzsKICAgIH0KICAgIHJlZmVyZW5jZSAiM0dQUCBUUyAyMy4wMDMgc3ViY2xhdXNlIDIuMiBhbmQgMTIuMSI7CiAgfQoKICBncm91cGluZyBQTE1OSWQgewogICAgbGVhZiBtY2MgewogICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgdHlwZSBNY2M7CiAgICB9CiAgICBsZWFmIG1uYyB7CiAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICB0eXBlIE1uYzsKICAgIH0KICAgIHJlZmVyZW5jZSAiVFMgMjMuNjU4IjsKICB9CiAgCiAgdHlwZWRlZiBOY2kgewogICAgZGVzY3JpcHRpb24gIk5SIENlbGwgSWRlbnRpdHkuIFRoZSBOQ0kgc2hhbGwgYmUgb2YgZml4ZWQgbGVuZ3RoIG9mIDM2IGJpdHMgCiAgICAgIGFuZCBzaGFsbCBiZSBjb2RlZCB1c2luZyBmdWxsIGhleGFkZWNpbWFsIHJlcHJlc2VudGF0aW9uLiAKICAgICAgVGhlIGV4YWN0IGNvZGluZyBvZiB0aGUgTkNJIGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiBlYWNoIFBMTU4gb3BlcmF0b3IiOwogICAgcmVmZXJlbmNlICJUUyAyMy4wMDMiOwogICAgdHlwZSB1bmlvbiB7CiAgICAgIHR5cGUgc3RyaW5nIHsKICAgICAgICBsZW5ndGggMzY7CiAgICAgICAgcGF0dGVybiAnWzAxXSsnOwogICAgICB9CiAgICAgIHR5cGUgc3RyaW5nIHsKICAgICAgICBsZW5ndGggOTsKICAgICAgICBwYXR0ZXJuICdbYS1mQS1GMC05XSonOwogICAgICB9CiAgICB9CiAgfQogICAgCiAgdHlwZWRlZiBPcGVyYXRpb25hbFN0YXRlIHsKICAgIHJlZmVyZW5jZSAiM0dQUCBUUyAyOC42MjUgYW5kIElUVS1UIFguNzMxIjsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIERJU0FCTEVEIHsKICAgICAgICB2YWx1ZSAwOwogICAgICAgIGRlc2NyaXB0aW9uICJUaGUgcmVzb3VyY2UgaXMgdG90YWxseSBpbm9wZXJhYmxlLiI7CiAgICAgIH0KCiAgICAgIGVudW0gRU5BQkxFRCB7CiAgICAgICAgdmFsdWUgMTsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIHJlc291cmNlIGlzIHBhcnRpYWxseSBvciBmdWxseSBvcGVyYWJsZS4iOwogICAgICB9CgogICAgfQogIH0KICAKICB0eXBlZGVmIEJhc2ljQWRtaW5pc3RyYXRpdmVTdGF0ZSB7CiAgICByZWZlcmVuY2UgIjNHUFAgVFMgMjguNjI1IGFuZCBJVFUtVCBYLjczMSI7CiAgICB0eXBlIGVudW1lcmF0aW9uIHsKICAgICAgZW51bSBMT0NLRUQgewogICAgICAgIHZhbHVlIDA7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoZSByZXNvdXJjZSBpcyBhZG1pbmlzdHJhdGl2ZWx5IHByb2hpYml0ZWQgZnJvbSBwZXJmb3JtaW5nCiAgICAgICAgICAgICAgICAgc2VydmljZXMgZm9yIGl0cyB1c2Vycy4iOwogICAgICB9CgogICAgICBlbnVtIFVOTE9DS0VEIHsKICAgICAgICB2YWx1ZSAxOwogICAgICAgIGRlc2NyaXB0aW9uICJUaGUgcmVzb3VyY2UgaXMgYWRtaW5pc3RyYXRpdmVseSBwZXJtaXR0ZWQgdG8gcGVyZm9ybQogICAgICAgICAgc2VydmljZXMgZm9yIGl0cyB1c2Vycy4gVGhpcyBpcyBpbmRlcGVuZGVudCBvZiBpdHMgaW5oZXJlbnQKICAgICAgICAgIG9wZXJhYmlsaXR5LiI7CiAgICAgIH0KICAgIH0KICB9CiAgCiAgdHlwZWRlZiBBZG1pbmlzdHJhdGl2ZVN0YXRlIHsKICAgIHJlZmVyZW5jZSAiM0dQUCBUUyAyOC42MjUgYW5kIElUVS1UIFguNzMxIjsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIExPQ0tFRCB7CiAgICAgICAgdmFsdWUgMDsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIHJlc291cmNlIGlzIGFkbWluaXN0cmF0aXZlbHkgcHJvaGliaXRlZCBmcm9tIHBlcmZvcm1pbmcKICAgICAgICAgICAgICAgICBzZXJ2aWNlcyBmb3IgaXRzIHVzZXJzLiI7CiAgICAgIH0KCiAgICAgIGVudW0gVU5MT0NLRUQgewogICAgICAgIHZhbHVlIDE7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoZSByZXNvdXJjZSBpcyBhZG1pbmlzdHJhdGl2ZWx5IHBlcm1pdHRlZCB0byBwZXJmb3JtCiAgICAgICAgICBzZXJ2aWNlcyBmb3IgaXRzIHVzZXJzLiBUaGlzIGlzIGluZGVwZW5kZW50IG9mIGl0cyBpbmhlcmVudAogICAgICAgICAgb3BlcmFiaWxpdHkuIjsKICAgICAgfQoKICAgICAgZW51bSBTSFVUVElOR0RPV04gewogICAgICAgIHZhbHVlIDI7CiAgICAgICAgZGVzY3JpcHRpb24gIlVzZSBvZiB0aGUgcmVzb3VyY2UgaXMgYWRtaW5pc3RyYXRpdmVseSBwZXJtaXR0ZWQgdG8KICAgICAgICAgIGV4aXN0aW5nIGluc3RhbmNlcyBvZiB1c2Ugb25seS4gV2hpbGUgdGhlIHN5c3RlbSByZW1haW5zIGluCiAgICAgICAgICB0aGUgc2h1dHRpbmcgZG93biBzdGF0ZSB0aGUgbWFuYWdlciBvciB0aGUgbWFuYWdlZCBlbGVtZW50IAogICAgICAgICAgbWF5IGF0IGFueSB0aW1lIGNhdXNlIHRoZSByZXNvdXJjZSB0byB0cmFuc2l0aW9uIHRvIHRoZSAKICAgICAgICAgIGxvY2tlZCBzdGF0ZS4iOwogICAgICB9CiAgICB9CiAgfQogIAogIHR5cGVkZWYgQXZhaWxhYmlsaXR5U3RhdHVzIHsKICAgICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgICAgICBlbnVtIElOX1RFU1Q7CiAgICAgICAgICBlbnVtIEZBSUxFRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgIGVudW0gUE9XRVJfT0ZGOyAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgZW51bSBPRkZfTElORTsgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgIGVudW0gT0ZGX0RVVFk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICBlbnVtIERFUEVOREVOQ1k7ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICBlbnVtIERFR1JBREVEOyAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgZW51bSBOT1RfSU5TVEFMTEVEOyAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgZW51bSBMT0dfRlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgIH0KICB9CiAgCiAgdHlwZWRlZiBDZWxsU3RhdGUgewogICAgICB0eXBlIGVudW1lcmF0aW9uIHsKICAgICAgICBlbnVtIElETEU7CiAgICAgICAgZW51bSBJTkFDVElWRTsgICAgICAgICAgICAgIAogICAgICAgIGVudW0gQUNUSVZFOyAgICAgICAgICAgICAgCiAgICAgfQogIH0KCiAgdHlwZWRlZiBOcnBjaSB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uICJQaHlzaWNhbCBDZWxsIElkZW50aXR5IChQQ0kpIG9mIHRoZSBOUiBjZWxsLiI7CiAgICByZWZlcmVuY2UgIlRTIDM2LjIxMSBzdWJjbGF1c2UgNi4xMSI7CiAgfQoKICB0eXBlZGVmIFRhYyB7CiAgICB0eXBlIGludDMyIHsKICAgICAgcmFuZ2UgMC4uMTY3NzcyMTUgOwogICAgfQogICAgZGVzY3JpcHRpb24gIlRyYWNraW5nIEFyZWEgQ29kZSI7CiAgICByZWZlcmVuY2UgIlRTIDIzLjAwMyBjbGF1c2UgMTkuNC4yLjMiOwogIH0KCiAgdHlwZWRlZiBBbWZSZWdpb25JZCB7CiAgICB0eXBlIHVuaW9uIHsgCiAgICAgIHR5cGUgdWludDggOwogICAgICB0eXBlIHN0cmluZyB7CiAgICAgICAgbGVuZ3RoIDg7CiAgICAgICAgcGF0dGVybiAnWzAxXSonOwogICAgICB9CiAgICB9CiAgICByZWZlcmVuY2UgImNsYXVzZSAyLjEwLjEgb2YgM0dQUCBUUyAyMy4wMDMiOwogIH0KCiAgdHlwZWRlZiBBbWZTZXRJZCB7CiAgICB0eXBlIHVuaW9uIHsgCiAgICAgIHR5cGUgdWludDE2IHsKICAgICAgICByYW5nZSAnMC4uMTAyMyc7CiAgICAgIH0KICAgICAgdHlwZSBzdHJpbmcgewogICAgICAgIGxlbmd0aCA4OwogICAgICAgIHBhdHRlcm4gJ1swMV0qJzsKICAgICAgfQogICAgfQogICAgcmVmZXJlbmNlICJjbGF1c2UgMi4xMC4xIG9mIDNHUFAgVFMgMjMuMDAzIjsKICB9CgogIHR5cGVkZWYgQW1mUG9pbnRlciB7CiAgICB0eXBlIHVuaW9uIHsgCiAgICAgIHR5cGUgdWludDggewogICAgICAgIHJhbmdlICcwLi42Myc7CiAgICAgIH0KICAgICAgdHlwZSBzdHJpbmcgewogICAgICAgIGxlbmd0aCA2OwogICAgICAgIHBhdHRlcm4gJ1swMV0qJzsKICAgICAgfQogICAgfQogICAgcmVmZXJlbmNlICJjbGF1c2UgMi4xMC4xIG9mIDNHUFAgVFMgMjMuMDAzIjsKICB9CiAgICAgICAgCiAgZ3JvdXBpbmcgQW1mSWRlbnRpZmllciB7ICAgICAgICAKICAgIGxlYWYgYW1mUmVnaW9uSWQgewogICAgICB0eXBlIEFtZlJlZ2lvbklkOwogICAgfQogICAgbGVhZiBhbWZTZXRJZCB7CiAgICAgIHR5cGUgQW1mU2V0SWQ7CiAgICB9CiAgICBsZWFmIGFtZlBvaW50ZXIgewogICAgICB0eXBlIEFtZlBvaW50ZXI7CiAgICB9IAogICAgZGVzY3JpcHRpb24gIlRoZSBBTUZJIGlzIGNvbnN0cnVjdGVkIGZyb20gYW4gQU1GIFJlZ2lvbiBJRCwgCiAgICAgIGFuIEFNRiBTZXQgSUQgYW5kIGFuIEFNRiBQb2ludGVyLiAKICAgICAgVGhlIEFNRiBSZWdpb24gSUQgaWRlbnRpZmllcyB0aGUgcmVnaW9uLCAKICAgICAgdGhlIEFNRiBTZXQgSUQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgQU1GIFNldCB3aXRoaW4gdGhlIEFNRiBSZWdpb24sIGFuZCAKICAgICAgdGhlIEFNRiBQb2ludGVyIHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIEFNRiB3aXRoaW4gdGhlIEFNRiBTZXQuICI7IAogIH0gICAgCgovLyB0eXBlIGRlZmluaXRpb25zIGVzcGVjaWFsbHkgZm9yIGNvcmUgTkZzCgogIHR5cGVkZWYgTmZUeXBlIHsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIE5SRjsKICAgICAgZW51bSBVRE07CiAgICAgIGVudW0gQU1GOwogICAgICBlbnVtIFNNRjsKICAgICAgZW51bSBBVVNGOwogICAgICBlbnVtIE5FRjsKICAgICAgZW51bSBQQ0Y7CiAgICAgIGVudW0gU01TRjsKICAgICAgZW51bSBOU1NGOwogICAgICBlbnVtIFVEUjsKICAgICAgZW51bSBMTUY7CiAgICAgIGVudW0gR01MQzsKICAgICAgZW51bSA1R19FSVI7CiAgICAgIGVudW0gU0VQUDsKICAgICAgZW51bSBVUEY7CiAgICAgIGVudW0gTjNJV0Y7CiAgICAgIGVudW0gQUY7CiAgICAgIGVudW0gVURTRjsKICAgICAgZW51bSBCU0Y7CiAgICAgIGVudW0gQ0hGOwogICAgfSAgICAgICAgICAKICB9CiAgCiAgdHlwZWRlZiBOb3RpZmljYXRpb25UeXBlIHsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIE4xX01FU1NBR0VTOwogICAgICBlbnVtIE4yX0lORk9STUFUSU9OOwogICAgICBlbnVtIExPQ0FUSU9OX05PVElGSUNBVElPTjsKICAgIH0gICAgICAKICB9CiAgCiAgdHlwZWRlZiBMb2FkIHsKICAgIGRlc2NyaXB0aW9uICJMYXRlc3Qga25vd24gbG9hZCBpbmZvcm1hdGlvbiBvZiB0aGUgTkYsIHBlcmNlbnRhZ2UgIjsKICAgIHR5cGUgdWludDggewogICAgICByYW5nZSAwLi4xMDA7CiAgICB9CiAgfQoKICB0eXBlZGVmIE4xTWVzc2FnZUNsYXNzIHsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIDVHTU07CiAgICAgIGVudW0gU007CiAgICAgIGVudW0gTFBQOwogICAgICBlbnVtIFNNUzsgCiAgICB9ICAgICAgCiAgfQogIAogIHR5cGVkZWYgTjJJbmZvcm1hdGlvbkNsYXNzIHsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIFNNOwogICAgICBlbnVtIE5SUFBBOwogICAgICBlbnVtIFBXUzsKICAgICAgZW51bSBQV1NfQkNBTDsKICAgICAgZW51bSBQV1NfUkY7CiAgICB9ICAgICAgICAgICAgICAKICB9CiAgCiAgZ3JvdXBpbmcgRGVmYXVsdE5vdGlmaWNhdGlvblN1YnNjcmlwdGlvbiB7CiAgICAKICAgIGxlYWYgbm90aWZpY2F0aW9uVHlwZSB7CiAgICAgIHR5cGUgTm90aWZpY2F0aW9uVHlwZTsKICAgIH0KICAgIAogICAgbGVhZiBjYWxsYmFja1VyaSB7CiAgICAgIHR5cGUgaW5ldDp1cmk7CiAgICB9CiAgICAKICAgIGxlYWYgbjFNZXNzYWdlQ2xhc3MgewogICAgICB0eXBlIE4xTWVzc2FnZUNsYXNzOwogICAgfQogICAgCiAgICBsZWFmIG4ySW5mb3JtYXRpb25DbGFzcyB7CiAgICAgIHR5cGUgTjJJbmZvcm1hdGlvbkNsYXNzOwogICAgfSAgICAKICB9ICAKICAgICAgICAKICBncm91cGluZyBJcHY0QWRkcmVzc1JhbmdlIHsKICBsZWFmIHN0YXJ0IHsKICAgIHR5cGUgaW5ldDppcHY0LWFkZHJlc3M7CiAgICB9CiAgbGVhZiBlbmQgewogICAgdHlwZSBpbmV0OmlwdjQtYWRkcmVzczsKICAgIH0gICAgCiAgfQogICAgCiAgZ3JvdXBpbmcgSXB2NlByZWZpeFJhbmdlIHsKICBsZWFmIHN0YXJ0IHsKICAgIHR5cGUgaW5ldDppcHY2LXByZWZpeDsKICAgIH0KICBsZWFmIGVuZCB7CiAgICB0eXBlIGluZXQ6aXB2Ni1wcmVmaXg7CiAgICB9ICAgIAogIH0KICAgICAKICB0eXBlZGVmIE5zaUlkIHsKICAgIHR5cGUgc3RyaW5nOwogIH0KICAgIAogIHR5cGVkZWYgVWVNb2JpbGl0eUxldmVsIHsKICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICBlbnVtIFNUQVRJT05BUlk7CiAgICAgIGVudW0gTk9NQURJQzsKICAgICAgZW51bSBSRVNUUklDVEVEX01PQklMSVRZOwogICAgICBlbnVtIEZVTExZX01PQklMSVRZOwogICAgfQogIH0KICAgICAgCiAgdHlwZWRlZiBSZXNvdXJjZVNoYXJpbmdMZXZlbCB7CiAgICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICAgIGVudW0gU0hBUkVEOwogICAgICAgIGVudW0gTk9UX1NIQVJFRDsKICAgICAgfQogIH0KICAgICAgCiAgdHlwZWRlZiBUeERpcmVjdGlvbiB7CiAgICAgIHR5cGUgZW51bWVyYXRpb24gewogICAgICAgIGVudW0gREw7CiAgICAgICAgZW51bSBVTDsKICAgICAgICBlbnVtIERMX0FORF9VTDsKICAgICAgfQogIH0KICAgICAgCiAgZ3JvdXBpbmcgQWRkcmVzc1dpdGhWbGFuIHsKICAgIGxlYWYgaXBBZGRyZXNzIHsKICAgICAgdHlwZSBpbmV0OmlwLWFkZHJlc3M7ICAgCiAgICB9CiAgICBsZWFmIHZsYW5JZCB7CiAgICAgICB0eXBlIHVpbnQxNjsKICAgIH0gIAogIH0KICAKICB0eXBlZGVmIERpc3Rpbmd1aXNoZWROYW1lIHsgICAgLy8gVE9ETyBpcyB0aGlzIGVxdWl2YWxlbnQgdG8gVFMgMzIuMzAwID8KICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKFthLXpBLVpdW2EtekEtWjAtOS1dKj0oXFwoIHwjfFxcfD58PHw7fCJ8XCt8LHxbYS1mQS1GMC05XXsyfSl8W15cXD48OyIrLCMgXSknCiAgICAgICAgKyAnKChcXCggfCN8XFx8Pnw8fDt8InxcK3wsfFthLWZBLUYwLTldezJ9KXxbXlxcPjw7IissXSkqJwogICAgICAgICsgJyhcXCggfCN8XFx8Pnw8fDt8InxcK3wsfFthLWZBLUYwLTldezJ9KXxbXlxcPjw7IissIF0pKT8nCiAgICAgICAgKyAnWyxcK10pKlthLXpBLVpdW2EtekEtWjAtOS1dKj0oXFwoIHwjfFxcfD58PHw7fCJ8XCt8LHxbYS1mQS1GMC05XXsyfSl8W15cXD48OyIrLCMgXSknCiAgICAgICAgKyAnKChcXCggfCN8XFx8Pnw8fDt8InxcK3wsfFthLWZBLUYwLTldezJ9KScKICAgICAgICArICd8W15cXD48OyIrLF0pKihcXCggfCN8XFx8Pnw8fDt8InxcK3wsfFthLWZBLUYwLTldezJ9KXxbXlxcPjw7IissIF0pKT8nOyAgCiAgICB9CiAgICBkZXNjcmlwdGlvbiAiUmVwcmVzZW50cyB0aGUgaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBmb3IgdGhlIHJlcHJlc2VudGF0aW9uIAogICAgICBvZiBEaXN0aW5ndWlzaGVkIE5hbWUgKFJGQyA0NTEyKS4gCiAgICAgIFRoZSBmb3JtYXQgb2YgdGhlIERpc3Rpbmd1aXNoZWROYW1lIFJFR0VYIGlzOgogICAgICB7QXR0cmlidXRlVHlwZSA9IEF0dHJpYnV0ZVZhbHVlfSAgIAoKICAgICAgQXR0cmlidXRlVHlwZSBjb25zaXN0cyBvZiBhbHBoYW51bWVyaWMgYW5kIGh5cGhlbiAoT0lEcyBub3QgYWxsb3dlZCkuIAogICAgICBBbGwgb3RoZXIgY2hhcmFjdGVycyBhcmUgcmVzdHJpY3RlZC4KICAgICAgVGhlIEF0dHJpYnV0ZSB2YWx1ZSBjYW5ub3QgY29udGFpbiBjb250cm9sIGNoYXJhY3RlcnMgb3IgdGhlIAogICAgICAgIGZvbGxvd2luZyBjaGFyYWN0ZXJzIDogXFwgPiA8IDsgXCIgKyAsIChDb21tYSkgYW5kIFdoaXRlIHNwYWNlCiAgICAgIFRoZSBBdHRyaWJ1dGUgdmFsdWUgY2FuIGNvbnRhaW4gdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXJzIGlmIHRoZXkgCiAgICAgICAgYXJlIGV4Y2FwZWQgOiBcXCA+IDwgOyBcIiArICwgKENvbW1hKSBhbmQgV2hpdGUgc3BhY2UKICAgICAgVGhlIEF0dHJpYnV0ZSB2YWx1ZSBjYW4gY29udGFpbiBjb250cm9sIGNoYXJhY3RlcnMgaWYgaXRzIGFuIGVzY2FwZWQgCiAgICAgICAgZG91YmxlIGRpZ2l0IGhleCBudW1iZXIuCiAgICAgICAgRXhhbXBsZXMgY291bGQgYmUgCiAgICAgICAgICBVSUQ9bm9ib2R5QGV4YW1wbGUuY29tLERDPWV4YW1wbGUsREM9Y29tCiAgICAgICAgICAgIENOPUpvaG4gU21pdGgsT1U9U2FsZXMsTz1BQ01FIExpbWl0ZWQsTD1Nb2FiLFNUPVV0YWgsQz1VUyI7CiAgICByZWZlcmVuY2UgICJSRkMgNDUxMiBMaWdodHdlaWdodCBEaXJlY3RvcnkgQWNjZXNzIFByb3RvY29sIChMREFQKToKICAgICAgICAgICAgICAgICAgICAgIERpcmVjdG9yeSBJbmZvcm1hdGlvbiBNb2RlbHMiOwogIH0gLy8gcmVjaGVjayByZWdleHAgaXQgZG9lc24ndCBoYW5kbGUgcG9zaXggWzpjbnRybDpdCiAKICB0eXBlZGVmIFFPZmZzZXRSYW5nZSAgewogICAgdHlwZSBpbnQ4IHsgCiAgICAgIHJhbmdlICItMjQgfCAtMjIgfCAtMjAgfCAtMTggfCAtMTYgfCAtMTQgfCAtMTIgfCAtMTAgfCAtOCB8IC02IHwgIiArCiAgICAgICAgIiAtNSB8IC00IHwgLTMgfCAtMiB8IC0xIHwgMCB8IDEgfCAyIHwgMyB8IDQgfCA1IHwgNiB8IDggfCAxMCB8ICIgKwogICAgICAgICIgMTIgfCAxNCB8IDE2IHwgMTggfCAyMCB8IDIyIHwgMjQiOyAKICAgIH0KICAgIHVuaXRzIGRCOwogIH0KfQ==
-ietf-geo-location      urn:ietf:params:xml:ns:yang:ietf-geo-location   \N      []      2022-02-11      bW9kdWxlIGlldGYtZ2VvLWxvY2F0aW9uIHsKICB5YW5nLXZlcnNpb24gMS4xOwogIG5hbWVzcGFjZSAidXJuOmlldGY6cGFyYW1zOnhtbDpuczp5YW5nOmlldGYtZ2VvLWxvY2F0aW9uIjsKICBwcmVmaXggZ2VvOwogIGltcG9ydCBpZXRmLXlhbmctdHlwZXMgewogICAgcHJlZml4IHlhbmc7CiAgICByZWZlcmVuY2UgIlJGQyA2OTkxOiBDb21tb24gWUFORyBEYXRhIFR5cGVzIjsKICB9CgogIG9yZ2FuaXphdGlvbgogICAgIklFVEYgTkVUTU9EIFdvcmtpbmcgR3JvdXAgKE5FVE1PRCkiOwogIGNvbnRhY3QKICAgIldHIFdlYjogICA8aHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy93Zy9uZXRtb2QvPgogICAgV0cgTGlzdDogIDxtYWlsdG86bmV0bW9kQGlldGYub3JnPgoKICAgIEVkaXRvcjogICBDaHJpc3RpYW4gSG9wcHMKICAgICAgICAgICAgICA8bWFpbHRvOmNob3Bwc0BjaG9wcHMub3JnPiI7CgogIGRlc2NyaXB0aW9uCiAgICAiVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGdyb3VwaW5nIG9mIGEgY29udGFpbmVyIG9iamVjdCBmb3IKICAgICBzcGVjaWZ5aW5nIGEgbG9jYXRpb24gb24gb3IgYXJvdW5kIGFuIGFzdHJvbm9taWNhbCBvYmplY3QgKGUuZy4sCiAgICAgJ2VhcnRoJykuCgogICAgIFRoZSBrZXkgd29yZHMgJ01VU1QnLCAnTVVTVCBOT1QnLCAnUkVRVUlSRUQnLCAnU0hBTEwnLCAnU0hBTEwKICAgICBOT1QnLCAnU0hPVUxEJywgJ1NIT1VMRCBOT1QnLCAnUkVDT01NRU5ERUQnLCAnTk9UIFJFQ09NTUVOREVEJywKICAgICAnTUFZJywgYW5kICdPUFRJT05BTCcgaW4gdGhpcyBkb2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMKICAgICBkZXNjcmliZWQgaW4gQkNQIDE0IChSRkMgMjExOSkgKFJGQyA4MTc0KSB3aGVuLCBhbmQgb25seSB3aGVuLAogICAgIHRoZXkgYXBwZWFyIGluIGFsbCBjYXBpdGFscywgYXMgc2hvd24gaGVyZS4KCiAgICAgQ29weXJpZ2h0IChjKSAyMDIyIElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50aWZpZWQgYXMKICAgICBhdXRob3JzIG9mIHRoZSBjb2RlLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KCiAgICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcywKICAgICB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCBpcyBwZXJtaXR0ZWQgcHVyc3VhbnQgdG8sCiAgICAgYW5kIHN1YmplY3QgdG8gdGhlIGxpY2Vuc2UgdGVybXMgY29udGFpbmVkIGluLCB0aGUKICAgICBSZXZpc2VkIEJTRCBMaWNlbnNlIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUKICAgICBJRVRGIFRydXN0J3MgTGVnYWwgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50cwogICAgIChodHRwczovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KCiAgICAgVGhpcyB2ZXJzaW9uIG9mIHRoaXMgWUFORyBtb2R1bGUgaXMgcGFydCBvZiBSRkMgOTE3OQogICAgIChodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzkxNzkpOyBzZWUgdGhlIFJGQyBpdHNlbGYKICAgICBmb3IgZnVsbCBsZWdhbCBub3RpY2VzLiI7CgogIHJldmlzaW9uIDIwMjItMDItMTEgewogICAgZGVzY3JpcHRpb24KICAgICAgIkluaXRpYWwgUmV2aXNpb24iOwogICAgcmVmZXJlbmNlCiAgICAgICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucyI7CiAgfQoKICBmZWF0dXJlIGFsdGVybmF0ZS1zeXN0ZW1zIHsKICAgIGRlc2NyaXB0aW9uCiAgICAgICJUaGlzIGZlYXR1cmUgbWVhbnMgdGhlIGRldmljZSBzdXBwb3J0cyBzcGVjaWZ5aW5nIGxvY2F0aW9ucwogICAgICAgdXNpbmcgYWx0ZXJuYXRlIHN5c3RlbXMgZm9yIHJlZmVyZW5jZSBmcmFtZXMuIjsKICB9CgogIGdyb3VwaW5nIGdlby1sb2NhdGlvbiB7CiAgICBkZXNjcmlwdGlvbgogICAgICAiR3JvdXBpbmcgdG8gaWRlbnRpZnkgYSBsb2NhdGlvbiBvbiBhbiBhc3Ryb25vbWljYWwgb2JqZWN0LiI7CgogICAgY29udGFpbmVyIGdlby1sb2NhdGlvbiB7CiAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIkEgbG9jYXRpb24gb24gYW4gYXN0cm9ub21pY2FsIGJvZHkgKGUuZy4sICdlYXJ0aCcpCiAgICAgICAgIHNvbWV3aGVyZSBpbiBhIHVuaXZlcnNlLiI7CgogICAgICBjb250YWluZXIgcmVmZXJlbmNlLWZyYW1lIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIlRoZSBGcmFtZSBvZiBSZWZlcmVuY2UgZm9yIHRoZSBsb2NhdGlvbiB2YWx1ZXMuIjsKCiAgICAgICAgbGVhZiBhbHRlcm5hdGUtc3lzdGVtIHsKICAgICAgICAgIGlmLWZlYXR1cmUgImFsdGVybmF0ZS1zeXN0ZW1zIjsKICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBzeXN0ZW0gaW4gd2hpY2ggdGhlIGFzdHJvbm9taWNhbCBib2R5IGFuZAogICAgICAgICAgICAgZ2VvZGV0aWMtZGF0dW0gaXMgZGVmaW5lZC4gIE5vcm1hbGx5LCB0aGlzIHZhbHVlIGlzIG5vdAogICAgICAgICAgICAgcHJlc2VudCBhbmQgdGhlIHN5c3RlbSBpcyB0aGUgbmF0dXJhbCB1bml2ZXJzZTsgaG93ZXZlciwKICAgICAgICAgICAgIHdoZW4gcHJlc2VudCwgdGhpcyB2YWx1ZSBhbGxvd3MgZm9yIHNwZWNpZnlpbmcgYWx0ZXJuYXRlCiAgICAgICAgICAgICBzeXN0ZW1zIChlLmcuLCB2aXJ0dWFsIHJlYWxpdGllcykuICBBbiBhbHRlcm5hdGUtc3lzdGVtCiAgICAgICAgICAgICBtb2RpZmllcyB0aGUgZGVmaW5pdGlvbiAoYnV0IG5vdCB0aGUgdHlwZSkgb2YgdGhlIG90aGVyCiAgICAgICAgICAgICB2YWx1ZXMgaW4gdGhlIHJlZmVyZW5jZSBmcmFtZS4iOwogICAgICAgIH0KICAgICAgICBsZWFmIGFzdHJvbm9taWNhbC1ib2R5IHsKICAgICAgICAgIHR5cGUgc3RyaW5nIHsKICAgICAgICAgICAgcGF0dGVybiAnWyAtQFxbLVxeXy1+XSonOwogICAgICAgICAgfQogICAgICAgICAgZGVmYXVsdCAiZWFydGgiOwogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIkFuIGFzdHJvbm9taWNhbCBib2R5IGFzIG5hbWVkIGJ5IHRoZSBJbnRlcm5hdGlvbmFsCiAgICAgICAgICAgICBBc3Ryb25vbWljYWwgVW5pb24gKElBVSkgb3IgYWNjb3JkaW5nIHRvIHRoZSBhbHRlcm5hdGUKICAgICAgICAgICAgIHN5c3RlbSBpZiBzcGVjaWZpZWQuICBFeGFtcGxlcyBpbmNsdWRlICdzdW4nIChvdXIgc3RhciksCiAgICAgICAgICAgICAnZWFydGgnIChvdXIgcGxhbmV0KSwgJ21vb24nIChvdXIgbW9vbiksICdlbmNlbGFkdXMnIChhCiAgICAgICAgICAgICBtb29uIG9mIFNhdHVybiksICdjZXJlcycgKGFuIGFzdGVyb2lkKSwgYW5kCiAgICAgICAgICAgICAnNjdwL2NodXJ5dW1vdi1nZXJhc2ltZW5rbyAoYSBjb21ldCkuICBUaGUgQVNDSUkgdmFsdWUKICAgICAgICAgICAgIFNIT1VMRCBoYXZlIHVwcGVyY2FzZSBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGFuZCBub3QKICAgICAgICAgICAgIGluY2x1ZGUgY29udHJvbCBjaGFyYWN0ZXJzIChpLmUuLCB2YWx1ZXMgMzIuLjY0LCBhbmQKICAgICAgICAgICAgIDkxLi4xMjYpLiAgQW55IHByZWNlZGluZyAndGhlJyBpbiB0aGUgbmFtZSBTSE9VTEQgTk9UIGJlCiAgICAgICAgICAgICBpbmNsdWRlZC4iOwogICAgICAgICAgcmVmZXJlbmNlCiAgICAgICAgICAgICJodHRwczovL3d3dy5pYXUub3JnLyI7CiAgICAgICAgfQogICAgICAgIGNvbnRhaW5lciBnZW9kZXRpYy1zeXN0ZW0gewogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBnZW9kZXRpYyBzeXN0ZW0gb2YgdGhlIGxvY2F0aW9uIGRhdGEuIjsKICAgICAgICAgIGxlYWYgZ2VvZGV0aWMtZGF0dW0gewogICAgICAgICAgICB0eXBlIHN0cmluZyB7CiAgICAgICAgICAgICAgcGF0dGVybiAnWyAtQFxbLVxeXy1+XSonOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICAgIkEgZ2VvZGV0aWMtZGF0dW0gZGVmaW5pbmcgdGhlIG1lYW5pbmcgb2YgbGF0aXR1ZGUsCiAgICAgICAgICAgICAgIGxvbmdpdHVkZSwgYW5kIGhlaWdodC4gIFRoZSBkZWZhdWx0IHdoZW4gdGhlCiAgICAgICAgICAgICAgIGFzdHJvbm9taWNhbCBib2R5IGlzICdlYXJ0aCcgaXMgJ3dncy04NCcsIHdoaWNoIGlzCiAgICAgICAgICAgICAgIHVzZWQgYnkgdGhlIEdsb2JhbCBQb3NpdGlvbmluZyBTeXN0ZW0gKEdQUykuICBUaGUKICAgICAgICAgICAgICAgQVNDSUkgdmFsdWUgU0hPVUxEIGhhdmUgdXBwZXJjYXNlIGNvbnZlcnRlZCB0bwogICAgICAgICAgICAgICBsb3dlcmNhc2UgYW5kIG5vdCBpbmNsdWRlIGNvbnRyb2wgY2hhcmFjdGVycwogICAgICAgICAgICAgICAoaS5lLiwgdmFsdWVzIDMyLi42NCwgYW5kIDkxLi4xMjYpLiAgVGhlIElBTkEgcmVnaXN0cnkKICAgICAgICAgICAgICAgZnVydGhlciByZXN0cmljdHMgdGhlIHZhbHVlIGJ5IGNvbnZlcnRpbmcgYWxsIHNwYWNlcwogICAgICAgICAgICAgICAoJyAnKSB0byBkYXNoZXMgKCctJykuCiAgICAgICAgICAgICAgIFRoZSBzcGVjaWZpY2F0aW9uIGZvciB0aGUgZ2VvZGV0aWMtZGF0dW0gaW5kaWNhdGVzCiAgICAgICAgICAgICAgIGhvdyBhY2N1cmF0ZWx5IGl0IG1vZGVscyB0aGUgYXN0cm9ub21pY2FsIGJvZHkgaW4KICAgICAgICAgICAgICAgcXVlc3Rpb24sIGJvdGggZm9yIHRoZSAnaG9yaXpvbnRhbCcKICAgICAgICAgICAgICAgbGF0aXR1ZGUvbG9uZ2l0dWRlIGNvb3JkaW5hdGVzIGFuZCBmb3IgaGVpZ2h0CiAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzLiI7CiAgICAgICAgICAgIHJlZmVyZW5jZQogICAgICAgICAgICAgICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucywKICAgICAgICAgICAgICAgU2VjdGlvbiA2LjEiOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiBjb29yZC1hY2N1cmFjeSB7CiAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgNjsKICAgICAgICAgICAgfQogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICJUaGUgYWNjdXJhY3kgb2YgdGhlIGxhdGl0dWRlL2xvbmdpdHVkZSBwYWlyIGZvcgogICAgICAgICAgICAgICBlbGxpcHNvaWRhbCBjb29yZGluYXRlcywgb3IgdGhlIFgsIFksIGFuZCBaIGNvbXBvbmVudHMKICAgICAgICAgICAgICAgZm9yIENhcnRlc2lhbiBjb29yZGluYXRlcy4gIFdoZW4gY29vcmQtYWNjdXJhY3kgaXMKICAgICAgICAgICAgICAgc3BlY2lmaWVkLCBpdCBpbmRpY2F0ZXMgaG93IHByZWNpc2VseSB0aGUgY29vcmRpbmF0ZXMKICAgICAgICAgICAgICAgaW4gdGhlIGFzc29jaWF0ZWQgbGlzdCBvZiBsb2NhdGlvbnMgaGF2ZSBiZWVuCiAgICAgICAgICAgICAgIGRldGVybWluZWQgd2l0aCByZXNwZWN0IHRvIHRoZSBjb29yZGluYXRlIHN5c3RlbQogICAgICAgICAgICAgICBkZWZpbmVkIGJ5IHRoZSBnZW9kZXRpYy1kYXR1bS4gIEZvciBleGFtcGxlLCB0aGVyZQogICAgICAgICAgICAgICBtaWdodCBiZSB1bmNlcnRhaW50eSBkdWUgdG8gbWVhc3VyZW1lbnQgZXJyb3IgaWYgYW4KICAgICAgICAgICAgICAgZXhwZXJpbWVudGFsIG1lYXN1cmVtZW50IHdhcyBtYWRlIHRvIGRldGVybWluZSBlYWNoCiAgICAgICAgICAgICAgIGxvY2F0aW9uLiI7CiAgICAgICAgICB9CiAgICAgICAgICBsZWFmIGhlaWdodC1hY2N1cmFjeSB7CiAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgNjsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bml0cyAibWV0ZXJzIjsKICAgICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAiVGhlIGFjY3VyYWN5IG9mIHRoZSBoZWlnaHQgdmFsdWUgZm9yIGVsbGlwc29pZGFsCiAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzOyB0aGlzIHZhbHVlIGlzIG5vdCB1c2VkIHdpdGggQ2FydGVzaWFuCiAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzLiAgV2hlbiBoZWlnaHQtYWNjdXJhY3kgaXMgc3BlY2lmaWVkLCBpdAogICAgICAgICAgICAgICBpbmRpY2F0ZXMgaG93IHByZWNpc2VseSB0aGUgaGVpZ2h0cyBpbiB0aGUKICAgICAgICAgICAgICAgYXNzb2NpYXRlZCBsaXN0IG9mIGxvY2F0aW9ucyBoYXZlIGJlZW4gZGV0ZXJtaW5lZAogICAgICAgICAgICAgICB3aXRoIHJlc3BlY3QgdG8gdGhlIGNvb3JkaW5hdGUgc3lzdGVtIGRlZmluZWQgYnkgdGhlCiAgICAgICAgICAgICAgIGdlb2RldGljLWRhdHVtLiAgRm9yIGV4YW1wbGUsIHRoZXJlIG1pZ2h0IGJlCiAgICAgICAgICAgICAgIHVuY2VydGFpbnR5IGR1ZSB0byBtZWFzdXJlbWVudCBlcnJvciBpZiBhbgogICAgICAgICAgICAgICBleHBlcmltZW50YWwgbWVhc3VyZW1lbnQgd2FzIG1hZGUgdG8gZGV0ZXJtaW5lIGVhY2gKICAgICAgICAgICAgICAgbG9jYXRpb24uIjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgY2hvaWNlIGxvY2F0aW9uIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIlRoZSBsb2NhdGlvbiBkYXRhIGVpdGhlciBpbiBsYXRpdHVkZS9sb25naXR1ZGUgb3IKICAgICAgICAgICBDYXJ0ZXNpYW4gdmFsdWVzIjsKICAgICAgICBjYXNlIGVsbGlwc29pZCB7CiAgICAgICAgICBsZWFmIGxhdGl0dWRlIHsKICAgICAgICAgICAgdHlwZSBkZWNpbWFsNjQgewogICAgICAgICAgICAgIGZyYWN0aW9uLWRpZ2l0cyAxNjsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bml0cyAiZGVjaW1hbCBkZWdyZWVzIjsKICAgICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAiVGhlIGxhdGl0dWRlIHZhbHVlIG9uIHRoZSBhc3Ryb25vbWljYWwgYm9keS4gIFRoZQogICAgICAgICAgICAgICBkZWZpbml0aW9uIGFuZCBwcmVjaXNpb24gb2YgdGhpcyBtZWFzdXJlbWVudCBpcwogICAgICAgICAgICAgICBpbmRpY2F0ZWQgYnkgdGhlIHJlZmVyZW5jZS1mcmFtZS4iOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiBsb25naXR1ZGUgewogICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDE2OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHVuaXRzICJkZWNpbWFsIGRlZ3JlZXMiOwogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICJUaGUgbG9uZ2l0dWRlIHZhbHVlIG9uIHRoZSBhc3Ryb25vbWljYWwgYm9keS4gIFRoZQogICAgICAgICAgICAgICBkZWZpbml0aW9uIGFuZCBwcmVjaXNpb24gb2YgdGhpcyBtZWFzdXJlbWVudCBpcwogICAgICAgICAgICAgICBpbmRpY2F0ZWQgYnkgdGhlIHJlZmVyZW5jZS1mcmFtZS4iOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiBoZWlnaHQgewogICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW5pdHMgIm1ldGVycyI7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICAgIkhlaWdodCBmcm9tIGEgcmVmZXJlbmNlIDAgdmFsdWUuICBUaGUgcHJlY2lzaW9uIGFuZAogICAgICAgICAgICAgICAnMCcgdmFsdWUgaXMgZGVmaW5lZCBieSB0aGUgcmVmZXJlbmNlLWZyYW1lLiI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhc2UgY2FydGVzaWFuIHsKICAgICAgICAgIGxlYWYgeCB7CiAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgNjsKICAgICAgICAgICAgfQogICAgICAgICAgICB1bml0cyAibWV0ZXJzIjsKICAgICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgICAiVGhlIFggdmFsdWUgYXMgZGVmaW5lZCBieSB0aGUgcmVmZXJlbmNlLWZyYW1lLiI7CiAgICAgICAgICB9CiAgICAgICAgICBsZWFmIHkgewogICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDY7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdW5pdHMgIm1ldGVycyI7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICAgIlRoZSBZIHZhbHVlIGFzIGRlZmluZWQgYnkgdGhlIHJlZmVyZW5jZS1mcmFtZS4iOwogICAgICAgICAgfQogICAgICAgICAgbGVhZiB6IHsKICAgICAgICAgICAgdHlwZSBkZWNpbWFsNjQgewogICAgICAgICAgICAgIGZyYWN0aW9uLWRpZ2l0cyA2OwogICAgICAgICAgICB9CiAgICAgICAgICAgIHVuaXRzICJtZXRlcnMiOwogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICJUaGUgWiB2YWx1ZSBhcyBkZWZpbmVkIGJ5IHRoZSByZWZlcmVuY2UtZnJhbWUuIjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0KICAgICAgY29udGFpbmVyIHZlbG9jaXR5IHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIklmIHRoZSBvYmplY3QgaXMgaW4gbW90aW9uLCB0aGUgdmVsb2NpdHkgdmVjdG9yIGRlc2NyaWJlcwogICAgICAgICAgIHRoaXMgbW90aW9uIGF0IHRoZSB0aW1lIGdpdmVuIGJ5IHRoZSB0aW1lc3RhbXAuICBGb3IgYQogICAgICAgICAgIGZvcm11bGEgdG8gY29udmVydCB0aGVzZSB2YWx1ZXMgdG8gc3BlZWQgYW5kIGhlYWRpbmcsIHNlZQogICAgICAgICAgIFJGQyA5MTc5LiI7CiAgICAgICAgcmVmZXJlbmNlCiAgICAgICAgICAiUkZDIDkxNzk6IEEgWUFORyBHcm91cGluZyBmb3IgR2VvZ3JhcGhpYyBMb2NhdGlvbnMiOwoKICAgICAgICBsZWFmIHYtbm9ydGggewogICAgICAgICAgdHlwZSBkZWNpbWFsNjQgewogICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgMTI7CiAgICAgICAgICB9CiAgICAgICAgICB1bml0cyAibWV0ZXJzIHBlciBzZWNvbmQiOwogICAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgInYtbm9ydGggaXMgdGhlIHJhdGUgb2YgY2hhbmdlIChpLmUuLCBzcGVlZCkgdG93YXJkcwogICAgICAgICAgICAgdHJ1ZSBub3J0aCBhcyBkZWZpbmVkIGJ5IHRoZSBnZW9kZXRpYy1zeXN0ZW0uIjsKICAgICAgICB9CgogICAgICAgIGxlYWYgdi1lYXN0IHsKICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDEyOwogICAgICAgICAgfQogICAgICAgICAgdW5pdHMgIm1ldGVycyBwZXIgc2Vjb25kIjsKICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJ2LWVhc3QgaXMgdGhlIHJhdGUgb2YgY2hhbmdlIChpLmUuLCBzcGVlZCkgcGVycGVuZGljdWxhcgogICAgICAgICAgICAgdG8gdGhlIHJpZ2h0IG9mIHRydWUgbm9ydGggYXMgZGVmaW5lZCBieQogICAgICAgICAgICAgdGhlIGdlb2RldGljLXN5c3RlbS4iOwogICAgICAgIH0KCiAgICAgICAgbGVhZiB2LXVwIHsKICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDEyOwogICAgICAgICAgfQogICAgICAgICAgdW5pdHMgIm1ldGVycyBwZXIgc2Vjb25kIjsKICAgICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJ2LXVwIGlzIHRoZSByYXRlIG9mIGNoYW5nZSAoaS5lLiwgc3BlZWQpIGF3YXkgZnJvbSB0aGUKICAgICAgICAgICAgIGNlbnRlciBvZiBtYXNzLiI7CiAgICAgICAgfQogICAgICB9CiAgICAgIGxlYWYgdGltZXN0YW1wIHsKICAgICAgICB0eXBlIHlhbmc6ZGF0ZS1hbmQtdGltZTsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgIlJlZmVyZW5jZSB0aW1lIHdoZW4gbG9jYXRpb24gd2FzIHJlY29yZGVkLiI7CiAgICAgIH0KICAgICAgbGVhZiB2YWxpZC11bnRpbCB7CiAgICAgICAgdHlwZSB5YW5nOmRhdGUtYW5kLXRpbWU7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICJUaGUgdGltZXN0YW1wIGZvciB3aGljaCB0aGlzIGdlby1sb2NhdGlvbiBpcyB2YWxpZCB1bnRpbC4KICAgICAgICAgICBJZiB1bnNwZWNpZmllZCwgdGhlIGdlby1sb2NhdGlvbiBoYXMgbm8gc3BlY2lmaWMKICAgICAgICAgICBleHBpcmF0aW9uIHRpbWUuIjsKICAgICAgfQogICAgfQogIH0KfQo=
-ietf-inet-types        urn:ietf:params:xml:ns:yang:ietf-inet-types     \N      []      2013-07-15      bW9kdWxlIGlldGYtaW5ldC10eXBlcyB7CgogIG5hbWVzcGFjZSAidXJuOmlldGY6cGFyYW1zOnhtbDpuczp5YW5nOmlldGYtaW5ldC10eXBlcyI7CiAgcHJlZml4ICJpbmV0IjsKCiAgb3JnYW5pemF0aW9uCiAgICJJRVRGIE5FVE1PRCAoTkVUQ09ORiBEYXRhIE1vZGVsaW5nIExhbmd1YWdlKSBXb3JraW5nIEdyb3VwIjsKCiAgY29udGFjdAogICAiV0cgV2ViOiAgIDxodHRwOi8vdG9vbHMuaWV0Zi5vcmcvd2cvbmV0bW9kLz4KICAgIFdHIExpc3Q6ICA8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4KCiAgICBXRyBDaGFpcjogRGF2aWQgS2Vzc2VucwogICAgICAgICAgICAgIDxtYWlsdG86ZGF2aWQua2Vzc2Vuc0Buc24uY29tPgoKICAgIFdHIENoYWlyOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIKICAgICAgICAgICAgICA8bWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4KCiAgICBFZGl0b3I6ICAgSnVlcmdlbiBTY2hvZW53YWVsZGVyCiAgICAgICAgICAgICAgPG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+IjsKCiAgZGVzY3JpcHRpb24KICAgIlRoaXMgbW9kdWxlIGNvbnRhaW5zIGEgY29sbGVjdGlvbiBvZiBnZW5lcmFsbHkgdXNlZnVsIGRlcml2ZWQKICAgIFlBTkcgZGF0YSB0eXBlcyBmb3IgSW50ZXJuZXQgYWRkcmVzc2VzIGFuZCByZWxhdGVkIHRoaW5ncy4KCiAgICBDb3B5cmlnaHQgKGMpIDIwMTMgSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcwogICAgYXV0aG9ycyBvZiB0aGUgY29kZS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgogICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGlzIHBlcm1pdHRlZCBwdXJzdWFudCB0bywgYW5kIHN1YmplY3QKICAgIHRvIHRoZSBsaWNlbnNlIHRlcm1zIGNvbnRhaW5lZCBpbiwgdGhlIFNpbXBsaWZpZWQgQlNEIExpY2Vuc2UKICAgIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUgSUVURiBUcnVzdCdzIExlZ2FsIFByb3Zpc2lvbnMKICAgIFJlbGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzCiAgICAoaHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KCiAgICBUaGlzIHZlcnNpb24gb2YgdGhpcyBZQU5HIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyA2OTkxOyBzZWUKICAgIHRoZSBSRkMgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIjsKCiAgcmV2aXNpb24gMjAxMy0wNy0xNSB7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGlzIHJldmlzaW9uIGFkZHMgdGhlIGZvbGxvd2luZyBuZXcgZGF0YSB0eXBlczoKICAgICAgLSBpcC1hZGRyZXNzLW5vLXpvbmUKICAgICAgLSBpcHY0LWFkZHJlc3Mtbm8tem9uZQogICAgICAtIGlwdjYtYWRkcmVzcy1uby16b25lIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjk5MTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICByZXZpc2lvbiAyMDEwLTA5LTI0IHsKICAgIGRlc2NyaXB0aW9uCiAgICAgIkluaXRpYWwgcmV2aXNpb24uIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjAyMTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgdHlwZXMgcmVsYXRlZCB0byBwcm90b2NvbCBmaWVsZHMgKioqLwoKICB0eXBlZGVmIGlwLXZlcnNpb24gewogICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgIGVudW0gdW5rbm93biB7CiAgICAgICAgdmFsdWUgIjAiOwogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICJBbiB1bmtub3duIG9yIHVuc3BlY2lmaWVkIHZlcnNpb24gb2YgdGhlIEludGVybmV0CiAgICAgICAgICBwcm90b2NvbC4iOwogICAgICB9CiAgICAgIGVudW0gaXB2NCB7CiAgICAgICAgdmFsdWUgIjEiOwogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICJUaGUgSVB2NCBwcm90b2NvbCBhcyBkZWZpbmVkIGluIFJGQyA3OTEuIjsKICAgICAgfQogICAgICBlbnVtIGlwdjYgewogICAgICAgIHZhbHVlICIyIjsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAiVGhlIElQdjYgcHJvdG9jb2wgYXMgZGVmaW5lZCBpbiBSRkMgMjQ2MC4iOwogICAgICB9CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGlzIHZhbHVlIHJlcHJlc2VudHMgdGhlIHZlcnNpb24gb2YgdGhlIElQIHByb3RvY29sLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIEluZXRWZXJzaW9uIHRleHR1YWwgY29udmVudGlvbiBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgIDc5MTogSW50ZXJuZXQgUHJvdG9jb2wKICAgICAgUkZDIDI0NjA6IEludGVybmV0IFByb3RvY29sLCBWZXJzaW9uIDYgKElQdjYpIFNwZWNpZmljYXRpb24KICAgICAgUkZDIDQwMDE6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIEludGVybmV0IE5ldHdvcmsgQWRkcmVzc2VzIjsKICB9CgogIHR5cGVkZWYgZHNjcCB7CiAgICB0eXBlIHVpbnQ4IHsKICAgICAgcmFuZ2UgIjAuLjYzIjsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBkc2NwIHR5cGUgcmVwcmVzZW50cyBhIERpZmZlcmVudGlhdGVkIFNlcnZpY2VzIENvZGUgUG9pbnQKICAgICAgdGhhdCBtYXkgYmUgdXNlZCBmb3IgbWFya2luZyBwYWNrZXRzIGluIGEgdHJhZmZpYyBzdHJlYW0uCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBEc2NwIHRleHR1YWwgY29udmVudGlvbiBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMzI4OTogTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIGZvciB0aGUgRGlmZmVyZW50aWF0ZWQKICAgICAgICAgICAgICAgIFNlcnZpY2VzIEFyY2hpdGVjdHVyZQogICAgICBSRkMgMjQ3NDogRGVmaW5pdGlvbiBvZiB0aGUgRGlmZmVyZW50aWF0ZWQgU2VydmljZXMgRmllbGQKICAgICAgICAgICAgICAgIChEUyBGaWVsZCkgaW4gdGhlIElQdjQgYW5kIElQdjYgSGVhZGVycwogICAgICBSRkMgMjc4MDogSUFOQSBBbGxvY2F0aW9uIEd1aWRlbGluZXMgRm9yIFZhbHVlcyBJbgogICAgICAgICAgICAgICAgdGhlIEludGVybmV0IFByb3RvY29sIGFuZCBSZWxhdGVkIEhlYWRlcnMiOwogIH0KCiAgdHlwZWRlZiBpcHY2LWZsb3ctbGFiZWwgewogICAgdHlwZSB1aW50MzIgewogICAgICByYW5nZSAiMC4uMTA0ODU3NSI7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgaXB2Ni1mbG93LWxhYmVsIHR5cGUgcmVwcmVzZW50cyB0aGUgZmxvdyBpZGVudGlmaWVyIG9yIEZsb3cKICAgICAgTGFiZWwgaW4gYW4gSVB2NiBwYWNrZXQgaGVhZGVyIHRoYXQgbWF5IGJlIHVzZWQgdG8KICAgICAgZGlzY3JpbWluYXRlIHRyYWZmaWMgZmxvd3MuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgSVB2NkZsb3dMYWJlbCB0ZXh0dWFsIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDM1OTU6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIElQdjYgRmxvdyBMYWJlbAogICAgICBSRkMgMjQ2MDogSW50ZXJuZXQgUHJvdG9jb2wsIFZlcnNpb24gNiAoSVB2NikgU3BlY2lmaWNhdGlvbiI7CiAgfQoKICB0eXBlZGVmIHBvcnQtbnVtYmVyIHsKICAgIHR5cGUgdWludDE2IHsKICAgICAgcmFuZ2UgIjAuLjY1NTM1IjsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBwb3J0LW51bWJlciB0eXBlIHJlcHJlc2VudHMgYSAxNi1iaXQgcG9ydCBudW1iZXIgb2YgYW4KICAgICAgSW50ZXJuZXQgdHJhbnNwb3J0LWxheWVyIHByb3RvY29sIHN1Y2ggYXMgVURQLCBUQ1AsIERDQ1AsIG9yCiAgICAgIFNDVFAuICBQb3J0IG51bWJlcnMgYXJlIGFzc2lnbmVkIGJ5IElBTkEuICBBIGN1cnJlbnQgbGlzdCBvZgogICAgICBhbGwgYXNzaWdubWVudHMgaXMgYXZhaWxhYmxlIGZyb20gPGh0dHA6Ly93d3cuaWFuYS5vcmcvPi4KCiAgICAgIE5vdGUgdGhhdCB0aGUgcG9ydCBudW1iZXIgdmFsdWUgemVybyBpcyByZXNlcnZlZCBieSBJQU5BLiAgSW4KICAgICAgc2l0dWF0aW9ucyB3aGVyZSB0aGUgdmFsdWUgemVybyBkb2VzIG5vdCBtYWtlIHNlbnNlLCBpdCBjYW4KICAgICAgYmUgZXhjbHVkZWQgYnkgc3VidHlwaW5nIHRoZSBwb3J0LW51bWJlciB0eXBlLgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgSW5ldFBvcnROdW1iZXIgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAgNzY4OiBVc2VyIERhdGFncmFtIFByb3RvY29sCiAgICAgIFJGQyAgNzkzOiBUcmFuc21pc3Npb24gQ29udHJvbCBQcm90b2NvbAogICAgICBSRkMgNDk2MDogU3RyZWFtIENvbnRyb2wgVHJhbnNtaXNzaW9uIFByb3RvY29sCiAgICAgIFJGQyA0MzQwOiBEYXRhZ3JhbSBDb25nZXN0aW9uIENvbnRyb2wgUHJvdG9jb2wgKERDQ1ApCiAgICAgIFJGQyA0MDAxOiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBJbnRlcm5ldCBOZXR3b3JrIEFkZHJlc3NlcyI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgdHlwZXMgcmVsYXRlZCB0byBhdXRvbm9tb3VzIHN5c3RlbXMgKioqLwoKICB0eXBlZGVmIGFzLW51bWJlciB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBhcy1udW1iZXIgdHlwZSByZXByZXNlbnRzIGF1dG9ub21vdXMgc3lzdGVtIG51bWJlcnMKICAgICAgd2hpY2ggaWRlbnRpZnkgYW4gQXV0b25vbW91cyBTeXN0ZW0gKEFTKS4gIEFuIEFTIGlzIGEgc2V0CiAgICAgIG9mIHJvdXRlcnMgdW5kZXIgYSBzaW5nbGUgdGVjaG5pY2FsIGFkbWluaXN0cmF0aW9uLCB1c2luZwogICAgICBhbiBpbnRlcmlvciBnYXRld2F5IHByb3RvY29sIGFuZCBjb21tb24gbWV0cmljcyB0byByb3V0ZQogICAgICBwYWNrZXRzIHdpdGhpbiB0aGUgQVMsIGFuZCB1c2luZyBhbiBleHRlcmlvciBnYXRld2F5CiAgICAgIHByb3RvY29sIHRvIHJvdXRlIHBhY2tldHMgdG8gb3RoZXIgQVNlcy4gIElBTkEgbWFpbnRhaW5zCiAgICAgIHRoZSBBUyBudW1iZXIgc3BhY2UgYW5kIGhhcyBkZWxlZ2F0ZWQgbGFyZ2UgcGFydHMgdG8gdGhlCiAgICAgIHJlZ2lvbmFsIHJlZ2lzdHJpZXMuCgogICAgICBBdXRvbm9tb3VzIHN5c3RlbSBudW1iZXJzIHdlcmUgb3JpZ2luYWxseSBsaW1pdGVkIHRvIDE2CiAgICAgIGJpdHMuICBCR1AgZXh0ZW5zaW9ucyBoYXZlIGVubGFyZ2VkIHRoZSBhdXRvbm9tb3VzIHN5c3RlbQogICAgICBudW1iZXIgc3BhY2UgdG8gMzIgYml0cy4gIFRoaXMgdHlwZSB0aGVyZWZvcmUgdXNlcyBhbiB1aW50MzIKICAgICAgYmFzZSB0eXBlIHdpdGhvdXQgYSByYW5nZSByZXN0cmljdGlvbiBpbiBvcmRlciB0byBzdXBwb3J0CiAgICAgIGEgbGFyZ2VyIGF1dG9ub21vdXMgc3lzdGVtIG51bWJlciBzcGFjZS4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBJbmV0QXV0b25vbW91c1N5c3RlbU51bWJlciB0ZXh0dWFsIGNvbnZlbnRpb24gb2YKICAgICAgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDE5MzA6IEd1aWRlbGluZXMgZm9yIGNyZWF0aW9uLCBzZWxlY3Rpb24sIGFuZCByZWdpc3RyYXRpb24KICAgICAgICAgICAgICAgIG9mIGFuIEF1dG9ub21vdXMgU3lzdGVtIChBUykKICAgICAgUkZDIDQyNzE6IEEgQm9yZGVyIEdhdGV3YXkgUHJvdG9jb2wgNCAoQkdQLTQpCiAgICAgIFJGQyA0MDAxOiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBJbnRlcm5ldCBOZXR3b3JrIEFkZHJlc3NlcwogICAgICBSRkMgNjc5MzogQkdQIFN1cHBvcnQgZm9yIEZvdXItT2N0ZXQgQXV0b25vbW91cyBTeXN0ZW0gKEFTKQogICAgICAgICAgICAgICAgTnVtYmVyIFNwYWNlIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiB0eXBlcyByZWxhdGVkIHRvIElQIGFkZHJlc3NlcyBhbmQgaG9zdG5hbWVzICoqKi8KCiAgdHlwZWRlZiBpcC1hZGRyZXNzIHsKICAgIHR5cGUgdW5pb24gewogICAgICB0eXBlIGluZXQ6aXB2NC1hZGRyZXNzOwogICAgICB0eXBlIGluZXQ6aXB2Ni1hZGRyZXNzOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGlwLWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElQIGFkZHJlc3MgYW5kIGlzIElQCiAgICAgIHZlcnNpb24gbmV1dHJhbC4gIFRoZSBmb3JtYXQgb2YgdGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24KICAgICAgaW1wbGllcyB0aGUgSVAgdmVyc2lvbi4gIFRoaXMgdHlwZSBzdXBwb3J0cyBzY29wZWQgYWRkcmVzc2VzCiAgICAgIGJ5IGFsbG93aW5nIHpvbmUgaWRlbnRpZmllcnMgaW4gdGhlIGFkZHJlc3MgZm9ybWF0LiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDQwMDc6IElQdjYgU2NvcGVkIEFkZHJlc3MgQXJjaGl0ZWN0dXJlIjsKICB9CgogIHR5cGVkZWYgaXB2NC1hZGRyZXNzIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybgogICAgICAgICcoKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSlcLil7M30nCiAgICAgICsgICcoWzAtOV18WzEtOV1bMC05XXwxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTVdKScKICAgICAgKyAnKCVbXHB7Tn1ccHtMfV0rKT8nOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAgIlRoZSBpcHY0LWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElQdjQgYWRkcmVzcyBpbgogICAgICAgZG90dGVkLXF1YWQgbm90YXRpb24uICBUaGUgSVB2NCBhZGRyZXNzIG1heSBpbmNsdWRlIGEgem9uZQogICAgICAgaW5kZXgsIHNlcGFyYXRlZCBieSBhICUgc2lnbi4KCiAgICAgICBUaGUgem9uZSBpbmRleCBpcyB1c2VkIHRvIGRpc2FtYmlndWF0ZSBpZGVudGljYWwgYWRkcmVzcwogICAgICAgdmFsdWVzLiAgRm9yIGxpbmstbG9jYWwgYWRkcmVzc2VzLCB0aGUgem9uZSBpbmRleCB3aWxsCiAgICAgICB0eXBpY2FsbHkgYmUgdGhlIGludGVyZmFjZSBpbmRleCBudW1iZXIgb3IgdGhlIG5hbWUgb2YgYW4KICAgICAgIGludGVyZmFjZS4gIElmIHRoZSB6b25lIGluZGV4IGlzIG5vdCBwcmVzZW50LCB0aGUgZGVmYXVsdAogICAgICAgem9uZSBvZiB0aGUgZGV2aWNlIHdpbGwgYmUgdXNlZC4KCiAgICAgICBUaGUgY2Fub25pY2FsIGZvcm1hdCBmb3IgdGhlIHpvbmUgaW5kZXggaXMgdGhlIG51bWVyaWNhbAogICAgICAgZm9ybWF0IjsKICB9CgogIHR5cGVkZWYgaXB2Ni1hZGRyZXNzIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKCg6fFswLTlhLWZBLUZdezAsNH0pOikoWzAtOWEtZkEtRl17MCw0fTopezAsNX0nCiAgICAgICAgICAgICsgJygoKFswLTlhLWZBLUZdezAsNH06KT8oOnxbMC05YS1mQS1GXXswLDR9KSl8JwogICAgICAgICAgICArICcoKCgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV0/WzAtOV0pXC4pezN9JwogICAgICAgICAgICArICcoMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldP1swLTldKSkpJwogICAgICAgICAgICArICcoJVtccHtOfVxwe0x9XSspPyc7CiAgICAgIHBhdHRlcm4gJygoW146XSs6KXs2fSgoW146XSs6W146XSspfCguKlwuLiopKSl8JwogICAgICAgICAgICArICcoKChbXjpdKzopKlteOl0rKT86OigoW146XSs6KSpbXjpdKyk/KScKICAgICAgICAgICAgKyAnKCUuKyk/JzsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBpcHY2LWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElQdjYgYWRkcmVzcyBpbiBmdWxsLAogICAgICBtaXhlZCwgc2hvcnRlbmVkLCBhbmQgc2hvcnRlbmVkLW1peGVkIG5vdGF0aW9uLiAgVGhlIElQdjYKICAgICAgYWRkcmVzcyBtYXkgaW5jbHVkZSBhIHpvbmUgaW5kZXgsIHNlcGFyYXRlZCBieSBhICUgc2lnbi4KCiAgICAgIFRoZSB6b25lIGluZGV4IGlzIHVzZWQgdG8gZGlzYW1iaWd1YXRlIGlkZW50aWNhbCBhZGRyZXNzCiAgICAgIHZhbHVlcy4gIEZvciBsaW5rLWxvY2FsIGFkZHJlc3NlcywgdGhlIHpvbmUgaW5kZXggd2lsbAogICAgICB0eXBpY2FsbHkgYmUgdGhlIGludGVyZmFjZSBpbmRleCBudW1iZXIgb3IgdGhlIG5hbWUgb2YgYW4KICAgICAgaW50ZXJmYWNlLiAgSWYgdGhlIHpvbmUgaW5kZXggaXMgbm90IHByZXNlbnQsIHRoZSBkZWZhdWx0CiAgICAgIHpvbmUgb2YgdGhlIGRldmljZSB3aWxsIGJlIHVzZWQuCgogICAgICBUaGUgY2Fub25pY2FsIGZvcm1hdCBvZiBJUHY2IGFkZHJlc3NlcyB1c2VzIHRoZSB0ZXh0dWFsCiAgICAgIHJlcHJlc2VudGF0aW9uIGRlZmluZWQgaW4gU2VjdGlvbiA0IG9mIFJGQyA1OTUyLiAgVGhlCiAgICAgIGNhbm9uaWNhbCBmb3JtYXQgZm9yIHRoZSB6b25lIGluZGV4IGlzIHRoZSBudW1lcmljYWwKICAgICAgZm9ybWF0IGFzIGRlc2NyaWJlZCBpbiBTZWN0aW9uIDExLjIgb2YgUkZDIDQwMDcuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNDI5MTogSVAgVmVyc2lvbiA2IEFkZHJlc3NpbmcgQXJjaGl0ZWN0dXJlCiAgICAgIFJGQyA0MDA3OiBJUHY2IFNjb3BlZCBBZGRyZXNzIEFyY2hpdGVjdHVyZQogICAgICBSRkMgNTk1MjogQSBSZWNvbW1lbmRhdGlvbiBmb3IgSVB2NiBBZGRyZXNzIFRleHQKICAgICAgICAgICAgICAgIFJlcHJlc2VudGF0aW9uIjsKICB9CgogIHR5cGVkZWYgaXAtYWRkcmVzcy1uby16b25lIHsKICAgIHR5cGUgdW5pb24gewogICAgICB0eXBlIGluZXQ6aXB2NC1hZGRyZXNzLW5vLXpvbmU7CiAgICAgIHR5cGUgaW5ldDppcHY2LWFkZHJlc3Mtbm8tem9uZTsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBpcC1hZGRyZXNzLW5vLXpvbmUgdHlwZSByZXByZXNlbnRzIGFuIElQIGFkZHJlc3MgYW5kIGlzCiAgICAgIElQIHZlcnNpb24gbmV1dHJhbC4gIFRoZSBmb3JtYXQgb2YgdGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb24KICAgICAgaW1wbGllcyB0aGUgSVAgdmVyc2lvbi4gIFRoaXMgdHlwZSBkb2VzIG5vdCBzdXBwb3J0IHNjb3BlZAogICAgICBhZGRyZXNzZXMgc2luY2UgaXQgZG9lcyBub3QgYWxsb3cgem9uZSBpZGVudGlmaWVycyBpbiB0aGUKICAgICAgYWRkcmVzcyBmb3JtYXQuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNDAwNzogSVB2NiBTY29wZWQgQWRkcmVzcyBBcmNoaXRlY3R1cmUiOwogIH0KCiAgdHlwZWRlZiBpcHY0LWFkZHJlc3Mtbm8tem9uZSB7CiAgICB0eXBlIGluZXQ6aXB2NC1hZGRyZXNzIHsKICAgICAgcGF0dGVybiAnWzAtOVwuXSonOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAgIkFuIElQdjQgYWRkcmVzcyB3aXRob3V0IGEgem9uZSBpbmRleC4gIFRoaXMgdHlwZSwgZGVyaXZlZCBmcm9tCiAgICAgICBpcHY0LWFkZHJlc3MsIG1heSBiZSB1c2VkIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHpvbmUgaXMKICAgICAgIGtub3duIGZyb20gdGhlIGNvbnRleHQgYW5kIGhlbmNlIG5vIHpvbmUgaW5kZXggaXMgbmVlZGVkLiI7CiAgfQoKICB0eXBlZGVmIGlwdjYtYWRkcmVzcy1uby16b25lIHsKICAgIHR5cGUgaW5ldDppcHY2LWFkZHJlc3MgewogICAgICBwYXR0ZXJuICdbMC05YS1mQS1GOlwuXSonOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAgIkFuIElQdjYgYWRkcmVzcyB3aXRob3V0IGEgem9uZSBpbmRleC4gIFRoaXMgdHlwZSwgZGVyaXZlZCBmcm9tCiAgICAgICBpcHY2LWFkZHJlc3MsIG1heSBiZSB1c2VkIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhlIHpvbmUgaXMKICAgICAgIGtub3duIGZyb20gdGhlIGNvbnRleHQgYW5kIGhlbmNlIG5vIHpvbmUgaW5kZXggaXMgbmVlZGVkLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDQyOTE6IElQIFZlcnNpb24gNiBBZGRyZXNzaW5nIEFyY2hpdGVjdHVyZQogICAgICBSRkMgNDAwNzogSVB2NiBTY29wZWQgQWRkcmVzcyBBcmNoaXRlY3R1cmUKICAgICAgUkZDIDU5NTI6IEEgUmVjb21tZW5kYXRpb24gZm9yIElQdjYgQWRkcmVzcyBUZXh0CiAgICAgICAgICAgICAgICBSZXByZXNlbnRhdGlvbiI7CiAgfQoKICB0eXBlZGVmIGlwLXByZWZpeCB7CiAgICB0eXBlIHVuaW9uIHsKICAgICAgdHlwZSBpbmV0OmlwdjQtcHJlZml4OwogICAgICB0eXBlIGluZXQ6aXB2Ni1wcmVmaXg7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgaXAtcHJlZml4IHR5cGUgcmVwcmVzZW50cyBhbiBJUCBwcmVmaXggYW5kIGlzIElQCiAgICAgIHZlcnNpb24gbmV1dHJhbC4gIFRoZSBmb3JtYXQgb2YgdGhlIHRleHR1YWwgcmVwcmVzZW50YXRpb25zCiAgICAgIGltcGxpZXMgdGhlIElQIHZlcnNpb24uIjsKICB9CgogIHR5cGVkZWYgaXB2NC1wcmVmaXggewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuCiAgICAgICAgICcoKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSlcLil7M30nCiAgICAgICArICAnKFswLTldfFsxLTldWzAtOV18MVswLTldWzAtOV18MlswLTRdWzAtOV18MjVbMC01XSknCiAgICAgICArICcvKChbMC05XSl8KFsxLTJdWzAtOV0pfCgzWzAtMl0pKSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgaXB2NC1wcmVmaXggdHlwZSByZXByZXNlbnRzIGFuIElQdjQgYWRkcmVzcyBwcmVmaXguCiAgICAgIFRoZSBwcmVmaXggbGVuZ3RoIGlzIGdpdmVuIGJ5IHRoZSBudW1iZXIgZm9sbG93aW5nIHRoZQogICAgICBzbGFzaCBjaGFyYWN0ZXIgYW5kIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDMyLgoKICAgICAgQSBwcmVmaXggbGVuZ3RoIHZhbHVlIG9mIG4gY29ycmVzcG9uZHMgdG8gYW4gSVAgYWRkcmVzcwogICAgICBtYXNrIHRoYXQgaGFzIG4gY29udGlndW91cyAxLWJpdHMgZnJvbSB0aGUgbW9zdAogICAgICBzaWduaWZpY2FudCBiaXQgKE1TQikgYW5kIGFsbCBvdGhlciBiaXRzIHNldCB0byAwLgoKICAgICAgVGhlIGNhbm9uaWNhbCBmb3JtYXQgb2YgYW4gSVB2NCBwcmVmaXggaGFzIGFsbCBiaXRzIG9mCiAgICAgIHRoZSBJUHY0IGFkZHJlc3Mgc2V0IHRvIHplcm8gdGhhdCBhcmUgbm90IHBhcnQgb2YgdGhlCiAgICAgIElQdjQgcHJlZml4LiI7CiAgfQoKICB0eXBlZGVmIGlwdjYtcHJlZml4IHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKCg6fFswLTlhLWZBLUZdezAsNH0pOikoWzAtOWEtZkEtRl17MCw0fTopezAsNX0nCiAgICAgICAgICAgICsgJygoKFswLTlhLWZBLUZdezAsNH06KT8oOnxbMC05YS1mQS1GXXswLDR9KSl8JwogICAgICAgICAgICArICcoKCgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV0/WzAtOV0pXC4pezN9JwogICAgICAgICAgICArICcoMjVbMC01XXwyWzAtNF1bMC05XXxbMDFdP1swLTldP1swLTldKSkpJwogICAgICAgICAgICArICcoLygoWzAtOV0pfChbMC05XXsyfSl8KDFbMC0xXVswLTldKXwoMTJbMC04XSkpKSc7CiAgICAgIHBhdHRlcm4gJygoW146XSs6KXs2fSgoW146XSs6W146XSspfCguKlwuLiopKSl8JwogICAgICAgICAgICArICcoKChbXjpdKzopKlteOl0rKT86OigoW146XSs6KSpbXjpdKyk/KScKICAgICAgICAgICAgKyAnKC8uKyknOwogICAgfQoKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBpcHY2LXByZWZpeCB0eXBlIHJlcHJlc2VudHMgYW4gSVB2NiBhZGRyZXNzIHByZWZpeC4KICAgICAgVGhlIHByZWZpeCBsZW5ndGggaXMgZ2l2ZW4gYnkgdGhlIG51bWJlciBmb2xsb3dpbmcgdGhlCiAgICAgIHNsYXNoIGNoYXJhY3RlciBhbmQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMTI4LgoKICAgICAgQSBwcmVmaXggbGVuZ3RoIHZhbHVlIG9mIG4gY29ycmVzcG9uZHMgdG8gYW4gSVAgYWRkcmVzcwogICAgICBtYXNrIHRoYXQgaGFzIG4gY29udGlndW91cyAxLWJpdHMgZnJvbSB0aGUgbW9zdAogICAgICBzaWduaWZpY2FudCBiaXQgKE1TQikgYW5kIGFsbCBvdGhlciBiaXRzIHNldCB0byAwLgoKICAgICAgVGhlIElQdjYgYWRkcmVzcyBzaG91bGQgaGF2ZSBhbGwgYml0cyB0aGF0IGRvIG5vdCBiZWxvbmcKICAgICAgdG8gdGhlIHByZWZpeCBzZXQgdG8gemVyby4KCiAgICAgIFRoZSBjYW5vbmljYWwgZm9ybWF0IG9mIGFuIElQdjYgcHJlZml4IGhhcyBhbGwgYml0cyBvZgogICAgICB0aGUgSVB2NiBhZGRyZXNzIHNldCB0byB6ZXJvIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZQogICAgICBJUHY2IHByZWZpeC4gIEZ1cnRoZXJtb3JlLCB0aGUgSVB2NiBhZGRyZXNzIGlzIHJlcHJlc2VudGVkCiAgICAgIGFzIGRlZmluZWQgaW4gU2VjdGlvbiA0IG9mIFJGQyA1OTUyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDU5NTI6IEEgUmVjb21tZW5kYXRpb24gZm9yIElQdjYgQWRkcmVzcyBUZXh0CiAgICAgICAgICAgICAgICBSZXByZXNlbnRhdGlvbiI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgZG9tYWluIG5hbWUgYW5kIFVSSSB0eXBlcyAqKiovCgogIHR5cGVkZWYgZG9tYWluLW5hbWUgewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuCiAgICAgICAgJygoKFthLXpBLVowLTlfXShbYS16QS1aMC05XC1fXSl7MCw2MX0pP1thLXpBLVowLTldXC4pKicKICAgICAgKyAnKFthLXpBLVowLTlfXShbYS16QS1aMC05XC1fXSl7MCw2MX0pP1thLXpBLVowLTldXC4/KScKICAgICAgKyAnfFwuJzsKICAgICAgbGVuZ3RoICIxLi4yNTMiOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGRvbWFpbi1uYW1lIHR5cGUgcmVwcmVzZW50cyBhIEROUyBkb21haW4gbmFtZS4gIFRoZQogICAgICBuYW1lIFNIT1VMRCBiZSBmdWxseSBxdWFsaWZpZWQgd2hlbmV2ZXIgcG9zc2libGUuCgogICAgICBJbnRlcm5ldCBkb21haW4gbmFtZXMgYXJlIG9ubHkgbG9vc2VseSBzcGVjaWZpZWQuICBTZWN0aW9uCiAgICAgIDMuNSBvZiBSRkMgMTAzNCByZWNvbW1lbmRzIGEgc3ludGF4IChtb2RpZmllZCBpbiBTZWN0aW9uCiAgICAgIDIuMSBvZiBSRkMgMTEyMykuICBUaGUgcGF0dGVybiBhYm92ZSBpcyBpbnRlbmRlZCB0byBhbGxvdwogICAgICBmb3IgY3VycmVudCBwcmFjdGljZSBpbiBkb21haW4gbmFtZSB1c2UsIGFuZCBzb21lIHBvc3NpYmxlCiAgICAgIGZ1dHVyZSBleHBhbnNpb24uICBJdCBpcyBkZXNpZ25lZCB0byBob2xkIHZhcmlvdXMgdHlwZXMgb2YKICAgICAgZG9tYWluIG5hbWVzLCBpbmNsdWRpbmcgbmFtZXMgdXNlZCBmb3IgQSBvciBBQUFBIHJlY29yZHMKICAgICAgKGhvc3QgbmFtZXMpIGFuZCBvdGhlciByZWNvcmRzLCBzdWNoIGFzIFNSViByZWNvcmRzLiAgTm90ZQogICAgICB0aGF0IEludGVybmV0IGhvc3QgbmFtZXMgaGF2ZSBhIHN0cmljdGVyIHN5bnRheCAoZGVzY3JpYmVkCiAgICAgIGluIFJGQyA5NTIpIHRoYW4gdGhlIEROUyByZWNvbW1lbmRhdGlvbnMgaW4gUkZDcyAxMDM0IGFuZAogICAgICAxMTIzLCBhbmQgdGhhdCBzeXN0ZW1zIHRoYXQgd2FudCB0byBzdG9yZSBob3N0IG5hbWVzIGluCiAgICAgIHNjaGVtYSBub2RlcyB1c2luZyB0aGUgZG9tYWluLW5hbWUgdHlwZSBhcmUgcmVjb21tZW5kZWQgdG8KICAgICAgYWRoZXJlIHRvIHRoaXMgc3RyaWN0ZXIgc3RhbmRhcmQgdG8gZW5zdXJlIGludGVyb3BlcmFiaWxpdHkuCgogICAgICBUaGUgZW5jb2Rpbmcgb2YgRE5TIG5hbWVzIGluIHRoZSBETlMgcHJvdG9jb2wgaXMgbGltaXRlZAogICAgICB0byAyNTUgY2hhcmFjdGVycy4gIFNpbmNlIHRoZSBlbmNvZGluZyBjb25zaXN0cyBvZiBsYWJlbHMKICAgICAgcHJlZml4ZWQgYnkgYSBsZW5ndGggYnl0ZXMgYW5kIHRoZXJlIGlzIGEgdHJhaWxpbmcgTlVMTAogICAgICBieXRlLCBvbmx5IDI1MyBjaGFyYWN0ZXJzIGNhbiBhcHBlYXIgaW4gdGhlIHRleHR1YWwgZG90dGVkCiAgICAgIG5vdGF0aW9uLgoKICAgICAgVGhlIGRlc2NyaXB0aW9uIGNsYXVzZSBvZiBzY2hlbWEgbm9kZXMgdXNpbmcgdGhlIGRvbWFpbi1uYW1lCiAgICAgIHR5cGUgTVVTVCBkZXNjcmliZSB3aGVuIGFuZCBob3cgdGhlc2UgbmFtZXMgYXJlIHJlc29sdmVkIHRvCiAgICAgIElQIGFkZHJlc3Nlcy4gIE5vdGUgdGhhdCB0aGUgcmVzb2x1dGlvbiBvZiBhIGRvbWFpbi1uYW1lIHZhbHVlCiAgICAgIG1heSByZXF1aXJlIHRvIHF1ZXJ5IG11bHRpcGxlIEROUyByZWNvcmRzIChlLmcuLCBBIGZvciBJUHY0CiAgICAgIGFuZCBBQUFBIGZvciBJUHY2KS4gIFRoZSBvcmRlciBvZiB0aGUgcmVzb2x1dGlvbiBwcm9jZXNzIGFuZAogICAgICB3aGljaCBETlMgcmVjb3JkIHRha2VzIHByZWNlZGVuY2UgY2FuIGVpdGhlciBiZSBkZWZpbmVkCiAgICAgIGV4cGxpY2l0bHkgb3IgbWF5IGRlcGVuZCBvbiB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUKICAgICAgcmVzb2x2ZXIuCgogICAgICBEb21haW4tbmFtZSB2YWx1ZXMgdXNlIHRoZSBVUy1BU0NJSSBlbmNvZGluZy4gIFRoZWlyIGNhbm9uaWNhbAogICAgICBmb3JtYXQgdXNlcyBsb3dlcmNhc2UgVVMtQVNDSUkgY2hhcmFjdGVycy4gIEludGVybmF0aW9uYWxpemVkCiAgICAgIGRvbWFpbiBuYW1lcyBNVVNUIGJlIEEtbGFiZWxzIGFzIHBlciBSRkMgNTg5MC4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAgOTUyOiBEb0QgSW50ZXJuZXQgSG9zdCBUYWJsZSBTcGVjaWZpY2F0aW9uCiAgICAgIFJGQyAxMDM0OiBEb21haW4gTmFtZXMgLSBDb25jZXB0cyBhbmQgRmFjaWxpdGllcwogICAgICBSRkMgMTEyMzogUmVxdWlyZW1lbnRzIGZvciBJbnRlcm5ldCBIb3N0cyAtLSBBcHBsaWNhdGlvbgogICAgICAgICAgICAgICAgYW5kIFN1cHBvcnQKICAgICAgUkZDIDI3ODI6IEEgRE5TIFJSIGZvciBzcGVjaWZ5aW5nIHRoZSBsb2NhdGlvbiBvZiBzZXJ2aWNlcwogICAgICAgICAgICAgICAgKEROUyBTUlYpCiAgICAgIFJGQyA1ODkwOiBJbnRlcm5hdGlvbmFsaXplZCBEb21haW4gTmFtZXMgaW4gQXBwbGljYXRpb25zCiAgICAgICAgICAgICAgICAoSUROQSk6IERlZmluaXRpb25zIGFuZCBEb2N1bWVudCBGcmFtZXdvcmsiOwogIH0KCiAgdHlwZWRlZiBob3N0IHsKICAgIHR5cGUgdW5pb24gewogICAgICB0eXBlIGluZXQ6aXAtYWRkcmVzczsKICAgICAgdHlwZSBpbmV0OmRvbWFpbi1uYW1lOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGhvc3QgdHlwZSByZXByZXNlbnRzIGVpdGhlciBhbiBJUCBhZGRyZXNzIG9yIGEgRE5TCiAgICAgIGRvbWFpbiBuYW1lLiI7CiAgfQoKICB0eXBlZGVmIHVyaSB7CiAgICB0eXBlIHN0cmluZzsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSB1cmkgdHlwZSByZXByZXNlbnRzIGEgVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyCiAgICAgIChVUkkpIGFzIGRlZmluZWQgYnkgU1REIDY2LgoKICAgICAgT2JqZWN0cyB1c2luZyB0aGUgdXJpIHR5cGUgTVVTVCBiZSBpbiBVUy1BU0NJSSBlbmNvZGluZywKICAgICAgYW5kIE1VU1QgYmUgbm9ybWFsaXplZCBhcyBkZXNjcmliZWQgYnkgUkZDIDM5ODYgU2VjdGlvbnMKICAgICAgNi4yLjEsIDYuMi4yLjEsIGFuZCA2LjIuMi4yLiAgQWxsIHVubmVjZXNzYXJ5CiAgICAgIHBlcmNlbnQtZW5jb2RpbmcgaXMgcmVtb3ZlZCwgYW5kIGFsbCBjYXNlLWluc2Vuc2l0aXZlCiAgICAgIGNoYXJhY3RlcnMgYXJlIHNldCB0byBsb3dlcmNhc2UgZXhjZXB0IGZvciBoZXhhZGVjaW1hbAogICAgICBkaWdpdHMsIHdoaWNoIGFyZSBub3JtYWxpemVkIHRvIHVwcGVyY2FzZSBhcyBkZXNjcmliZWQgaW4KICAgICAgU2VjdGlvbiA2LjIuMi4xLgoKICAgICAgVGhlIHB1cnBvc2Ugb2YgdGhpcyBub3JtYWxpemF0aW9uIGlzIHRvIGhlbHAgcHJvdmlkZQogICAgICB1bmlxdWUgVVJJcy4gIE5vdGUgdGhhdCB0aGlzIG5vcm1hbGl6YXRpb24gaXMgbm90CiAgICAgIHN1ZmZpY2llbnQgdG8gcHJvdmlkZSB1bmlxdWVuZXNzLiAgVHdvIFVSSXMgdGhhdCBhcmUKICAgICAgdGV4dHVhbGx5IGRpc3RpbmN0IGFmdGVyIHRoaXMgbm9ybWFsaXphdGlvbiBtYXkgc3RpbGwgYmUKICAgICAgZXF1aXZhbGVudC4KCiAgICAgIE9iamVjdHMgdXNpbmcgdGhlIHVyaSB0eXBlIG1heSByZXN0cmljdCB0aGUgc2NoZW1lcyB0aGF0CiAgICAgIHRoZXkgcGVybWl0LiAgRm9yIGV4YW1wbGUsICdkYXRhOicgYW5kICd1cm46JyBzY2hlbWVzCiAgICAgIG1pZ2h0IG5vdCBiZSBhcHByb3ByaWF0ZS4KCiAgICAgIEEgemVyby1sZW5ndGggVVJJIGlzIG5vdCBhIHZhbGlkIFVSSS4gIFRoaXMgY2FuIGJlIHVzZWQgdG8KICAgICAgZXhwcmVzcyAnVVJJIGFic2VudCcgd2hlcmUgcmVxdWlyZWQuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgVXJpIFNNSXYyIHRleHR1YWwgY29udmVudGlvbiBkZWZpbmVkIGluIFJGQyA1MDE3LiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDM5ODY6IFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllciAoVVJJKTogR2VuZXJpYyBTeW50YXgKICAgICAgUkZDIDMzMDU6IFJlcG9ydCBmcm9tIHRoZSBKb2ludCBXM0MvSUVURiBVUkkgUGxhbm5pbmcgSW50ZXJlc3QKICAgICAgICAgICAgICAgIEdyb3VwOiBVbmlmb3JtIFJlc291cmNlIElkZW50aWZpZXJzIChVUklzKSwgVVJMcywKICAgICAgICAgICAgICAgIGFuZCBVbmlmb3JtIFJlc291cmNlIE5hbWVzIChVUk5zKTogQ2xhcmlmaWNhdGlvbnMKICAgICAgICAgICAgICAgIGFuZCBSZWNvbW1lbmRhdGlvbnMKICAgICAgUkZDIDUwMTc6IE1JQiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBVbmlmb3JtIFJlc291cmNlCiAgICAgICAgICAgICAgICBJZGVudGlmaWVycyAoVVJJcykiOwogIH0KCn0K
-ietf-yang-types        urn:ietf:params:xml:ns:yang:ietf-yang-types     \N      []      2013-07-15      bW9kdWxlIGlldGYteWFuZy10eXBlcyB7CgogIG5hbWVzcGFjZSAidXJuOmlldGY6cGFyYW1zOnhtbDpuczp5YW5nOmlldGYteWFuZy10eXBlcyI7CiAgcHJlZml4ICJ5YW5nIjsKCiAgb3JnYW5pemF0aW9uCiAgICJJRVRGIE5FVE1PRCAoTkVUQ09ORiBEYXRhIE1vZGVsaW5nIExhbmd1YWdlKSBXb3JraW5nIEdyb3VwIjsKCiAgY29udGFjdAogICAiV0cgV2ViOiAgIDxodHRwOi8vdG9vbHMuaWV0Zi5vcmcvd2cvbmV0bW9kLz4KICAgIFdHIExpc3Q6ICA8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4KCiAgICBXRyBDaGFpcjogRGF2aWQgS2Vzc2VucwogICAgICAgICAgICAgIDxtYWlsdG86ZGF2aWQua2Vzc2Vuc0Buc24uY29tPgoKICAgIFdHIENoYWlyOiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIKICAgICAgICAgICAgICA8bWFpbHRvOmouc2Nob2Vud2FlbGRlckBqYWNvYnMtdW5pdmVyc2l0eS5kZT4KCiAgICBFZGl0b3I6ICAgSnVlcmdlbiBTY2hvZW53YWVsZGVyCiAgICAgICAgICAgICAgPG1haWx0bzpqLnNjaG9lbndhZWxkZXJAamFjb2JzLXVuaXZlcnNpdHkuZGU+IjsKCiAgZGVzY3JpcHRpb24KICAgIlRoaXMgbW9kdWxlIGNvbnRhaW5zIGEgY29sbGVjdGlvbiBvZiBnZW5lcmFsbHkgdXNlZnVsIGRlcml2ZWQKICAgIFlBTkcgZGF0YSB0eXBlcy4KCiAgICBDb3B5cmlnaHQgKGMpIDIwMTMgSUVURiBUcnVzdCBhbmQgdGhlIHBlcnNvbnMgaWRlbnRpZmllZCBhcwogICAgYXV0aG9ycyBvZiB0aGUgY29kZS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCgogICAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvcgogICAgd2l0aG91dCBtb2RpZmljYXRpb24sIGlzIHBlcm1pdHRlZCBwdXJzdWFudCB0bywgYW5kIHN1YmplY3QKICAgIHRvIHRoZSBsaWNlbnNlIHRlcm1zIGNvbnRhaW5lZCBpbiwgdGhlIFNpbXBsaWZpZWQgQlNEIExpY2Vuc2UKICAgIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUgSUVURiBUcnVzdCdzIExlZ2FsIFByb3Zpc2lvbnMKICAgIFJlbGF0aW5nIHRvIElFVEYgRG9jdW1lbnRzCiAgICAoaHR0cDovL3RydXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KCiAgICBUaGlzIHZlcnNpb24gb2YgdGhpcyBZQU5HIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyA2OTkxOyBzZWUKICAgIHRoZSBSRkMgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIjsKCiAgcmV2aXNpb24gMjAxMy0wNy0xNSB7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGlzIHJldmlzaW9uIGFkZHMgdGhlIGZvbGxvd2luZyBuZXcgZGF0YSB0eXBlczoKICAgICAgLSB5YW5nLWlkZW50aWZpZXIKICAgICAgLSBoZXgtc3RyaW5nCiAgICAgIC0gdXVpZAogICAgICAtIGRvdHRlZC1xdWFkIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjk5MTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICByZXZpc2lvbiAyMDEwLTA5LTI0IHsKICAgIGRlc2NyaXB0aW9uCiAgICAgIkluaXRpYWwgcmV2aXNpb24uIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNjAyMTogQ29tbW9uIFlBTkcgRGF0YSBUeXBlcyI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2YgY291bnRlciBhbmQgZ2F1Z2UgdHlwZXMgKioqLwoKICB0eXBlZGVmIGNvdW50ZXIzMiB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBjb3VudGVyMzIgdHlwZSByZXByZXNlbnRzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIKICAgICAgdGhhdCBtb25vdG9uaWNhbGx5IGluY3JlYXNlcyB1bnRpbCBpdCByZWFjaGVzIGEKICAgICAgbWF4aW11bSB2YWx1ZSBvZiAyXjMyLTEgKDQyOTQ5NjcyOTUgZGVjaW1hbCksIHdoZW4gaXQKICAgICAgd3JhcHMgYXJvdW5kIGFuZCBzdGFydHMgaW5jcmVhc2luZyBhZ2FpbiBmcm9tIHplcm8uCgogICAgICBDb3VudGVycyBoYXZlIG5vIGRlZmluZWQgJ2luaXRpYWwnIHZhbHVlLCBhbmQgdGh1cywgYQogICAgICBzaW5nbGUgdmFsdWUgb2YgYSBjb3VudGVyIGhhcyAoaW4gZ2VuZXJhbCkgbm8gaW5mb3JtYXRpb24KICAgICAgY29udGVudC4gIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5nCiAgICAgIHZhbHVlIG5vcm1hbGx5IG9jY3VyIGF0IHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZQogICAgICBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzIGFzIHNwZWNpZmllZCBpbiB0aGUKICAgICAgZGVzY3JpcHRpb24gb2YgYSBzY2hlbWEgbm9kZSB1c2luZyB0aGlzIHR5cGUuICBJZiBzdWNoCiAgICAgIG90aGVyIHRpbWVzIGNhbiBvY2N1ciwgZm9yIGV4YW1wbGUsIHRoZSBjcmVhdGlvbiBvZgogICAgICBhIHNjaGVtYSBub2RlIG9mIHR5cGUgY291bnRlcjMyIGF0IHRpbWVzIG90aGVyIHRoYW4KICAgICAgcmUtaW5pdGlhbGl6YXRpb24sIHRoZW4gYSBjb3JyZXNwb25kaW5nIHNjaGVtYSBub2RlCiAgICAgIHNob3VsZCBiZSBkZWZpbmVkLCB3aXRoIGFuIGFwcHJvcHJpYXRlIHR5cGUsIHRvIGluZGljYXRlCiAgICAgIHRoZSBsYXN0IGRpc2NvbnRpbnVpdHkuCgogICAgICBUaGUgY291bnRlcjMyIHR5cGUgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBjb25maWd1cmF0aW9uCiAgICAgIHNjaGVtYSBub2Rlcy4gIEEgZGVmYXVsdCBzdGF0ZW1lbnQgU0hPVUxEIE5PVCBiZSB1c2VkIGluCiAgICAgIGNvbWJpbmF0aW9uIHdpdGggdGhlIHR5cGUgY291bnRlcjMyLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIENvdW50ZXIzMiB0eXBlIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyNTc4OiBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBWZXJzaW9uIDIKICAgICAgICAgICAgICAgIChTTUl2MikiOwogIH0KCiAgdHlwZWRlZiB6ZXJvLWJhc2VkLWNvdW50ZXIzMiB7CiAgICB0eXBlIHlhbmc6Y291bnRlcjMyOwogICAgZGVmYXVsdCAiMCI7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgemVyby1iYXNlZC1jb3VudGVyMzIgdHlwZSByZXByZXNlbnRzIGEgY291bnRlcjMyCiAgICAgIHRoYXQgaGFzIHRoZSBkZWZpbmVkICdpbml0aWFsJyB2YWx1ZSB6ZXJvLgoKICAgICAgQSBzY2hlbWEgbm9kZSBvZiB0aGlzIHR5cGUgd2lsbCBiZSBzZXQgdG8gemVybyAoMCkgb24gY3JlYXRpb24KICAgICAgYW5kIHdpbGwgdGhlcmVhZnRlciBpbmNyZWFzZSBtb25vdG9uaWNhbGx5IHVudGlsIGl0IHJlYWNoZXMKICAgICAgYSBtYXhpbXVtIHZhbHVlIG9mIDJeMzItMSAoNDI5NDk2NzI5NSBkZWNpbWFsKSwgd2hlbiBpdAogICAgICB3cmFwcyBhcm91bmQgYW5kIHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluIGZyb20gemVyby4KCiAgICAgIFByb3ZpZGVkIHRoYXQgYW4gYXBwbGljYXRpb24gZGlzY292ZXJzIGEgbmV3IHNjaGVtYSBub2RlCiAgICAgIG9mIHRoaXMgdHlwZSB3aXRoaW4gdGhlIG1pbmltdW0gdGltZSB0byB3cmFwLCBpdCBjYW4gdXNlIHRoZQogICAgICAnaW5pdGlhbCcgdmFsdWUgYXMgYSBkZWx0YS4gIEl0IGlzIGltcG9ydGFudCBmb3IgYSBtYW5hZ2VtZW50CiAgICAgIHN0YXRpb24gdG8gYmUgYXdhcmUgb2YgdGhpcyBtaW5pbXVtIHRpbWUgYW5kIHRoZSBhY3R1YWwgdGltZQogICAgICBiZXR3ZWVuIHBvbGxzLCBhbmQgdG8gZGlzY2FyZCBkYXRhIGlmIHRoZSBhY3R1YWwgdGltZSBpcyB0b28KICAgICAgbG9uZyBvciB0aGVyZSBpcyBubyBkZWZpbmVkIG1pbmltdW0gdGltZS4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBaZXJvQmFzZWRDb3VudGVyMzIgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgICJSRkMgNDUwMjogUmVtb3RlIE5ldHdvcmsgTW9uaXRvcmluZyBNYW5hZ2VtZW50IEluZm9ybWF0aW9uCiAgICAgICAgICAgICAgICAgQmFzZSBWZXJzaW9uIDIiOwogIH0KCiAgdHlwZWRlZiBjb3VudGVyNjQgewogICAgdHlwZSB1aW50NjQ7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgY291bnRlcjY0IHR5cGUgcmVwcmVzZW50cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyCiAgICAgIHRoYXQgbW9ub3RvbmljYWxseSBpbmNyZWFzZXMgdW50aWwgaXQgcmVhY2hlcyBhCiAgICAgIG1heGltdW0gdmFsdWUgb2YgMl42NC0xICgxODQ0Njc0NDA3MzcwOTU1MTYxNSBkZWNpbWFsKSwKICAgICAgd2hlbiBpdCB3cmFwcyBhcm91bmQgYW5kIHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluIGZyb20gemVyby4KCiAgICAgIENvdW50ZXJzIGhhdmUgbm8gZGVmaW5lZCAnaW5pdGlhbCcgdmFsdWUsIGFuZCB0aHVzLCBhCiAgICAgIHNpbmdsZSB2YWx1ZSBvZiBhIGNvdW50ZXIgaGFzIChpbiBnZW5lcmFsKSBubyBpbmZvcm1hdGlvbgogICAgICBjb250ZW50LiAgRGlzY29udGludWl0aWVzIGluIHRoZSBtb25vdG9uaWNhbGx5IGluY3JlYXNpbmcKICAgICAgdmFsdWUgbm9ybWFsbHkgb2NjdXIgYXQgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlCiAgICAgIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMgYXMgc3BlY2lmaWVkIGluIHRoZQogICAgICBkZXNjcmlwdGlvbiBvZiBhIHNjaGVtYSBub2RlIHVzaW5nIHRoaXMgdHlwZS4gIElmIHN1Y2gKICAgICAgb3RoZXIgdGltZXMgY2FuIG9jY3VyLCBmb3IgZXhhbXBsZSwgdGhlIGNyZWF0aW9uIG9mCiAgICAgIGEgc2NoZW1hIG5vZGUgb2YgdHlwZSBjb3VudGVyNjQgYXQgdGltZXMgb3RoZXIgdGhhbgogICAgICByZS1pbml0aWFsaXphdGlvbiwgdGhlbiBhIGNvcnJlc3BvbmRpbmcgc2NoZW1hIG5vZGUKICAgICAgc2hvdWxkIGJlIGRlZmluZWQsIHdpdGggYW4gYXBwcm9wcmlhdGUgdHlwZSwgdG8gaW5kaWNhdGUKICAgICAgdGhlIGxhc3QgZGlzY29udGludWl0eS4KCiAgICAgIFRoZSBjb3VudGVyNjQgdHlwZSBzaG91bGQgbm90IGJlIHVzZWQgZm9yIGNvbmZpZ3VyYXRpb24KICAgICAgc2NoZW1hIG5vZGVzLiAgQSBkZWZhdWx0IHN0YXRlbWVudCBTSE9VTEQgTk9UIGJlIHVzZWQgaW4KICAgICAgY29tYmluYXRpb24gd2l0aCB0aGUgdHlwZSBjb3VudGVyNjQuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgQ291bnRlcjY0IHR5cGUgb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDI1Nzg6IFN0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24gMgogICAgICAgICAgICAgICAgKFNNSXYyKSI7CiAgfQoKICB0eXBlZGVmIHplcm8tYmFzZWQtY291bnRlcjY0IHsKICAgIHR5cGUgeWFuZzpjb3VudGVyNjQ7CiAgICBkZWZhdWx0ICIwIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSB6ZXJvLWJhc2VkLWNvdW50ZXI2NCB0eXBlIHJlcHJlc2VudHMgYSBjb3VudGVyNjQgdGhhdAogICAgICBoYXMgdGhlIGRlZmluZWQgJ2luaXRpYWwnIHZhbHVlIHplcm8uCgogICAgICBBIHNjaGVtYSBub2RlIG9mIHRoaXMgdHlwZSB3aWxsIGJlIHNldCB0byB6ZXJvICgwKSBvbiBjcmVhdGlvbgogICAgICBhbmQgd2lsbCB0aGVyZWFmdGVyIGluY3JlYXNlIG1vbm90b25pY2FsbHkgdW50aWwgaXQgcmVhY2hlcwogICAgICBhIG1heGltdW0gdmFsdWUgb2YgMl42NC0xICgxODQ0Njc0NDA3MzcwOTU1MTYxNSBkZWNpbWFsKSwKICAgICAgd2hlbiBpdCB3cmFwcyBhcm91bmQgYW5kIHN0YXJ0cyBpbmNyZWFzaW5nIGFnYWluIGZyb20gemVyby4KCiAgICAgIFByb3ZpZGVkIHRoYXQgYW4gYXBwbGljYXRpb24gZGlzY292ZXJzIGEgbmV3IHNjaGVtYSBub2RlCiAgICAgIG9mIHRoaXMgdHlwZSB3aXRoaW4gdGhlIG1pbmltdW0gdGltZSB0byB3cmFwLCBpdCBjYW4gdXNlIHRoZQogICAgICAnaW5pdGlhbCcgdmFsdWUgYXMgYSBkZWx0YS4gIEl0IGlzIGltcG9ydGFudCBmb3IgYSBtYW5hZ2VtZW50CiAgICAgIHN0YXRpb24gdG8gYmUgYXdhcmUgb2YgdGhpcyBtaW5pbXVtIHRpbWUgYW5kIHRoZSBhY3R1YWwgdGltZQogICAgICBiZXR3ZWVuIHBvbGxzLCBhbmQgdG8gZGlzY2FyZCBkYXRhIGlmIHRoZSBhY3R1YWwgdGltZSBpcyB0b28KICAgICAgbG9uZyBvciB0aGVyZSBpcyBubyBkZWZpbmVkIG1pbmltdW0gdGltZS4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBaZXJvQmFzZWRDb3VudGVyNjQgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyODU2OiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBBZGRpdGlvbmFsIEhpZ2ggQ2FwYWNpdHkKICAgICAgICAgICAgICAgIERhdGEgVHlwZXMiOwogIH0KCiAgdHlwZWRlZiBnYXVnZTMyIHsKICAgIHR5cGUgdWludDMyOwogICAgZGVzY3JpcHRpb24KICAgICAiVGhlIGdhdWdlMzIgdHlwZSByZXByZXNlbnRzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIsIHdoaWNoCiAgICAgIG1heSBpbmNyZWFzZSBvciBkZWNyZWFzZSwgYnV0IHNoYWxsIG5ldmVyIGV4Y2VlZCBhIG1heGltdW0KICAgICAgdmFsdWUsIG5vciBmYWxsIGJlbG93IGEgbWluaW11bSB2YWx1ZS4gIFRoZSBtYXhpbXVtIHZhbHVlCiAgICAgIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gMl4zMi0xICg0Mjk0OTY3Mjk1IGRlY2ltYWwpLCBhbmQKICAgICAgdGhlIG1pbmltdW0gdmFsdWUgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAwLiAgVGhlIHZhbHVlIG9mCiAgICAgIGEgZ2F1Z2UzMiBoYXMgaXRzIG1heGltdW0gdmFsdWUgd2hlbmV2ZXIgdGhlIGluZm9ybWF0aW9uCiAgICAgIGJlaW5nIG1vZGVsZWQgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGl0cyBtYXhpbXVtCiAgICAgIHZhbHVlLCBhbmQgaGFzIGl0cyBtaW5pbXVtIHZhbHVlIHdoZW5ldmVyIHRoZSBpbmZvcm1hdGlvbgogICAgICBiZWluZyBtb2RlbGVkIGlzIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byBpdHMgbWluaW11bSB2YWx1ZS4KICAgICAgSWYgdGhlIGluZm9ybWF0aW9uIGJlaW5nIG1vZGVsZWQgc3Vic2VxdWVudGx5IGRlY3JlYXNlcwogICAgICBiZWxvdyAoaW5jcmVhc2VzIGFib3ZlKSB0aGUgbWF4aW11bSAobWluaW11bSkgdmFsdWUsIHRoZQogICAgICBnYXVnZTMyIGFsc28gZGVjcmVhc2VzIChpbmNyZWFzZXMpLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIEdhdWdlMzIgdHlwZSBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMjU3ODogU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyCiAgICAgICAgICAgICAgICAoU01JdjIpIjsKICB9CgogIHR5cGVkZWYgZ2F1Z2U2NCB7CiAgICB0eXBlIHVpbnQ2NDsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSBnYXVnZTY0IHR5cGUgcmVwcmVzZW50cyBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyLCB3aGljaAogICAgICBtYXkgaW5jcmVhc2Ugb3IgZGVjcmVhc2UsIGJ1dCBzaGFsbCBuZXZlciBleGNlZWQgYSBtYXhpbXVtCiAgICAgIHZhbHVlLCBub3IgZmFsbCBiZWxvdyBhIG1pbmltdW0gdmFsdWUuICBUaGUgbWF4aW11bSB2YWx1ZQogICAgICBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIDJeNjQtMSAoMTg0NDY3NDQwNzM3MDk1NTE2MTUpLCBhbmQKICAgICAgdGhlIG1pbmltdW0gdmFsdWUgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAwLiAgVGhlIHZhbHVlIG9mCiAgICAgIGEgZ2F1Z2U2NCBoYXMgaXRzIG1heGltdW0gdmFsdWUgd2hlbmV2ZXIgdGhlIGluZm9ybWF0aW9uCiAgICAgIGJlaW5nIG1vZGVsZWQgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGl0cyBtYXhpbXVtCiAgICAgIHZhbHVlLCBhbmQgaGFzIGl0cyBtaW5pbXVtIHZhbHVlIHdoZW5ldmVyIHRoZSBpbmZvcm1hdGlvbgogICAgICBiZWluZyBtb2RlbGVkIGlzIHNtYWxsZXIgdGhhbiBvciBlcXVhbCB0byBpdHMgbWluaW11bSB2YWx1ZS4KICAgICAgSWYgdGhlIGluZm9ybWF0aW9uIGJlaW5nIG1vZGVsZWQgc3Vic2VxdWVudGx5IGRlY3JlYXNlcwogICAgICBiZWxvdyAoaW5jcmVhc2VzIGFib3ZlKSB0aGUgbWF4aW11bSAobWluaW11bSkgdmFsdWUsIHRoZQogICAgICBnYXVnZTY0IGFsc28gZGVjcmVhc2VzIChpbmNyZWFzZXMpLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIENvdW50ZXJCYXNlZEdhdWdlNjQgU01JdjIgdGV4dHVhbCBjb252ZW50aW9uIGRlZmluZWQKICAgICAgaW4gUkZDIDI4NTYiOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyODU2OiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBBZGRpdGlvbmFsIEhpZ2ggQ2FwYWNpdHkKICAgICAgICAgICAgICAgIERhdGEgVHlwZXMiOwogIH0KCiAgLyoqKiBjb2xsZWN0aW9uIG9mIGlkZW50aWZpZXItcmVsYXRlZCB0eXBlcyAqKiovCgogIHR5cGVkZWYgb2JqZWN0LWlkZW50aWZpZXIgewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuICcoKFswLTFdKFwuWzEtM10/WzAtOV0pKXwoMlwuKDB8KFsxLTldXGQqKSkpKScKICAgICAgICAgICAgKyAnKFwuKDB8KFsxLTldXGQqKSkpKic7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgb2JqZWN0LWlkZW50aWZpZXIgdHlwZSByZXByZXNlbnRzIGFkbWluaXN0cmF0aXZlbHkKICAgICAgYXNzaWduZWQgbmFtZXMgaW4gYSByZWdpc3RyYXRpb24taGllcmFyY2hpY2FsLW5hbWUgdHJlZS4KCiAgICAgIFZhbHVlcyBvZiB0aGlzIHR5cGUgYXJlIGRlbm90ZWQgYXMgYSBzZXF1ZW5jZSBvZiBudW1lcmljYWwKICAgICAgbm9uLW5lZ2F0aXZlIHN1Yi1pZGVudGlmaWVyIHZhbHVlcy4gIEVhY2ggc3ViLWlkZW50aWZpZXIKICAgICAgdmFsdWUgTVVTVCBOT1QgZXhjZWVkIDJeMzItMSAoNDI5NDk2NzI5NSkuICBTdWItaWRlbnRpZmllcnMKICAgICAgYXJlIHNlcGFyYXRlZCBieSBzaW5nbGUgZG90cyBhbmQgd2l0aG91dCBhbnkgaW50ZXJtZWRpYXRlCiAgICAgIHdoaXRlc3BhY2UuCgogICAgICBUaGUgQVNOLjEgc3RhbmRhcmQgcmVzdHJpY3RzIHRoZSB2YWx1ZSBzcGFjZSBvZiB0aGUgZmlyc3QKICAgICAgc3ViLWlkZW50aWZpZXIgdG8gMCwgMSwgb3IgMi4gIEZ1cnRoZXJtb3JlLCB0aGUgdmFsdWUgc3BhY2UKICAgICAgb2YgdGhlIHNlY29uZCBzdWItaWRlbnRpZmllciBpcyByZXN0cmljdGVkIHRvIHRoZSByYW5nZQogICAgICAwIHRvIDM5IGlmIHRoZSBmaXJzdCBzdWItaWRlbnRpZmllciBpcyAwIG9yIDEuICBGaW5hbGx5LAogICAgICB0aGUgQVNOLjEgc3RhbmRhcmQgcmVxdWlyZXMgdGhhdCBhbiBvYmplY3QgaWRlbnRpZmllcgogICAgICBoYXMgYWx3YXlzIGF0IGxlYXN0IHR3byBzdWItaWRlbnRpZmllcnMuICBUaGUgcGF0dGVybgogICAgICBjYXB0dXJlcyB0aGVzZSByZXN0cmljdGlvbnMuCgogICAgICBBbHRob3VnaCB0aGUgbnVtYmVyIG9mIHN1Yi1pZGVudGlmaWVycyBpcyBub3QgbGltaXRlZCwKICAgICAgbW9kdWxlIGRlc2lnbmVycyBzaG91bGQgcmVhbGl6ZSB0aGF0IHRoZXJlIG1heSBiZQogICAgICBpbXBsZW1lbnRhdGlvbnMgdGhhdCBzdGljayB3aXRoIHRoZSBTTUl2MiBsaW1pdCBvZiAxMjgKICAgICAgc3ViLWlkZW50aWZpZXJzLgoKICAgICAgVGhpcyB0eXBlIGlzIGEgc3VwZXJzZXQgb2YgdGhlIFNNSXYyIE9CSkVDVCBJREVOVElGSUVSIHR5cGUKICAgICAgc2luY2UgaXQgaXMgbm90IHJlc3RyaWN0ZWQgdG8gMTI4IHN1Yi1pZGVudGlmaWVycy4gIEhlbmNlLAogICAgICB0aGlzIHR5cGUgU0hPVUxEIE5PVCBiZSB1c2VkIHRvIHJlcHJlc2VudCB0aGUgU01JdjIgT0JKRUNUCiAgICAgIElERU5USUZJRVIgdHlwZTsgdGhlIG9iamVjdC1pZGVudGlmaWVyLTEyOCB0eXBlIFNIT1VMRCBiZQogICAgICB1c2VkIGluc3RlYWQuIjsKICAgIHJlZmVyZW5jZQogICAgICJJU085ODM0LTE6IEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLS0gT3BlbiBTeXN0ZW1zCiAgICAgIEludGVyY29ubmVjdGlvbiAtLSBQcm9jZWR1cmVzIGZvciB0aGUgb3BlcmF0aW9uIG9mIE9TSQogICAgICBSZWdpc3RyYXRpb24gQXV0aG9yaXRpZXM6IEdlbmVyYWwgcHJvY2VkdXJlcyBhbmQgdG9wCiAgICAgIGFyY3Mgb2YgdGhlIEFTTi4xIE9iamVjdCBJZGVudGlmaWVyIHRyZWUiOwogIH0KCiAgdHlwZWRlZiBvYmplY3QtaWRlbnRpZmllci0xMjggewogICAgdHlwZSBvYmplY3QtaWRlbnRpZmllciB7CiAgICAgIHBhdHRlcm4gJ1xkKihcLlxkKil7MSwxMjd9JzsKICAgIH0KICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoaXMgdHlwZSByZXByZXNlbnRzIG9iamVjdC1pZGVudGlmaWVycyByZXN0cmljdGVkIHRvIDEyOAogICAgICBzdWItaWRlbnRpZmllcnMuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgT0JKRUNUIElERU5USUZJRVIgdHlwZSBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMjU3ODogU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyCiAgICAgICAgICAgICAgICAoU01JdjIpIjsKICB9CgogIHR5cGVkZWYgeWFuZy1pZGVudGlmaWVyIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgbGVuZ3RoICIxLi5tYXgiOwogICAgICBwYXR0ZXJuICdbYS16QS1aX11bYS16QS1aMC05XC1fLl0qJzsKICAgICAgcGF0dGVybiAnLnwuLnxbXnhYXS4qfC5bXm1NXS4qfC4uW15sTF0uKic7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICAiQSBZQU5HIGlkZW50aWZpZXIgc3RyaW5nIGFzIGRlZmluZWQgYnkgdGhlICdpZGVudGlmaWVyJwogICAgICAgcnVsZSBpbiBTZWN0aW9uIDEyIG9mIFJGQyA2MDIwLiAgQW4gaWRlbnRpZmllciBtdXN0CiAgICAgICBzdGFydCB3aXRoIGFuIGFscGhhYmV0aWMgY2hhcmFjdGVyIG9yIGFuIHVuZGVyc2NvcmUKICAgICAgIGZvbGxvd2VkIGJ5IGFuIGFyYml0cmFyeSBzZXF1ZW5jZSBvZiBhbHBoYWJldGljIG9yCiAgICAgICBudW1lcmljIGNoYXJhY3RlcnMsIHVuZGVyc2NvcmVzLCBoeXBoZW5zLCBvciBkb3RzLgoKICAgICAgIEEgWUFORyBpZGVudGlmaWVyIE1VU1QgTk9UIHN0YXJ0IHdpdGggYW55IHBvc3NpYmxlCiAgICAgICBjb21iaW5hdGlvbiBvZiB0aGUgbG93ZXJjYXNlIG9yIHVwcGVyY2FzZSBjaGFyYWN0ZXIKICAgICAgIHNlcXVlbmNlICd4bWwnLiI7CiAgICByZWZlcmVuY2UKICAgICAgIlJGQyA2MDIwOiBZQU5HIC0gQSBEYXRhIE1vZGVsaW5nIExhbmd1YWdlIGZvciB0aGUgTmV0d29yawogICAgICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24gUHJvdG9jb2wgKE5FVENPTkYpIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiB0eXBlcyByZWxhdGVkIHRvIGRhdGUgYW5kIHRpbWUqKiovCgogIHR5cGVkZWYgZGF0ZS1hbmQtdGltZSB7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4gJ1xkezR9LVxkezJ9LVxkezJ9VFxkezJ9OlxkezJ9OlxkezJ9KFwuXGQrKT8nCiAgICAgICAgICAgICsgJyhafFtcK1wtXVxkezJ9OlxkezJ9KSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgZGF0ZS1hbmQtdGltZSB0eXBlIGlzIGEgcHJvZmlsZSBvZiB0aGUgSVNPIDg2MDEKICAgICAgc3RhbmRhcmQgZm9yIHJlcHJlc2VudGF0aW9uIG9mIGRhdGVzIGFuZCB0aW1lcyB1c2luZyB0aGUKICAgICAgR3JlZ29yaWFuIGNhbGVuZGFyLiAgVGhlIHByb2ZpbGUgaXMgZGVmaW5lZCBieSB0aGUKICAgICAgZGF0ZS10aW1lIHByb2R1Y3Rpb24gaW4gU2VjdGlvbiA1LjYgb2YgUkZDIDMzMzkuCgogICAgICBUaGUgZGF0ZS1hbmQtdGltZSB0eXBlIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZGF0ZVRpbWUgWE1MCiAgICAgIHNjaGVtYSB0eXBlIHdpdGggdGhlIGZvbGxvd2luZyBub3RhYmxlIGV4Y2VwdGlvbnM6CgogICAgICAoYSkgVGhlIGRhdGUtYW5kLXRpbWUgdHlwZSBkb2VzIG5vdCBhbGxvdyBuZWdhdGl2ZSB5ZWFycy4KCiAgICAgIChiKSBUaGUgZGF0ZS1hbmQtdGltZSB0aW1lLW9mZnNldCAtMDA6MDAgaW5kaWNhdGVzIGFuIHVua25vd24KICAgICAgICAgIHRpbWUgem9uZSAoc2VlIFJGQyAzMzM5KSB3aGlsZSAtMDA6MDAgYW5kICswMDowMCBhbmQgWgogICAgICAgICAgYWxsIHJlcHJlc2VudCB0aGUgc2FtZSB0aW1lIHpvbmUgaW4gZGF0ZVRpbWUuCgogICAgICAoYykgVGhlIGNhbm9uaWNhbCBmb3JtYXQgKHNlZSBiZWxvdykgb2YgZGF0YS1hbmQtdGltZSB2YWx1ZXMKICAgICAgICAgIGRpZmZlcnMgZnJvbSB0aGUgY2Fub25pY2FsIGZvcm1hdCB1c2VkIGJ5IHRoZSBkYXRlVGltZSBYTUwKICAgICAgICAgIHNjaGVtYSB0eXBlLCB3aGljaCByZXF1aXJlcyBhbGwgdGltZXMgdG8gYmUgaW4gVVRDIHVzaW5nCiAgICAgICAgICB0aGUgdGltZS1vZmZzZXQgJ1onLgoKICAgICAgVGhpcyB0eXBlIGlzIG5vdCBlcXVpdmFsZW50IHRvIHRoZSBEYXRlQW5kVGltZSB0ZXh0dWFsCiAgICAgIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyIHNpbmNlIFJGQyAzMzM5IHVzZXMgYSBkaWZmZXJlbnQKICAgICAgc2VwYXJhdG9yIGJldHdlZW4gZnVsbC1kYXRlIGFuZCBmdWxsLXRpbWUgYW5kIHByb3ZpZGVzCiAgICAgIGhpZ2hlciByZXNvbHV0aW9uIG9mIHRpbWUtc2VjZnJhYy4KCiAgICAgIFRoZSBjYW5vbmljYWwgZm9ybWF0IGZvciBkYXRlLWFuZC10aW1lIHZhbHVlcyB3aXRoIGEga25vd24gdGltZQogICAgICB6b25lIHVzZXMgYSBudW1lcmljIHRpbWUgem9uZSBvZmZzZXQgdGhhdCBpcyBjYWxjdWxhdGVkIHVzaW5nCiAgICAgIHRoZSBkZXZpY2UncyBjb25maWd1cmVkIGtub3duIG9mZnNldCB0byBVVEMgdGltZS4gIEEgY2hhbmdlIG9mCiAgICAgIHRoZSBkZXZpY2UncyBvZmZzZXQgdG8gVVRDIHRpbWUgd2lsbCBjYXVzZSBkYXRlLWFuZC10aW1lIHZhbHVlcwogICAgICB0byBjaGFuZ2UgYWNjb3JkaW5nbHkuICBTdWNoIGNoYW5nZXMgbWlnaHQgaGFwcGVuIHBlcmlvZGljYWxseQogICAgICBpbiBjYXNlIGEgc2VydmVyIGZvbGxvd3MgYXV0b21hdGljYWxseSBkYXlsaWdodCBzYXZpbmcgdGltZQogICAgICAoRFNUKSB0aW1lIHpvbmUgb2Zmc2V0IGNoYW5nZXMuICBUaGUgY2Fub25pY2FsIGZvcm1hdCBmb3IKICAgICAgZGF0ZS1hbmQtdGltZSB2YWx1ZXMgd2l0aCBhbiB1bmtub3duIHRpbWUgem9uZSAodXN1YWxseQogICAgICByZWZlcnJpbmcgdG8gdGhlIG5vdGlvbiBvZiBsb2NhbCB0aW1lKSB1c2VzIHRoZSB0aW1lLW9mZnNldAogICAgICAtMDA6MDAuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMzMzOTogRGF0ZSBhbmQgVGltZSBvbiB0aGUgSW50ZXJuZXQ6IFRpbWVzdGFtcHMKICAgICAgUkZDIDI1Nzk6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyCiAgICAgIFhTRC1UWVBFUzogWE1MIFNjaGVtYSBQYXJ0IDI6IERhdGF0eXBlcyBTZWNvbmQgRWRpdGlvbiI7CiAgfQoKICB0eXBlZGVmIHRpbWV0aWNrcyB7CiAgICB0eXBlIHVpbnQzMjsKICAgIGRlc2NyaXB0aW9uCiAgICAgIlRoZSB0aW1ldGlja3MgdHlwZSByZXByZXNlbnRzIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgdGhhdAogICAgICByZXByZXNlbnRzIHRoZSB0aW1lLCBtb2R1bG8gMl4zMiAoNDI5NDk2NzI5NiBkZWNpbWFsKSwgaW4KICAgICAgaHVuZHJlZHRocyBvZiBhIHNlY29uZCBiZXR3ZWVuIHR3byBlcG9jaHMuICBXaGVuIGEgc2NoZW1hCiAgICAgIG5vZGUgaXMgZGVmaW5lZCB0aGF0IHVzZXMgdGhpcyB0eXBlLCB0aGUgZGVzY3JpcHRpb24gb2YKICAgICAgdGhlIHNjaGVtYSBub2RlIGlkZW50aWZpZXMgYm90aCBvZiB0aGUgcmVmZXJlbmNlIGVwb2Nocy4KCiAgICAgIEluIHRoZSB2YWx1ZSBzZXQgYW5kIGl0cyBzZW1hbnRpY3MsIHRoaXMgdHlwZSBpcyBlcXVpdmFsZW50CiAgICAgIHRvIHRoZSBUaW1lVGlja3MgdHlwZSBvZiB0aGUgU01JdjIuIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgMjU3ODogU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyCiAgICAgICAgICAgICAgICAoU01JdjIpIjsKICB9CgogIHR5cGVkZWYgdGltZXN0YW1wIHsKICAgIHR5cGUgeWFuZzp0aW1ldGlja3M7CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgdGltZXN0YW1wIHR5cGUgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2YgYW4gYXNzb2NpYXRlZAogICAgICB0aW1ldGlja3Mgc2NoZW1hIG5vZGUgYXQgd2hpY2ggYSBzcGVjaWZpYyBvY2N1cnJlbmNlCiAgICAgIGhhcHBlbmVkLiAgVGhlIHNwZWNpZmljIG9jY3VycmVuY2UgbXVzdCBiZSBkZWZpbmVkIGluIHRoZQogICAgICBkZXNjcmlwdGlvbiBvZiBhbnkgc2NoZW1hIG5vZGUgZGVmaW5lZCB1c2luZyB0aGlzIHR5cGUuICBXaGVuCiAgICAgIHRoZSBzcGVjaWZpYyBvY2N1cnJlbmNlIG9jY3VycmVkIHByaW9yIHRvIHRoZSBsYXN0IHRpbWUgdGhlCiAgICAgIGFzc29jaWF0ZWQgdGltZXRpY2tzIGF0dHJpYnV0ZSB3YXMgemVybywgdGhlbiB0aGUgdGltZXN0YW1wCiAgICAgIHZhbHVlIGlzIHplcm8uICBOb3RlIHRoYXQgdGhpcyByZXF1aXJlcyBhbGwgdGltZXN0YW1wIHZhbHVlcwogICAgICB0byBiZSByZXNldCB0byB6ZXJvIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBhc3NvY2lhdGVkIHRpbWV0aWNrcwogICAgICBhdHRyaWJ1dGUgcmVhY2hlcyA0OTcrIGRheXMgYW5kIHdyYXBzIGFyb3VuZCB0byB6ZXJvLgoKICAgICAgVGhlIGFzc29jaWF0ZWQgdGltZXRpY2tzIHNjaGVtYSBub2RlIG11c3QgYmUgc3BlY2lmaWVkCiAgICAgIGluIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgc2NoZW1hIG5vZGUgdXNpbmcgdGhpcyB0eXBlLgoKICAgICAgSW4gdGhlIHZhbHVlIHNldCBhbmQgaXRzIHNlbWFudGljcywgdGhpcyB0eXBlIGlzIGVxdWl2YWxlbnQKICAgICAgdG8gdGhlIFRpbWVTdGFtcCB0ZXh0dWFsIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiUkZDIDI1Nzk6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiBnZW5lcmljIGFkZHJlc3MgdHlwZXMgKioqLwoKICB0eXBlZGVmIHBoeXMtYWRkcmVzcyB7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4gJyhbMC05YS1mQS1GXXsyfSg6WzAtOWEtZkEtRl17Mn0pKik/JzsKICAgIH0KCiAgICBkZXNjcmlwdGlvbgogICAgICJSZXByZXNlbnRzIG1lZGlhLSBvciBwaHlzaWNhbC1sZXZlbCBhZGRyZXNzZXMgcmVwcmVzZW50ZWQKICAgICAgYXMgYSBzZXF1ZW5jZSBvY3RldHMsIGVhY2ggb2N0ZXQgcmVwcmVzZW50ZWQgYnkgdHdvIGhleGFkZWNpbWFsCiAgICAgIG51bWJlcnMuICBPY3RldHMgYXJlIHNlcGFyYXRlZCBieSBjb2xvbnMuICBUaGUgY2Fub25pY2FsCiAgICAgIHJlcHJlc2VudGF0aW9uIHVzZXMgbG93ZXJjYXNlIGNoYXJhY3RlcnMuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgUGh5c0FkZHJlc3MgdGV4dHVhbCBjb252ZW50aW9uIG9mIHRoZSBTTUl2Mi4iOwogICAgcmVmZXJlbmNlCiAgICAgIlJGQyAyNTc5OiBUZXh0dWFsIENvbnZlbnRpb25zIGZvciBTTUl2MiI7CiAgfQoKICB0eXBlZGVmIG1hYy1hZGRyZXNzIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnWzAtOWEtZkEtRl17Mn0oOlswLTlhLWZBLUZdezJ9KXs1fSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJUaGUgbWFjLWFkZHJlc3MgdHlwZSByZXByZXNlbnRzIGFuIElFRUUgODAyIE1BQyBhZGRyZXNzLgogICAgICBUaGUgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIHVzZXMgbG93ZXJjYXNlIGNoYXJhY3RlcnMuCgogICAgICBJbiB0aGUgdmFsdWUgc2V0IGFuZCBpdHMgc2VtYW50aWNzLCB0aGlzIHR5cGUgaXMgZXF1aXZhbGVudAogICAgICB0byB0aGUgTWFjQWRkcmVzcyB0ZXh0dWFsIGNvbnZlbnRpb24gb2YgdGhlIFNNSXYyLiI7CiAgICByZWZlcmVuY2UKICAgICAiSUVFRSA4MDI6IElFRUUgU3RhbmRhcmQgZm9yIExvY2FsIGFuZCBNZXRyb3BvbGl0YW4gQXJlYQogICAgICAgICAgICAgICAgTmV0d29ya3M6IE92ZXJ2aWV3IGFuZCBBcmNoaXRlY3R1cmUKICAgICAgUkZDIDI1Nzk6IFRleHR1YWwgQ29udmVudGlvbnMgZm9yIFNNSXYyIjsKICB9CgogIC8qKiogY29sbGVjdGlvbiBvZiBYTUwtc3BlY2lmaWMgdHlwZXMgKioqLwoKICB0eXBlZGVmIHhwYXRoMS4wIHsKICAgIHR5cGUgc3RyaW5nOwogICAgZGVzY3JpcHRpb24KICAgICAiVGhpcyB0eXBlIHJlcHJlc2VudHMgYW4gWFBBVEggMS4wIGV4cHJlc3Npb24uCgogICAgICBXaGVuIGEgc2NoZW1hIG5vZGUgaXMgZGVmaW5lZCB0aGF0IHVzZXMgdGhpcyB0eXBlLCB0aGUKICAgICAgZGVzY3JpcHRpb24gb2YgdGhlIHNjaGVtYSBub2RlIE1VU1Qgc3BlY2lmeSB0aGUgWFBhdGgKICAgICAgY29udGV4dCBpbiB3aGljaCB0aGUgWFBhdGggZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQuIjsKICAgIHJlZmVyZW5jZQogICAgICJYUEFUSDogWE1MIFBhdGggTGFuZ3VhZ2UgKFhQYXRoKSBWZXJzaW9uIDEuMCI7CiAgfQoKICAvKioqIGNvbGxlY3Rpb24gb2Ygc3RyaW5nIHR5cGVzICoqKi8KCiAgdHlwZWRlZiBoZXgtc3RyaW5nIHsKICAgIHR5cGUgc3RyaW5nIHsKICAgICAgcGF0dGVybiAnKFswLTlhLWZBLUZdezJ9KDpbMC05YS1mQS1GXXsyfSkqKT8nOwogICAgfQogICAgZGVzY3JpcHRpb24KICAgICAiQSBoZXhhZGVjaW1hbCBzdHJpbmcgd2l0aCBvY3RldHMgcmVwcmVzZW50ZWQgYXMgaGV4IGRpZ2l0cwogICAgICBzZXBhcmF0ZWQgYnkgY29sb25zLiAgVGhlIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiB1c2VzCiAgICAgIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLiI7CiAgfQoKICB0eXBlZGVmIHV1aWQgewogICAgdHlwZSBzdHJpbmcgewogICAgICBwYXR0ZXJuICdbMC05YS1mQS1GXXs4fS1bMC05YS1mQS1GXXs0fS1bMC05YS1mQS1GXXs0fS0nCiAgICAgICAgICAgICsgJ1swLTlhLWZBLUZdezR9LVswLTlhLWZBLUZdezEyfSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICJBIFVuaXZlcnNhbGx5IFVuaXF1ZSBJRGVudGlmaWVyIGluIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24KICAgICAgZGVmaW5lZCBpbiBSRkMgNDEyMi4gIFRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gdXNlcwogICAgICBsb3dlcmNhc2UgY2hhcmFjdGVycy4KCiAgICAgIFRoZSBmb2xsb3dpbmcgaXMgYW4gZXhhbXBsZSBvZiBhIFVVSUQgaW4gc3RyaW5nIHJlcHJlc2VudGF0aW9uOgogICAgICBmODFkNGZhZS03ZGVjLTExZDAtYTc2NS0wMGEwYzkxZTZiZjYKICAgICAgIjsKICAgIHJlZmVyZW5jZQogICAgICJSRkMgNDEyMjogQSBVbml2ZXJzYWxseSBVbmlxdWUgSURlbnRpZmllciAoVVVJRCkgVVJOCiAgICAgICAgICAgICAgICBOYW1lc3BhY2UiOwogIH0KCiAgdHlwZWRlZiBkb3R0ZWQtcXVhZCB7CiAgICB0eXBlIHN0cmluZyB7CiAgICAgIHBhdHRlcm4KICAgICAgICAnKChbMC05XXxbMS05XVswLTldfDFbMC05XVswLTldfDJbMC00XVswLTldfDI1WzAtNV0pXC4pezN9JwogICAgICArICcoWzAtOV18WzEtOV1bMC05XXwxWzAtOV1bMC05XXwyWzAtNF1bMC05XXwyNVswLTVdKSc7CiAgICB9CiAgICBkZXNjcmlwdGlvbgogICAgICAiQW4gdW5zaWduZWQgMzItYml0IG51bWJlciBleHByZXNzZWQgaW4gdGhlIGRvdHRlZC1xdWFkCiAgICAgICBub3RhdGlvbiwgaS5lLiwgZm91ciBvY3RldHMgd3JpdHRlbiBhcyBkZWNpbWFsIG51bWJlcnMKICAgICAgIGFuZCBzZXBhcmF0ZWQgd2l0aCB0aGUgJy4nIChmdWxsIHN0b3ApIGNoYXJhY3Rlci4iOwogIH0KfQo=
-o-ran-smo-teiv-cloud   urn:o-ran:smo-teiv-cloud        CLOUD   []      2024-07-15      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNsb3VkIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1jbG91ZCI7CiAgICBwcmVmaXggb3ItdGVpdi1jbG91ZDsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgaWV0Zi1nZW8tbG9jYXRpb24gewogICAgICAgIHByZWZpeCBnZW87CiAgICAgICAgcmVmZXJlbmNlICJSRkMgOTE3OTogQSBZQU5HIEdyb3VwaW5nIGZvciBHZW9ncmFwaGljIExvY2F0aW9ucyI7CiAgICB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBDbG91ZCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgdG9wb2xvZ3kgZW50aXRpZXMgYW5kIHJlbGF0aW9ucyBpbiB0aGUKICAgICAgICBSQU4gQ0xPVUQgZG9tYWluLCB3aGljaCBjb21wcmlzZXMgY2xvdWQgaW5mcmFzdHJ1Y3R1cmUgYW5kCiAgICAgICAgZGVwbG95bWVudCBhc3BlY3RzIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIHRvcG9sb2d5IG1vZGVsLgoKICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgICAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgICAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgICAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICAgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTA1LTAyIiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDctMTUiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhpcyByZXZpc2lvbiBhbGlnbnMgTy1SQU4gV29yayBHcm91cCAxMCBTdGFnZSAyIFNwZWNpZmljYXRpb24gKE8tUkFOLldHMTAuVEUmSVYtQ0lNSS4wLVIwMDQudjAyLjAwKSI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gQ0xPVUQ7CgogICAgbGlzdCBDbG91ZGlmaWVkTkYgewogICAgICAgIGRlc2NyaXB0aW9uICJBIFJBTiBOZXR3b3JrIEZ1bmN0aW9uIHNvZnR3YXJlIHRoYXQgaXMgZGVwbG95ZWQgaW4gdGhlIE8tQ2xvdWQgdmlhIG9uZSBvciBtb3JlIE5GIERlcGxveW1lbnRzLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBDbG91ZGlmaWVkIE5GIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgTkZEZXBsb3ltZW50IHsKICAgICAgICBkZXNjcmlwdGlvbiAiQSBzb2Z0d2FyZSBkZXBsb3ltZW50IG9uIE8tQ2xvdWQgcmVzb3VyY2VzIHRoYXQgcmVhbGl6ZXMsIGFsbCBvciBwYXJ0IG9mLCBhIENsb3VkaWZpZWQgTkYuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgbGVhZiBuYW1lIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOYW1lIG9mIE5GIERlcGxveW1lbnQiOwogICAgICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBPQ2xvdWROYW1lc3BhY2UgewogICAgICAgIGRlc2NyaXB0aW9uICJPQ2xvdWROYW1lc3BhY2UgcHJvdmlkZSBhIG1lY2hhbmlzbSBmb3IgaXNvbGF0aW5nCiAgICAgICAgZ3JvdXBzIG9mIHJlc291cmNlcyB3aXRoaW4gYSBzaW5nbGUgY2x1c3Rlci4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG5hbWUgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5hbWUgb2YgQ2xvdWQgTmFtZXNwYWNlIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgTm9kZUNsdXN0ZXIgewogICAgICAgIGRlc2NyaXB0aW9uICJBIE5vZGVDbHVzdGVyIG1hbmFnZXMgYSBjb2xsZWN0aW9uIG9mIE5vZGVzLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBOb2RlIENsdXN0ZXIiOwogICAgICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBPQ2xvdWRTaXRlIHsKICAgICAgICBkZXNjcmlwdGlvbiAiUmVwcmVzZW50cyB0aGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdAogICAgICAgIGhvc3RzIHRoZSBORiBEZXBsb3ltZW50LiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBDbG91ZCBTaXRlIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CgogICAgICAgICAgICB1c2VzIGdlbzpnZW8tbG9jYXRpb247CiAgICAgICAgfQogICAgfQoKCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIENMT1VESUZJRURORl9DT01QUklTRVNfTkZERVBMT1lNRU5UIHsgLy8gMSB0byAxLi5uCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgY29tcHJpc2VkLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJDbG91ZGlmaWVkIE5GIGNvbXByaXNlcyBvZiB0aGVzZSBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBDbG91ZGlmaWVkTkY7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQoKICAgICAgICBsZWFmIGNvbXByaXNlZC1ieS1jbG91ZGlmaWVkTkYgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCBwYXJ0IG9mIENsb3VkaWZpZWQgTkYuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfREVQTE9ZRURfT05fT0NMT1VETkFNRVNQQUNFIHsgLy8gMS4ubiB0byAxLi5uCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgZGVwbG95ZWQtb24tb2Nsb3VkTmFtZXNwYWNlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5GIERlcGxveW1lbnQgZGVwbG95ZWQgb24gTy1DbG91ZCBOYW1lc3BhY2UuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIE5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBkZXBsb3llZC1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiT0Nsb3VkIE5hbWVzcGFjZSBkZXBsb3lzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE9DbG91ZE5hbWVzcGFjZTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBPQ0xPVUROQU1FU1BBQ0VfREVQTE9ZRURfT05fTk9ERUNMVVNURVIgeyAvLyAxLi5uIHRvIDEKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYgZGVwbG95ZWQtb24tbm9kZUNsdXN0ZXIgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DbG91ZCBOYW1lc3BhY2UgZGVwbG95ZWQgb24gTm9kZSBDbHVzdGVyLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBPQ2xvdWROYW1lc3BhY2U7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3QgZGVwbG95ZWQtb2Nsb3VkTmFtZXNwYWNlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5vZGUgQ2x1c3RlciBkZXBsb3lzIE8tQ2xvdWQgTmFtZXNwYWNlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBOb2RlQ2x1c3RlcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBOT0RFQ0xVU1RFUl9MT0NBVEVEX0FUX09DTE9VRFNJVEUgeyAvLyAxLi5uIHRvIDEuLm4KCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBsb2NhdGVkLWF0LW9jbG91ZFNpdGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTm9kZSBDbHVzdGVyIGxvY2F0ZWQgYXQgTy1DbG91ZCBTaXRlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBOb2RlQ2x1c3RlcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBsb2NhdGlvbi1vZi1vbm9kZUNsdXN0ZXIgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DbG91ZCBTaXRlIGlzIGxvY2F0aW9uIG9mIE5vZGUgQ2x1c3Rlci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgT0Nsb3VkU2l0ZTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtaW4tZWxlbWVudHMgMTsKICAgICAgICB9CiAgICB9Cn0=
-o-ran-smo-teiv-common-yang-extensions  urn:o-ran:smo-teiv-common-yang-extensions       \N      []      2024-05-24      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMgewoKICB5YW5nLXZlcnNpb24gMS4xOwogIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMiOwogIHByZWZpeCBvci10ZWl2LXlleHQ7CgogIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgY29udGFjdCAiVGhlIEF1dGhvcnMiOwogIGRlc2NyaXB0aW9uCiAgIlRvcG9sb2d5IGFuZCBJbnZlbnRvcnkgWUFORyBleHRlbnNpb25zIG1vZGVsCgogIFRoaXMgbW9kZWwgY29udGFpbnMgZXh0ZW5zaW9ucyB0byB0aGUgWUFORyBsYW5ndWFnZSB0aGF0IHRvcG9sb2d5IGFuZAogIGludmVudG9yeSBtb2RlbHMgd2lsbCB1c2UgdG8gZGVmaW5lIGFuZCBhbm5vdGF0ZSB0eXBlcyBhbmQgcmVsYXRpb25zaGlwcy4KCiAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0wNS0yNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIGV4dGVuc2lvbiBiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgewogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJEZWZpbmVzIGEgYmktZGlyZWN0aW9uYWwgcmVsYXRpb25zaGlwIGluIHRoZSB0b3BvbG9neS4KCiAgICAgICAgICAgIEEgYmktZGlyZWN0aW9uYWwtYXNzb2NpYXRpb24gKEJEQSkgaXMgYSByZWxhdGlvbnNoaXAgY29tcHJpc2luZyBvZgogICAgICAgICAgICBhbiBBLXNpZGUgYW5kIGEgQi1zaWRlLiBUaGUgQS1zaWRlIGlzIGNvbnNpZGVyZWQgdGhlIG9yaWdpbmF0aW5nCiAgICAgICAgICAgIHNpZGUgb2YgdGhlIHJlbGF0aW9uc2hpcDsgdGhlIEItc2lkZSBpcyBjb25zaWRlcmVkIHRoZSB0ZXJtaW5hdGluZwogICAgICAgICAgICBzaWRlIG9mIHRoZSByZWxhdGlvbnNoaXAuIFRoZSBvcmRlciBvZiBBLXNpZGUgYW5kIEItc2lkZSBpcyBvZgogICAgICAgICAgICBpbXBvcnRhbmNlIGFuZCBNVVNUIE5PVCBiZSBjaGFuZ2VkIG9uY2UgZGVmaW5lZC4KCiAgICAgICAgICAgIEJvdGggQS1zaWRlIGFuZCBCLXNpZGUgYXJlIGRlZmluZWQgb24gYSB0eXBlLCBhbmQgYXJlIGdpdmVuIGEgcm9sZS4KICAgICAgICAgICAgQSB0eXBlIG1heSBoYXZlIG11bHRpcGxlIG9yaWdpbmF0aW5nIGFuZC9vciB0ZXJtaW5hdGluZyBzaWRlcyBvZiBhCiAgICAgICAgICAgIHJlbGF0aW9uc2hpcCwgYWxsIGRpc3Rpbmd1aXNoZWQgYnkgcm9sZSBuYW1lLgoKICAgICAgICAgICAgVGhlIHN0YXRlbWVudCBNVVNUIG9ubHkgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgdGhlICdtb2R1bGUnIHN0YXRlbWVudC4KICAgICAgICAgICAgTXVsdGlwbGUgJ2JpLWRpcmVjdGlvbmFsLXRvcG9sb2d5LXJlbGF0aW9uc2hpcCcgc3RhdGVtZW50cyBhcmUKICAgICAgICAgICAgYWxsb3dlZCBwZXIgcGFyZW50IHN0YXRlbWVudC4KCiAgICAgICAgICAgIFN1YnN0YXRlbWVudHMgdG8gdGhlICdiaS1kaXJlY3Rpb25hbC10b3BvbG9neS1yZWxhdGlvbnNoaXAnIGRlZmluZQogICAgICAgICAgICB0aGUgQS1zaWRlIGFuZCB0aGUgQi1zaWRlLCByZXNwZWN0aXZlbHksIGFuZCBvcHRpb25hbGx5IHByb3BlcnRpZXMKICAgICAgICAgICAgb2YgdGhlIHJlbGF0aW9uc2hpcC4gRGF0YSBub2RlcyBvZiB0eXBlcyAnbGVhZicgYW5kICdsZWFmLWxpc3QnIGFyZQogICAgICAgICAgICB1c2VkIGZvciB0aGlzIHB1cnBvc2UuIE9uZSBvZiB0aGUgZGF0YSBub2RlcyBNVVNUIGJlIGFubm90YXRlZCB3aXRoCiAgICAgICAgICAgIHRoZSAnYS1zaWRlJyBleHRlbnNpb247IGFub3RoZXIgZGF0YSBub2RlIE1VU1QgYmUgYW5ub3RhdGVkIHdpdGggdGhlCiAgICAgICAgICAgICdiLXNpZGUnIGV4dGVuc2lvbi4gT3RoZXIgZGF0YSBub2RlcyBkZWZpbmUgcHJvcGVydGllcyBvZiB0aGUKICAgICAgICAgICAgcmVsYXRpb25zaGlwLgoKICAgICAgICAgICAgVGhlIGFyZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoZSByZWxhdGlvbnNoaXAuIFRoZSByZWxhdGlvbnNoaXAgbmFtZQogICAgICAgICAgICBpcyBzY29wZWQgdG8gdGhlIG5hbWVzcGFjZSBvZiB0aGUgZGVjbGFyaW5nIG1vZHVsZSBhbmQgTVVTVCBiZQogICAgICAgICAgICB1bmlxdWUgd2l0aGluIHRoZSBzY29wZS4iOwoKICAgICAgICBhcmd1bWVudCByZWxhdGlvbnNoaXBOYW1lOwogICAgfQoKICAgIGV4dGVuc2lvbiBhU2lkZSB7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIkRlZmluZXMgdGhlIEEtc2lkZSBvZiBhIHJlbGF0aW9uc2hpcC4KCiAgICAgICAgICAgIFRoZSBzdGF0ZW1lbnQgTVVTVCBvbmx5IGJlIGEgc3Vic3RhdGVtZW50IG9mIGEgJ2xlYWYnIG9yICdsZWFmLWxpc3QnCiAgICAgICAgICAgIHN0YXRlbWVudCwgd2hpY2ggaXRzZWxmIG11c3QgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgdGhlCiAgICAgICAgICAgICd1bmktZGlyZWN0aW9uYWwtdG9wb2xvZ3ktcmVsYXRpb25zaGlwJyBzdGF0ZW1lbnQuCgogICAgICAgICAgICBUaGUgZGF0YSB0eXBlIG9mIHRoZSBwYXJlbnQgJ2xlYWYnIG9yICdsZWFmLWxpc3QnIE1VU1QgYmUKICAgICAgICAgICAgJ2luc3RhbmNlLWlkZW50aWZpZXInLiBDb25zdHJhaW50cyBNQVkgYmUgdXNlZCBhcyBwYXJ0IG9mIHRoZSBwYXJlbnQKICAgICAgICAgICAgJ2xlYWYnIG9yICdsZWFmLWxpc3QnIHRvIGVuZm9yY2UgY2FyZGluYWxpdHkuCgogICAgICAgICAgICBUaGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50ICdsZWFmJyBvciAnbGVhZi1saXN0JyBpcyB1c2VkIGFzIG5hbWUKICAgICAgICAgICAgb2YgdGhlIHJvbGUgb2YgdGhlIEEtc2lkZSBvZiB0aGUgcmVsYXRpb25zaGlwLiBUaGUgbmFtZSBvZiB0aGUgcm9sZQogICAgICAgICAgICBpcyBzY29wZWQgdG8gdGhlIHR5cGUgb24gd2hpY2ggdGhlIEEtc2lkZSBpcyBkZWZpbmVkIGFuZCBNVVNUIGJlCiAgICAgICAgICAgIHVuaXF1ZSB3aXRoaW4gdGhlIHNjb3BlLgoKICAgICAgICAgICAgV2hpbGUgdGhlIHBhcmVudCAnbGVhZicgb3IgJ2xlYWYtbGlzdCcgZG9lcyBub3QgcmVzdWx0IGluIGEgcHJvcGVydHkKICAgICAgICAgICAgb2YgdGhlIHJlbGF0aW9uc2hpcCwgaXQgaXMgUkVDT01NRU5ERUQgdG8gYXZvaWQgdXNpbmcgdGhlIG5hbWUgb2YgYW4KICAgICAgICAgICAgZXhpc3RpbmcgdHlwZSBwcm9wZXJ0eSBhcyByb2xlIG5hbWUgdG8gYXZvaWQgcG90ZW50aWFsIGFtYmlndWl0aWVzCiAgICAgICAgICAgIGJldHdlZW4gcHJvcGVydGllcyBvZiBhIHR5cGUsIGFuZCByb2xlcyBvZiBhIHJlbGF0aW9uc2hpcCBvbiB0aGUKICAgICAgICAgICAgdHlwZS4KCiAgICAgICAgICAgIFRoZSBhcmd1bWVudCBpcyB0aGUgbmFtZSBvZiB0aGUgdHlwZSBvbiB3aGljaCB0aGUgQS1zaWRlIHJlc2lkZXMuCiAgICAgICAgICAgIElmIHRoZSB0eXBlIGlzIGRlY2xhcmVkIGluIGFub3RoZXIgbW9kdWxlLCB0aGUgdHlwZSBtdXN0IGJlCiAgICAgICAgICAgIHByZWZpeGVkLCBhbmQgYSBjb3JyZXNwb25kaW5nICdpbXBvcnQnIHN0YXRlbWVudCBiZSB1c2VkIHRvIGRlY2xhcmUKICAgICAgICAgICAgdGhlIHByZWZpeC4iOwoKICAgICAgICBhcmd1bWVudCBhU2lkZVR5cGU7CiAgICB9CgogICAgZXh0ZW5zaW9uIGJTaWRlIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiRGVmaW5lcyB0aGUgQi1zaWRlIG9mIGEgcmVsYXRpb25zaGlwLgoKICAgICAgICAgICAgVGhlIHN0YXRlbWVudCBNVVNUIG9ubHkgYmUgYSBzdWJzdGF0ZW1lbnQgb2YgYSAnbGVhZicgb3IgJ2xlYWYtbGlzdCcKICAgICAgICAgICAgc3RhdGVtZW50LCB3aGljaCBpdHNlbGYgbXVzdCBiZSBhIHN1YnN0YXRlbWVudCBvZiB0aGUKICAgICAgICAgICAgJ3VuaS1kaXJlY3Rpb25hbC10b3BvbG9neS1yZWxhdGlvbnNoaXAnIHN0YXRlbWVudC4KCiAgICAgICAgICAgIFRoZSBkYXRhIHR5cGUgb2YgdGhlIHBhcmVudCAnbGVhZicgb3IgJ2xlYWYtbGlzdCcgTVVTVCBiZQogICAgICAgICAgICAnaW5zdGFuY2UtaWRlbnRpZmllcicuIENvbnN0cmFpbnRzIE1BWSBiZSB1c2VkIGFzIHBhcnQgb2YgdGhlIHBhcmVudAogICAgICAgICAgICAnbGVhZicgb3IgJ2xlYWYtbGlzdCcgdG8gZW5mb3JjZSBjYXJkaW5hbGl0eS4KCiAgICAgICAgICAgIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBwYXJlbnQgJ2xlYWYnIG9yICdsZWFmLWxpc3QnIGlzIHVzZWQgYXMgbmFtZQogICAgICAgICAgICBvZiB0aGUgcm9sZSBvZiB0aGUgQi1zaWRlIG9mIHRoZSByZWxhdGlvbnNoaXAuIFRoZSBuYW1lIG9mIHRoZSByb2xlCiAgICAgICAgICAgIGlzIHNjb3BlZCB0byB0aGUgdHlwZSBvbiB3aGljaCB0aGUgQi1zaWRlIGlzIGRlZmluZWQgYW5kIE1VU1QgYmUKICAgICAgICAgICAgdW5pcXVlIHdpdGhpbiB0aGUgc2NvcGUuCgogICAgICAgICAgICBXaGlsZSB0aGUgcGFyZW50ICdsZWFmJyBvciAnbGVhZi1saXN0JyBkb2VzIG5vdCByZXN1bHQgaW4gYSBwcm9wZXJ0eQogICAgICAgICAgICBvZiB0aGUgcmVsYXRpb25zaGlwLCBpdCBpcyBSRUNPTU1FTkRFRCB0byBhdm9pZCB1c2luZyB0aGUgbmFtZSBvZiBhbgogICAgICAgICAgICBleGlzdGluZyB0eXBlIHByb3BlcnR5IGFzIHJvbGUgbmFtZSB0byBhdm9pZCBwb3RlbnRpYWwgYW1iaWd1aXRpZXMKICAgICAgICAgICAgYmV0d2VlbiBwcm9wZXJ0aWVzIG9mIGEgdHlwZSwgYW5kIHJvbGVzIG9mIGEgcmVsYXRpb25zaGlwIG9uIHRoZQogICAgICAgICAgICB0eXBlLgoKICAgICAgICAgICAgVGhlIGFyZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoZSB0eXBlIG9uIHdoaWNoIHRoZSBCLXNpZGUgcmVzaWRlcy4KICAgICAgICAgICAgSWYgdGhlIHR5cGUgaXMgZGVjbGFyZWQgaW4gYW5vdGhlciBtb2R1bGUsIHRoZSB0eXBlIG11c3QgYmUKICAgICAgICAgICAgcHJlZml4ZWQsIGFuZCBhIGNvcnJlc3BvbmRpbmcgJ2ltcG9ydCcgc3RhdGVtZW50IGJlIHVzZWQgdG8gZGVjbGFyZQogICAgICAgICAgICB0aGUgcHJlZml4LiI7CgogICAgICAgIGFyZ3VtZW50IGJTaWRlVHlwZTsKICAgIH0KCiAgICBleHRlbnNpb24gZG9tYWluIHsKICAgICAgICBkZXNjcmlwdGlvbiAiS2V5d29yZCB1c2VkIHRvIGNhcnJ5IGRvbWFpbiBpbmZvcm1hdGlvbi4iOwogICAgICAgIGFyZ3VtZW50IGRvbWFpbk5hbWU7CiAgICB9CgogICAgZXh0ZW5zaW9uIGxhYmVsIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGxhYmVsIGNhbiBiZSB1c2VkIHRvIGdpdmUgbW9kdWxlcyBhbmQgc3VibW9kdWxlcyBhIHNlbWFudGljCiAgICAgICAgICAgIHZlcnNpb24sIGluIGFkZGl0aW9uIHRvIHRoZWlyIHJldmlzaW9uLgoKICAgICAgICAgICAgVGhlIGZvcm1hdCBvZiB0aGUgbGFiZWwgaXMgJ3gueS56JyAtIGV4cHJlc3NlZCBhcyBwYXR0ZXJuLCBpdCBpcwogICAgICAgICAgICBbMC05XStcXC5bMC05XStcXC5bMC05XSsKCiAgICAgICAgICAgIFRoZSBzdGF0ZW1lbnQgTVVTVCBvbmx5IGJlIGEgc3Vic3RhdGVtZW50IG9mIHRoZSByZXZpc2lvbiBzdGF0ZW1lbnQuCiAgICAgICAgICAgIFplcm8gb3Igb25lIHJldmlzaW9uIGxhYmVsIHN0YXRlbWVudHMgcGVyIHBhcmVudCBzdGF0ZW1lbnQgYXJlCiAgICAgICAgICAgIGFsbG93ZWQuCgogICAgICAgICAgICBSZXZpc2lvbiBsYWJlbHMgTVVTVCBiZSB1bmlxdWUgYW1vbmdzdCBhbGwgcmV2aXNpb25zIG9mIGEgbW9kdWxlIG9yCiAgICAgICAgICAgIHN1Ym1vZHVsZS4iOwoKICAgICAgICBhcmd1bWVudCBzZW12ZXJzaW9uOwogICAgfQp9
-o-ran-smo-teiv-common-yang-types       urn:o-ran:smo-teiv-common-yang-types    \N      []      2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLXR5cGVzIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyI7CiAgICBwcmVmaXggb3ItdGVpdi10eXBlczsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7IHByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgXzNncHAtY29tbW9uLXlhbmctdHlwZXMgeyBwcmVmaXggdHlwZXMzZ3BwOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAiVG9wb2xvZ3kgYW5kIEludmVudG9yeSBjb21tb24gdHlwZXMgbW9kZWwKCiAgICBUaGlzIG1vZGVsIGNvbnRhaW5zIHJlLXVzYWJsZSBkYXRhIHR5cGVzIHRoYXQgdG9wb2xvZ3kgYW5kIGludmVudG9yeSBtb2RlbHMKICAgIHdpbGwgZnJlcXVlbnRseSB1c2UgYXMgcGFydCBvZiB0eXBlcyBhbmQgcmVsYXRpb25zaGlwcy4KCiAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0xMC0wNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJBZGRlZCBPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwIGFuZCBPcmlnaW5fUmVsYXRpb25zaGlwX01hcHBpbmdfR3JwCiAgICAgICAgZm9yIHNvdXJjZUlkcyBhbmQgcmVsaWFiaWxpdHlJbmRpY2F0b3IgdG8gbWV0YWRhdGEuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC40LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDUtMjQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCByZXZpc2lvbi4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjMuMDsKICAgIH0KCiAgICBncm91cGluZyBUb3BfR3JwX1R5cGUgewogICAgICAgIGRlc2NyaXB0aW9uICJHcm91cGluZyBjb250YWluaW5nIHRoZSBrZXkgYXR0cmlidXRlIGNvbW1vbiB0byBhbGwgdHlwZXMuCiAgICAgICAgICAgIEFsbCB0eXBlcyBNVVNUIHVzZSB0aGlzIGdyb3VwaW5nLiI7CgogICAgICAgIGxlYWYgaWQgewogICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIlVuaXF1ZSBpZGVudGlmaWVyIG9mIHRvcG9sb2d5IGVudGl0aWVzLiBSZXByZXNlbnRzIHRoZQogICAgICAgICAgICAgICAgRW50aXR5IEluc3RhbmNlIElkZW50aWZpZXIuIjsKICAgICAgICB9CiAgICB9CgogICAgY29udGFpbmVyIGRlY29yYXRvcnMgewogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGlzIGNvbnRhaW5lciBzZXJ2ZXMgYXMgZXh0ZW5zaW9uIHBvaW50IGZvciBhcHBsaWNhdGlvbnMgd2lzaGluZwogICAgICAgICAgICB0byBkZWZpbmUgdGhlaXIgb3duIGRlY29yYXRvcnMuIFRoaXMgaXMgZG9uZSB2aWEgYXVnbWVudGF0aW9ucy4gVGhleQogICAgICAgICAgICBjYW4gb25seSBiZSBkZWZpbmVkIGluIG5hbWUgdmFsdWUgcGFpci4KCiAgICAgICAgICAgIFRoaXMgaXMgYSBjb25zdW1lciBkYXRhIGFuZCBjYW4gYmUgYXR0YWNoZWQgdG8gVG9wb2xvZ3kgRW50aXR5IG9yCiAgICAgICAgICAgIFRvcG9sb2d5IFJlbGF0aW9uIGluc3RhbmNlLCBvdXRzaWRlIG9mIHRoZSBkZWNsYXJlZCBUb3BvbG9neSBFbnRpdHkKICAgICAgICAgICAgb3IgVG9wb2xvZ3kgUmVsYXRpb25zaGlwJ3MgYXR0cmlidXRlcy4gVGhpcyBjYW5ub3QgYmUgaW5zdGFudGlhdGVkLAogICAgICAgICAgICBhbmQgaXQgTVVTVCBOT1QgYmUgYXVnbWVudGVkIG9yIGRldmlhdGVkIGluIGFueSB3YXksIHVubGVzcyBzdGF0ZWQKICAgICAgICAgICAgb3RoZXJ3aXNlLiI7CiAgICB9CgogICAgbGVhZi1saXN0IGNsYXNzaWZpZXJzIHsKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiQ29uc3VtZXIgZGVmaW5lZCB0YWdzIHRvIHRvcG9sb2d5IGVudGl0aWVzIGFuZCByZWxhdGlvbnNoaXBzLgoKICAgICAgICAgICAgVGhpcyBpcyBhIGNvbnN1bWVyIGRhdGEgYW5kIGNhbiBiZSBhdHRhY2hlZCB0byBUb3BvbG9neSBFbnRpdHkgb3IKICAgICAgICAgICAgVG9wb2xvZ3kgUmVsYXRpb24gaW5zdGFuY2UsIG91dHNpZGUgb2YgdGhlIGRlY2xhcmVkIFRvcG9sb2d5IEVudGl0eQogICAgICAgICAgICBvciBUb3BvbG9neSBSZWxhdGlvbnNoaXAncyBhdHRyaWJ1dGVzLiBUaGlzIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQsCiAgICAgICAgICAgIGFuZCBpdCBNVVNUIE5PVCBiZSBhdWdtZW50ZWQgb3IgZGV2aWF0ZWQgaW4gYW55IHdheSwgdW5sZXNzIHN0YXRlZAogICAgICAgICAgICBvdGhlcndpc2UuIjsKCiAgICAgICAgdHlwZSBpZGVudGl0eXJlZiB7IGJhc2UgY2xhc3NpZmllcjsgfQogICAgfQoKICAgIGdyb3VwaW5nIE9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnAgewogICAgICAgIGRlc2NyaXB0aW9uICJHcm91cGluZyB0byBpZGVudGlmeSBzb3VyY2VJZHMgb24gYSB0b3BvbG9neSBlbnRpdHkuIjsKCiAgICAgICAgbGVhZi1saXN0IHNvdXJjZUlkcyB7CgogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgIkFuIG9yZGVyZWQgbGlzdCBvZiBpZGVudGl0aWVzIHRoYXQgcmVwcmVzZW50IHRoZSBzZXQgb2YgbmF0aXZlCiAgICAgICAgICAgICAgICBzb3VyY2UgaWRlbnRpZmllcnMgZm9yIHBhcnRpY2lwYXRpbmcgZW50aXRpZXMuCgogICAgICAgICAgICAgICAgVGhpcyBtdXN0IGJlIGF0dGFjaGVkIHRvIHRoZSBUb3BvbG9neSBFbnRpdHkgaW5zdGFuY2UsIG91dHNpZGUgb2YgdGhlCiAgICAgICAgICAgICAgICBkZWNsYXJlZCBUb3BvbG9neSBFbnRpdHkncyBhdHRyaWJ1dGVzLiBUaGlzIGlzIGV4cG9zZWQgdG8gdGhlCiAgICAgICAgICAgICAgICBjb25zdW1lcnMgYW5kIGNhbiBvbmx5IGJlIHNldCBieSB0aGUgcmVzcG9uc2libGUgYWRhcHRlci4gVGhpcwogICAgICAgICAgICAgICAgY2Fubm90IGJlIGluc3RhbnRpYXRlZCwgYW5kIGl0IE1VU1QgTk9UIGJlIGF1Z21lbnRlZCBvciBkZXZpYXRlZAogICAgICAgICAgICAgICAgaW4gYW55IHdheSwgdW5sZXNzIHN0YXRlZCBvdGhlcndpc2UuIjsKCiAgICAgICAgICAgIHR5cGUgc291cmNlSWQ7CiAgICAgICAgICAgIG9yZGVyZWQtYnkgdXNlcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQoKICAgIGdyb3VwaW5nIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgewogICAgICAgIGRlc2NyaXB0aW9uICJHcm91cGluZyB0byBpZGVudGlmeSBzb3VyY2VJZHMgb24gYSB0b3BvbG9neSByZWxhdGlvbnNoaXAuIjsKCiAgICAgICAgbGVhZi1saXN0IHNvdXJjZUlkcyB7CgogICAgICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgIkFuIG9yZGVyZWQgbGlzdCBvZiBpZGVudGl0aWVzIHRoYXQgcmVwcmVzZW50IHRoZSBzZXQgb2YgbmF0aXZlCiAgICAgICAgICAgICAgICBzb3VyY2UgaWRlbnRpZmllcnMgZm9yIHBhcnRpY2lwYXRpbmcgZW50aXRpZXMgaW4gdGhlIHJlbGF0aW9uc2hpcC4KCiAgICAgICAgICAgICAgICBUaGlzIG11c3QgYmUgYXR0YWNoZWQgdG8gdGhlIFRvcG9sb2d5IFJlbGF0aW9uIGluc3RhbmNlLCBvdXRzaWRlIG9mIHRoZQogICAgICAgICAgICAgICAgZGVjbGFyZWQgVG9wb2xvZ3kgUmVsYXRpb25zaGlwJ3MgYXR0cmlidXRlcy4gVGhpcyBpcyBleHBvc2VkIHRvIHRoZQogICAgICAgICAgICAgICAgY29uc3VtZXJzIGFuZCBjYW4gb25seSBiZSBzZXQgYnkgdGhlIHJlc3BvbnNpYmxlIGFkYXB0ZXIuIFRoaXMKICAgICAgICAgICAgICAgIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQsIGFuZCBpdCBNVVNUIE5PVCBiZSBhdWdtZW50ZWQgb3IgZGV2aWF0ZWQgaW4KICAgICAgICAgICAgICAgIGFueSB3YXksIHVubGVzcyBzdGF0ZWQgb3RoZXJ3aXNlLiI7CgogICAgICAgICAgICB0eXBlIHNvdXJjZUlkOwogICAgICAgICAgICBvcmRlcmVkLWJ5IHVzZXI7CiAgICAgICAgICAgIG1pbi1lbGVtZW50cyAyOwogICAgICAgIH0KICAgIH0KCiAgICBjb250YWluZXIgbWV0YWRhdGEgewogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGlzIGNvbnRhaW5lciBzZXJ2ZXMgYXMgYW4gZXh0ZW5zaW9uIHBvaW50IHRvIGRlZmluZSBtZXRhZGF0YS4gVGhleQogICAgICAgICAgICBjYW4gb25seSBiZSBkZWZpbmVkIGluIG5hbWUgdmFsdWUgcGFpcnMuCgogICAgICAgICAgICBUaGlzIG11c3QgYmUgYXR0YWNoZWQgdG8gdGhlIFRvcG9sb2d5IEVudGl0eSBvciBUb3BvbG9neSBSZWxhdGlvbiBpbnN0YW5jZSwKICAgICAgICAgICAgb3V0c2lkZSBvZiB0aGUgZGVjbGFyZWQgVG9wb2xvZ3kgRW50aXR5IG9yIFRvcG9sb2d5IFJlbGF0aW9uc2hpcCdzCiAgICAgICAgICAgIGF0dHJpYnV0ZXMuIFRoaXMgaXMgZXhwb3NlZCB0byB0aGUgY29uc3VtZXJzIGFuZCBjYW4gb25seSBiZSBzZXQgYnkKICAgICAgICAgICAgdGhlIHJlc3BvbnNpYmxlIGFkYXB0ZXIuIFRoaXMgY2Fubm90IGJlIGluc3RhbnRpYXRlZCwgYW5kIGl0IE1VU1QgTk9UIGJlCiAgICAgICAgICAgIGF1Z21lbnRlZCBvciBkZXZpYXRlZCBpbiBhbnkgd2F5LCB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZS4iOwoKICAgICAgICBsZWFmIHJlbGlhYmlsaXR5SW5kaWNhdG9yIHsKICAgICAgICAgICAgdHlwZSBlbnVtZXJhdGlvbiB7CiAgICAgICAgICAgICAgICBlbnVtIE9LIHsKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIGRhdGEgaXMgaW4gYWxpZ25tZW50IHdpdGggdGhlIHNvdXJjZSBvZiB0cnV0aCwKICAgICAgICAgICAgICAgICAgICBhcyBmYXIgYXMgVG9wb2xvZ3kgRXhwb3N1cmUgSGFuZGxpbmcgaXMgYXdhcmUuIjsKICAgICAgICAgICAgICAgICAgICB2YWx1ZSAwOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZW51bSBSRVNUT1JFRCB7CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBkYXRhIHdhcyByZXN0b3JlZCBmcm9tIGJhY2t1cCBhbmQgdGhlIHJlc3BvbnNpYmxlCiAgICAgICAgICAgICAgICAgICAgYWRhcHRlcnMgYXJlIGNoZWNraW5nIHRvIGVuc3VyZSB0aGUgZGF0YSBpcyBjdXJyZW50LiI7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgMTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVudW0gQURWSVNFRCB7CiAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkVudGl0eSBpbXBsaWNpdGx5IGNyZWF0ZWQgYnkgVG9wb2xvZ3kgRXhwb3N1cmUgSGFuZGxpbmcgYW5kCiAgICAgICAgICAgICAgICAgICAgcG90ZW50aWFsbHkgbm90IGFsaWduZWQgd2l0aCB0aGUgc291cmNlIG9mIHRydXRoLiI7CiAgICAgICAgICAgICAgICAgICAgdmFsdWUgMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBpZGVudGl0eSBjbGFzc2lmaWVyIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIGNsYXNzaWZpZXIgaXMgdXNlZCBhcyBhIGJhc2UgdG8gcHJvdmlkZSBhbGwgY2xhc3NpZmllcnMKICAgICAgICB3aXRoIGlkZW50aXR5LiAiOwogICAgfQoKICAgIHR5cGVkZWYgc291cmNlSWQgewogICAgICAgIGRlc2NyaXB0aW9uICJBbiBpZGVudGl0eSB0aGF0IHJlcHJlc2VudHMgYSBuYXRpdmUgaWRlbnRpZmllciBvZiBhIHRvcG9sb2d5IGVudGl0eS4iOwogICAgICAgIHR5cGUgc3RyaW5nOwogICAgfQp9
-o-ran-smo-teiv-equipment       urn:o-ran:smo-teiv-equipment    EQUIPMENT       []      2024-10-21      bW9kdWxlIG8tcmFuLXNtby10ZWl2LWVxdWlwbWVudCB7CiAgICB5YW5nLXZlcnNpb24gMS4xOwogICAgbmFtZXNwYWNlICJ1cm46by1yYW46c21vLXRlaXYtZXF1aXBtZW50IjsKICAgIHByZWZpeCBvci10ZWl2LWVxdWlwOwoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyB7cHJlZml4IG9yLXRlaXYtdHlwZXM7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7cHJlZml4IG9yLXRlaXYteWV4dDsgfQoKICAgIGltcG9ydCBpZXRmLWdlby1sb2NhdGlvbiB7CiAgICAgICAgcHJlZml4IGdlbzsKICAgICAgICByZWZlcmVuY2UgIlJGQyA5MTc5OiBBIFlBTkcgR3JvdXBpbmcgZm9yIEdlb2dyYXBoaWMgTG9jYXRpb25zIjsKICAgIH0KCiAgICBvcmdhbml6YXRpb24gIk9SQU4iOwogICAgY29udGFjdCAiVGhlIEF1dGhvcnMiOwogICAgZGVzY3JpcHRpb24KICAgICJSQU4gRXF1aXBtZW50IHRvcG9sb2d5IG1vZGVsLgoKICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIHRvcG9sb2d5IGVudGl0aWVzIGFuZCByZWxhdGlvbnMgaW4gdGhlCiAgICBSQU4gRXF1aXBtZW50IGRvbWFpbiwgd2hpY2ggaXMgbW9kZWxsZWQgdG8gdW5kZXJzdGFuZCB0aGUgcGh5c2ljYWwKICAgIGxvY2F0aW9uIG9mIGVxdWlwbWVudCBzdWNoIGFzIGFudGVubmFzIGFzc29jaWF0ZWQgd2l0aCBhIGNlbGwvY2FycmllcgogICAgYW5kIHRoZWlyIHJlbGV2YW50IHByb3BlcnRpZXMgZS5nLiB0aWx0LCBtYXggcG93ZXIgZXRjLgoKICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMjEiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiRGVwcmVjYXRlIEFudGVubmFNb2R1bGUgYXR0cmlidXRlIGFudGVubmFCZWFtV2lkdGguCiAgICAgICAgVG8gYmUgcmVwbGFjZWQgYnkgaG9yaXpvbnRhbEJlYW1XaWR0aCBhbmQgdmVydGljYWxCZWFtV2lkdGguIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC42LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDgiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgYXppbXV0aCBhdHRyaWJ1dGUgZm9yIEFudGVubmFNb2R1bGUuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC41LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmdzLCBPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwIG9yIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAKICAgICAgICB0byB0aGUgY29ycmVzcG9uZGluZyB0b3BvbG9neSBvYmplY3RzLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA1LTI0IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmRvbWFpbiBFUVVJUE1FTlQ7CgogICAgbGlzdCBBbnRlbm5hTW9kdWxlIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQW4gQW50ZW5uYSBNb2R1bGUgcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgYXNwZWN0IG9mIGFuCiAgICAgICAgYW50ZW5uYS4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIGFudGVubmFNb2RlbE51bWJlciB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVmVuZG9yLXNwZWNpZmljIGFudGVubmEgbW9kZWwgaWRlbnRpZmllci4gVGhpcwogICAgICAgICAgICAgICAgYXR0cmlidXRlIGlzIHBhcnQgb2YgQUlTRyB2MyBBREIgU3RhbmRhcmQgYW5kIGhhcyBubwogICAgICAgICAgICAgICAgb3BlcmF0aW9uYWwgaW1wYWN0LiI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBtZWNoYW5pY2FsQW50ZW5uYUJlYXJpbmcgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgYmVhcmluZyBvbiBhbnRlbm5hIHN1YnVuaXQgd2hlcmUgYW50ZW5uYQogICAgICAgICAgICAgICAgdW5pdCBpcyBpbnN0YWxsZWQuIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgbWVjaGFuaWNhbEFudGVubmFUaWx0IHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJUaGUgZml4ZWQgYW50ZW5uYSB0aWx0IG9mIHRoZSBpbnN0YWxsYXRpb24sIGRlZmluZWQKICAgICAgICAgICAgICAgIGFzIHRoZSBpbmNsaW5hdGlvbiBvZiB0aGUgYW50ZW5uYSBlbGVtZW50IHJlc3BlY3QgdG8gdGhlCiAgICAgICAgICAgICAgICB2ZXJ0aWNhbCBwbGFuZS4gSXQgaXMgYSBzaWduZWQgdmFsdWUuIFBvc2l0aXZlIGluZGljYXRlcwogICAgICAgICAgICAgICAgZG93bnRpbHQsIGFuZCBuZWdhdGl2ZSBpbmRpY2F0ZXMgdXB0aWx0LiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIHBvc2l0aW9uV2l0aGluU2VjdG9yIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJBbnRlbm5hIHVuaXQgcG9zaXRpb24gd2l0aGluIHNlY3Rvci4gVGhpcyBhdHRyaWJ1dGUKICAgICAgICAgICAgICAgIGlzIHBhcnQgb2YgQUlTRyB2MyBBREIgU3RhbmRhcmQgYW5kIGhhcyBubyBvcGVyYXRpb25hbAogICAgICAgICAgICAgICAgaW1wYWN0LiI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiB0b3RhbFRpbHQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRvdGFsIGFudGVubmEgZWxldmF0aW9uIGluY2x1ZGluZyB0aGUgaW5zdGFsbGVkCiAgICAgICAgICAgICAgICB0aWx0IGFuZCB0aGUgdGlsdCBhcHBsaWVkIGJ5IHRoZSBSZW1vdGUgRWxlY3RyaWNhbAogICAgICAgICAgICAgICAgVGlsdCAoUkVUKS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBlbGVjdHJpY2FsQW50ZW5uYVRpbHQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkVsZWN0cmljYWxseS1jb250cm9sbGVkIHRpbHQgb2YgbWFpbiBiZWFtIG1heGltdW0KICAgICAgICAgICAgICAgIHdpdGggcmVzcGVjdCB0byBkaXJlY3Rpb24gb3J0aG9nb25hbCB0byBhbnRlbm5hIGVsZW1lbnQKICAgICAgICAgICAgICAgIGF4aXMgKHNlZSAzR1BQIFRTIDI1LjQ2NikuIFZhbHVlIGlzIHNpZ25lZDsgdGlsdCBkb3duIGlzCiAgICAgICAgICAgICAgICBwb3NpdGl2ZSwgdGlsdCB1cCBpcyBuZWdhdGl2ZS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZi1saXN0IGFudGVubmFCZWFtV2lkdGggewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBhbmd1bGFyIHNwYW4gb2YgdGhlIG1haW4gbG9iZSBvZiB0aGUgYW50ZW5uYQogICAgICAgICAgICAgICAgcmFkaWF0aW9uIHBhdHRlcm4gaW4gdGhlIGhvcml6b250YWwgcGxhbmUuIE1lYXN1cmVkIGluCiAgICAgICAgICAgICAgICBkZWdyZWVzLgoKICAgICAgICAgICAgICAgIERlcHJlY2F0ZWQ6IFNpbmNlIDI0LlE0LiBSZXBsYWNlZCBieSBBbnRlbm5hTW9kdWxlOjpob3Jpem9udGFsQmVhbVdpZHRoCiAgICAgICAgICAgICAgICBhbmQgQW50ZW5uYU1vZHVsZTo6dmVydGljYWxCZWFtV2lkdGguIFBsYW5uZWQgdG8gYmUgcmVtb3ZlZC4iOwogICAgICAgICAgICAgICAgdHlwZSB1aW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgaG9yaXpvbnRhbEJlYW1XaWR0aCAgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBhbmd1bGFyIHNwYW4gb2YgdGhlIG1haW4gbG9iZSBvZiB0aGUgYW50ZW5uYQogICAgICAgICAgICAgICAgcmFkaWF0aW9uIHBhdHRlcm4gaW4gdGhlIGhvcml6b250YWwgcGxhbmUuIjsKICAgICAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0IHsKICAgICAgICAgICAgICAgICAgICBmcmFjdGlvbi1kaWdpdHMgMTsKICAgICAgICAgICAgICAgICAgICByYW5nZSAiMC4uMzYwIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHVuaXRzICJkZWNpbWFsIGRlZ3JlZXMiOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIHZlcnRpY2FsQmVhbVdpZHRoICAgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBhbmd1bGFyIHNwYW4gb2YgdGhlIG1haW4gbG9iZSBvZiB0aGUgYW50ZW5uYQogICAgICAgICAgICAgICAgcmFkaWF0aW9uIHBhdHRlcm4gaW4gdGhlIHZlcnRpY2FsIHBsYW5lLiI7CiAgICAgICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDE7CiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgIjAuLjM2MCI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bml0cyAiZGVjaW1hbCBkZWdyZWVzIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBhemltdXRoIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJUaGUgdmFsdWUgb2YgdGhlIGF6aW11dGggb2YgdGhlIEFudGVubmEgTW9kdWxlLiI7CiAgICAgICAgICAgICAgICB0eXBlIGRlY2ltYWw2NCB7CiAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb24tZGlnaXRzIDE7CiAgICAgICAgICAgICAgICAgICAgcmFuZ2UgIjAuLjM2MCI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB1bml0cyAiZGVjaW1hbCBkZWdyZWVzIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgdXNlcyBnZW86Z2VvLWxvY2F0aW9uOwogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IFNpdGUgewogICAgICAgIGRlc2NyaXB0aW9uICJBIHNpdGUgaXMgYSBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSBhbiBlcXVpcG1lbnQgY2FuIGJlCiAgICAgICAgaW5zdGFsbGVkLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgbmFtZSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmFtZSBvZiBTaXRlIjsKICAgICAgICAgICAgICAgIHR5cGUgc3RyaW5nOwogICAgICAgICAgICB9CgogICAgICAgICAgICB1c2VzIGdlbzpnZW8tbG9jYXRpb247CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgQU5URU5OQU1PRFVMRV9JTlNUQUxMRURfQVRfU0lURSB7IC8vIDAuLm4gdG8gMC4uMQoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBBbnRlbm5hTW9kdWxlIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgU2l0ZSB0eXBlLgogICAgICAgICAgICBUaGUgU2l0ZSByZXByZXNlbnRzIHRoZSBwaHlzaWNhbCBsb2NhdGlvbiB3aGVyZSB0aGUgQW50ZW5uYU1vZHVsZSBpcyBpbnN0YWxsZWQuCiAgICAgICAgICAgIEFuIEFudGVubmFNb2R1bGUgaW5zdGFuY2UgY2FuIG9ubHkgYmUgaW5zdGFsbGVkIGF0IG9uZSBTaXRlLgogICAgICAgICAgICBBIFNpdGUgaW5zdGFuY2UgY2FuIGhhdmUgbWFueSBpbnN0YWxsZWQgQW50ZW5uYU1vZHVsZXMuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmIGluc3RhbGxlZC1hdC1zaXRlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgTW9kdWxlIGluc3RhbGxlZCBhdCBTaXRlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBBbnRlbm5hTW9kdWxlOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3QgaW5zdGFsbGVkLWFudGVubmFNb2R1bGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiU2l0ZSB3aGVyZSBBbnRlbm5hIE1vZHVsZSBpcyBpbnN0YWxsZWQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIFNpdGU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9Cn0=
-o-ran-smo-teiv-oam     urn:o-ran:smo-teiv-oam  OAM     []      2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LW9hbSB7CiAgICB5YW5nLXZlcnNpb24gMS4xOwogICAgbmFtZXNwYWNlICJ1cm46by1yYW46c21vLXRlaXYtb2FtIjsKICAgIHByZWZpeCBvci10ZWl2LW9hbTsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMgeyBwcmVmaXggb3ItdGVpdi10eXBlczsgfQoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy1leHRlbnNpb25zIHsgcHJlZml4IG9yLXRlaXYteWV4dDsgfQoKICAgIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgICBjb250YWN0ICJUaGUgQXV0aG9ycyI7CiAgICBkZXNjcmlwdGlvbiAKICAgICJSQU4gTyZNIHRvcG9sb2d5IG1vZGVsLgoKICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIHRvcG9sb2d5IGVudGl0aWVzIGFuZCByZWxhdGlvbnMgaW4gdGhlCiAgICBSQU4gTyZNIGRvbWFpbiwgd2hpY2ggYXJlIGludGVuZGVkIHRvIHJlcHJlc2VudCBtYW5hZ2VtZW50IHN5c3RlbXMKICAgIGFuZCBtYW5hZ2VtZW50IGludGVyZmFjZXMuCgogICAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNS0yNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gT0FNOwoKICAgIGxpc3QgTWFuYWdlZEVsZW1lbnQgewogICAgICAgIGRlc2NyaXB0aW9uICJBIE1hbmFnZWQgRWxlbWVudCAoTUUpIGlzIGEgbm9kZSBpbnRvIGEgdGVsZWNvbW11bmljYXRpb24KICAgICAgICBuZXR3b3JrIHByb3ZpZGluZyBzdXBwb3J0IGFuZC9vciBzZXJ2aWNlIHRvIHN1YnNjcmliZXJzLiBBbiBNRQogICAgICAgIGNvbW11bmljYXRlcyB3aXRoIGEgbWFuYWdlciBhcHBsaWNhdGlvbiAoZGlyZWN0bHkgb3IgaW5kaXJlY3RseSkKICAgICAgICBvdmVyIG9uZSBvciBtb3JlIGludGVyZmFjZXMgZm9yIHRoZSBwdXJwb3NlIG9mIGJlaW5nIG1vbml0b3JlZAogICAgICAgIGFuZC9vciBjb250cm9sbGVkLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwogICAgfQp9
-o-ran-smo-teiv-ran     urn:o-ran:smo-teiv-ran  RAN     []      2024-10-08      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJhbiB7CiAgICB5YW5nLXZlcnNpb24gMS4xOwogICAgbmFtZXNwYWNlICJ1cm46by1yYW46c21vLXRlaXYtcmFuIjsKICAgIHByZWZpeCBvci10ZWl2LXJhbjsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgXzNncHAtY29tbW9uLXlhbmctdHlwZXMgeyBwcmVmaXggdHlwZXMzZ3BwOyB9CgogICAgaW1wb3J0IGlldGYtZ2VvLWxvY2F0aW9uIHsKICAgICAgICBwcmVmaXggZ2VvOwogICAgICAgIHJlZmVyZW5jZSAiUkZDIDkxNzk6IEEgWUFORyBHcm91cGluZyBmb3IgR2VvZ3JhcGhpYyBMb2NhdGlvbnMiOwogICAgfQoKICAgIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgICBjb250YWN0ICJUaGUgQXV0aG9ycyI7CiAgICBkZXNjcmlwdGlvbgogICAgICAgICJSQU4gTG9naWNhbCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgdG9wb2xvZ3kgZW50aXRpZXMgYW5kIHJlbGF0aW9ucyBpbiB0aGUKICAgICAgICBSQU4gTG9naWNhbCBkb21haW4sIHdoaWNoIHJlcHJlc2VudHMgdGhlIGZ1bmN0aW9uYWwgY2FwYWJpbGl0eQogICAgICAgIG9mIHRoZSBkZXBsb3llZCBSQU4gdGhhdCBhcmUgcmVsZXZhbnQgdG8gckFwcHMgdXNlIGNhc2VzLgoKICAgICAgICBDb3B5cmlnaHQgKEMpIDIwMjQgRXJpY3Nzb24KICAgICAgICBNb2RpZmljYXRpb25zIENvcHlyaWdodCAoQykgMjAyNCBPcGVuSW5mcmEgRm91bmRhdGlvbiBFdXJvcGUKCiAgICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgICAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiAgICAgICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgICAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiAgICAgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLAogICAgICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKICAgICAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCiAgICAgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTEwLTA4IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkFkZGVkIHJhbmdlIGZvciBhemltdXRoIGF0dHJpYnV0ZSBvZiBTZWN0b3IuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC42LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmdzLCBPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwIG9yIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAKICAgICAgICB0byB0aGUgY29ycmVzcG9uZGluZyB0b3BvbG9neSBvYmplY3QuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC41LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDctMTUiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiVGhpcyByZXZpc2lvbiBhbGlnbnMgTy1SQU4gV29yayBHcm91cCAxMCBTdGFnZSAyIFNwZWNpZmljYXRpb24gKE8tUkFOLldHMTAuVEUmSVYtQ0lNSS4wLVIwMDQudjAyLjAwKSI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuNC4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA1LTI0IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIkluaXRpYWwgcmV2aXNpb24uIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmRvbWFpbiBSQU47CgogICAgbGlzdCBPUlVGdW5jdGlvbiB7CiAgICAgICAgZGVzY3JpcHRpb24gIk8tUkFOIFJhZGlvIFVuaXQgKE8tUlUpLgoKICAgICAgICBBIGxvZ2ljYWwgbm9kZSBob3N0aW5nIExvdy1QSFkgbGF5ZXIgYW5kIFJGIHByb2Nlc3NpbmcgYmFzZWQgb24gYQogICAgICAgIGxvd2VyIGxheWVyIGZ1bmN0aW9uYWwgc3BsaXQuICBUaGlzIGlzIHNpbWlsYXIgdG8gM0dQUOKAmXMg4oCcVFJQ4oCdIG9yCiAgICAgICAg4oCcUlJI4oCdIGJ1dCBtb3JlIHNwZWNpZmljIGluIGluY2x1ZGluZyB0aGUgTG93LVBIWSBsYXllciAoRkZUL2lGRlQsCiAgICAgICAgUFJBQ0ggZXh0cmFjdGlvbikuIFRoZSBPLVJVIHRlcm1pbmF0ZXMgdGhlIE9wZW4gRnJvbnRoYXVsIGludGVyZmFjZQogICAgICAgIChhbHNvIGtub3duIGFzIExMUyBpbnRlcmZhY2UpIGFzIHdlbGwgYXMgTG93LVBIWSBmdW5jdGlvbnMgb2YgdGhlCiAgICAgICAgcmFkaW8gaW50ZXJmYWNlIHRvd2FyZHMgdGhlIFVFLiBUaGlzIGlzIGRlcGxveWVkIGFzIGEgUE5GLiBUaGUgTy1SVQogICAgICAgIHRlcm1pbmF0ZXMgdGhlIE9wZW4gRnJvbnRoYXVsIE0tUGxhbmUgaW50ZXJmYWNlIHRvd2FyZHMgdGhlIE8tRFUKICAgICAgICBhbmQgU01PLgoKICAgICAgICBOb3RlOiBJbiBUb3BvbG9neSwgeW91IGNhbiBjcmVhdGUsIHJlYWQsIHVwZGF0ZSwgYW5kIGRlbGV0ZQogICAgICAgIHRoZSBPLVJVIG9iamVjdC4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIG9ydUlkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIE8tUlUgd2l0aGluIGEgT1JVRnVuY3Rpb24iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQ2NDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE5lYXJSVFJJQ0Z1bmN0aW9uIHsKICAgICAgICBkZXNjcmlwdGlvbiAiTmVhci1SZWFsLVRpbWUgUkFOIEludGVsbGlnZW50IENvbnRyb2xsZXIgKE5lYXItUlQgUklDKS4KCiAgICAgICAgQW4gTy1SQU4gTmV0d29yayBGdW5jdGlvbiAoTkYpIHRoYXQgZW5hYmxlcyBuZWFyLXJlYWwtdGltZSBjb250cm9sCiAgICAgICAgYW5kIG9wdGltaXphdGlvbiBvZiBSQU4gZWxlbWVudHMgYW5kIHJlc291cmNlcyB2aWEgZmluZS1ncmFpbmVkCiAgICAgICAgZGF0YSBjb2xsZWN0aW9uIGFuZCBhY3Rpb25zIG92ZXIgRTIgaW50ZXJmYWNlLiBJdCBtYXkgaW5jbHVkZQogICAgICAgIEFJL01MIChBcnRpZmljaWFsIEludGVsbGlnZW5jZSAvIE1hY2hpbmUgTGVhcm5pbmcpIHdvcmtmbG93CiAgICAgICAgaW5jbHVkaW5nIG1vZGVsIHRyYWluaW5nLCBpbmZlcmVuY2UsIGFuZCB1cGRhdGVzLgoKICAgICAgICBOb3RlOiBJbiBUb3BvbG9neSwgeW91IGNhbiBjcmVhdGUsIHJlYWQsIHVwZGF0ZSwgYW5kIGRlbGV0ZQogICAgICAgIHRoZSBOZWFyLVJUIFJJQyBvYmplY3QuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgbGVhZiBuZWFyUnRSaWNJZCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBOZWFyLVJUIFJJQyB3aXRoaW4gYSBOZWFyUlRSSUNGdW5jdGlvbiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDY0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBjb250YWluZXIgcExNTklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJQTE1OIGlkZW50aWZpZXIgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGdsb2JhbCBSQU4KICAgICAgICAgICAgICAgIG5vZGUgaWRlbnRpdHkiOwogICAgICAgICAgICAgICAgdXNlcyB0eXBlczNncHA6UExNTklkOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgT0RVRnVuY3Rpb24gewogICAgICAgIGRlc2NyaXB0aW9uICJPLVJBTiBEaXN0cmlidXRlZCBVbml0IChPLURVKS4KCiAgICAgICAgVGhlIE8tRFUgaXMgYW4gTy1SQU4gTkYgaW4gdGhlIE8tUkFOIEFyY2hpdGVjdHVyZS4gQW4gTy1EVSwgY29tYmluZWQKICAgICAgICB3aXRoIG9uZSBvciBtb3JlIE8tUlUocykgY29ubmVjdGVkIHRvIGl0LCBzdXBwb3J0cyBhbmQgaXMgZnVsbHkKICAgICAgICBjb21wYXRpYmxlIHdpdGggdGhlIGZ1bmN0aW9ucyBvZiBhIGdOQi1EVSBhcyBkZWZpbmVkIGJ5IDNHUFAgVFMgMzguNDAxLgoKICAgICAgICBUaGUgZm9sbG93aW5nIGlzIHRydWUgZm9yIGEgTy1EVToKICAgICAgICBJcyBjb25uZWN0ZWQgdG8gdGhlIE8tQ1UtQ1AgdGhyb3VnaCB0aGUgRjEtQyBpbnRlcmZhY2UuIElzCiAgICAgICAgY29ubmVjdGVkIHRvIHRoZSBPLUNVLVVQIHRocm91Z2ggdGhlIEYxLVUgaW50ZXJmYWNlLiBPbmUgTy1EVSBpcwogICAgICAgIGNvbm5lY3RlZCB0byBvbmx5IG9uZSBPLUNVLUNQLiBPbmUgTy1EVSBjYW4gYmUgY29ubmVjdGVkIHRvCiAgICAgICAgbXVsdGlwbGUgTy1DVS1VUHMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIHNhbWUgTy1DVS1DUC4KCiAgICAgICAgTm90ZTogQSBnTkIgbWF5IGNvbnNpc3Qgb2YgYSBPLUNVLUNQLCBtdWx0aXBsZSBPLUNVLVVQcyBhbmQKICAgICAgICBtdWx0aXBsZSBPLURVcy4gTy1EVSBpcyBhIGNvbmNyZXRlIGNsYXNzIHRoYXQgZXh0ZW5kcyB0aGUgTkctUkFOCiAgICAgICAgbm9kZSBvYmplY3QuIEluIFRvcG9sb2d5LCB5b3UgY2FuIGNyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQgZGVsZXRlCiAgICAgICAgdGhlIGdOQi1EVSBvYmplY3QuIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGNvbnRhaW5lciBhdHRyaWJ1dGVzIHsKICAgICAgICAgICAgbGVhZiBnTkJEVUlkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIERVIHdpdGhpbiBhIGdOb2RlQiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDY0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIGdOQklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJJZGVudGl0eSBvZiBnTm9kZUIgd2l0aGluIGEgUExNTiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDY0OwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIGdOQklkTGVuZ3RoIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJMZW5ndGggb2YgZ05CSWQgYml0IHN0cmluZyByZXByZXNlbnRhdGlvbiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgT0NVQ1BGdW5jdGlvbiB7CiAgICAgICAgZGVzY3JpcHRpb24gIk8tUkFOIENlbnRyYWxpemVkIFVuaXQgQ29udHJvbCBQbGFuZSAoTy1DVS1DUCkKCiAgICAgICAgVGhpcyBpcyBhIGxvZ2ljYWwgbm9kZSBob3N0aW5nIHRoZSBSYWRpbyBSZXNvdXJjZSBDb250cm9sIChSUkMpIGFuZAogICAgICAgIHRoZSBjb250cm9sIHBsYW5lIHBhcnQgb2YgdGhlIFBhY2tldCBEYXRhIENvbnZlcmdlbmNlIFByb3RvY29sCiAgICAgICAgKFBEQ1ApLiBUaGUgTy1DVS1DUCB0ZXJtaW5hdGVzIHRoZSBFMSBpbnRlcmZhY2UgY29ubmVjdGVkIHdpdGgKICAgICAgICB0aGUgTy1DVS1VUCBhbmQgdGhlIEYxLUMgaW50ZXJmYWNlIGNvbm5lY3RlZCB3aXRoIHRoZSBPLVJBTgogICAgICAgIERpc3RyaWJ1dGVkIFVuaXQgKE8tRFUpLgoKICAgICAgICBUaGUgZm9sbG93aW5nIGlzIHRydWUgZm9yIGEgTy1DVS1DUDoKICAgICAgICBJcyBjb25uZWN0ZWQgdG8gdGhlIE8tRFUgdGhyb3VnaCB0aGUgRjEtQyBpbnRlcmZhY2UuIElzIGNvbm5lY3RlZAogICAgICAgIHRvIHRoZSBPLUNVLVVQIHRocm91Z2ggdGhlIEUxIGludGVyZmFjZS4gT25seSBvbmUgTy1DVS1DUCBpcwogICAgICAgIGNvbm5lY3RlZCB0byBvbmUgTy1EVS4gT25seSBvbmUgTy1DVS1DUCBpcyBjb25uZWN0ZWQgdG8gb25lCiAgICAgICAgTy1DVS1VUC4gT25lIE8tRFUgY2FuIGJlIGNvbm5lY3RlZCB0byBtdWx0aXBsZSBPLUNVLVVQcyB1bmRlcgogICAgICAgIHRoZSBjb250cm9sIG9mIHRoZSBzYW1lIE8tQ1UtQ1AuIE9uZSBPLUNVLVVQIGNhbiBiZSBjb25uZWN0ZWQgdG8KICAgICAgICBtdWx0aXBsZSBEVXMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlIHNhbWUgTy1DVS1DUC4KCiAgICAgICAgTm90ZTogQSBnTkIgbWF5IGNvbnNpc3Qgb2YgYSBPLUNVLUNQLCBtdWx0aXBsZSBPLUNVLVVQcyBhbmQKICAgICAgICBtdWx0aXBsZSBPLURVcy4gQW4gTy1DVS1DUCBpcyBhIGNvbmNyZXRlIGNsYXNzIHRoYXQgZXh0ZW5kcyB0aGUKICAgICAgICBORy1SQU4gbm9kZSBvYmplY3QuIEluIFRvcG9sb2d5LCB5b3UgY2FuIGNyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQKICAgICAgICBkZWxldGUgdGhlIE8tQ1UtQ1Agb2JqZWN0LiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgZ05CQ1VOYW1lIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOYW1lIG9mIGdOb2RlQi1DVSI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBnTkJJZCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiSWRlbnRpdHkgb2YgZ05vZGVCIHdpdGhpbiBhIFBMTU4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQ2NDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBnTkJJZExlbmd0aCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGVuZ3RoIG9mIGdOQklkIGJpdCBzdHJpbmcgcmVwcmVzZW50YXRpb24iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY29udGFpbmVyIHBMTU5JZCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiUExNTiBpZGVudGlmaWVyIHRvIGJlIHVzZWQgYXMgcGFydCBvZiBnbG9iYWwgUkFOCiAgICAgICAgICAgICAgICBub2RlIGlkZW50aXR5IjsKICAgICAgICAgICAgICAgIHVzZXMgdHlwZXMzZ3BwOlBMTU5JZDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE9DVVVQRnVuY3Rpb24gewogICAgICAgIGRlc2NyaXB0aW9uICJPLVJBTiBDZW50cmFsaXplZCBVbml0IFVzZXIgUGxhbmUgKE8tQ1UtVVApCgogICAgICAgIEFuIE8tQ1UtVVAgaXMgYSBsb2dpY2FsIG5vZGUgaG9zdGluZyB0aGUgVXNlciBQbGFuZSBwYXJ0IG9mIHRoZQogICAgICAgIFBhY2tldCBEYXRhIENvbnZlcmdlbmNlIFByb3RvY29sIChQRENQKSBhbmQgdGhlIFNlcnZpY2UgRGF0YQogICAgICAgIEFkYXB0YXRpb24gUHJvdG9jb2wgKFNEQVApLiBUaGUgTy1DVS1VUCB0ZXJtaW5hdGVzIHRoZSBFMSBpbnRlcmZhY2UKICAgICAgICBjb25uZWN0ZWQgd2l0aCB0aGUgTy1DVS1DUCBhbmQgdGhlIEYxLVUgaW50ZXJmYWNlIGNvbm5lY3RlZCB3aXRoCiAgICAgICAgdGhlIE8tUkFOIERpc3RyaWJ1dGVkIFVuaXQgKE8tRFUpLgoKICAgICAgICBUaGUgZm9sbG93aW5nIGlzIHRydWUgZm9yIGEgTy1DVS1VUDoKICAgICAgICBJcyBjb25uZWN0ZWQgdG8gdGhlIE8tRFUgdGhyb3VnaCB0aGUgRjEtVSBpbnRlcmZhY2UuIElzIGNvbm5lY3RlZAogICAgICAgIHRvIHRoZSBPLUNVLUNQIHRocm91Z2ggdGhlIEUxIGludGVyZmFjZS4gT25lIE8tQ1UtVVAgaXMKICAgICAgICBjb25uZWN0ZWQgdG8gb25seSBvbmUgTy1DVS1DUC4gT25lIE8tRFUgY2FuIGJlIGNvbm5lY3RlZCB0bwogICAgICAgIG11bHRpcGxlIE8tQ1UtVVBzIHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSBzYW1lIE8tQ1UtQ1AuIE9uZQogICAgICAgIE8tQ1UtVVAgY2FuIGJlIGNvbm5lY3RlZCB0byBtdWx0aXBsZSBEVXMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlCiAgICAgICAgc2FtZSBPLUNVLUNQLgoKICAgICAgICBOb3RlOiBBIGdOQiBtYXkgY29uc2lzdCBvZiBhbiBPLUNVLUNQLCBtdWx0aXBsZSBPLUNVLVVQcyBhbmQKICAgICAgICBtdWx0aXBsZSBPLURVcy4gQW4gTy1DVS1VUCBpcyBhIGNvbmNyZXRlIGNsYXNzIHRoYXQgZXh0ZW5kcyB0aGUKICAgICAgICBORy1SQU4gbm9kZSBvYmplY3QuIEluIFRvcG9sb2d5LCB5b3UgY2FuIGNyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQKICAgICAgICBkZWxldGUgdGhlIE8tQ1UtVVAgb2JqZWN0LiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgZ05CSWQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIklkZW50aXR5IG9mIGdOb2RlQiB3aXRoaW4gYSBQTE1OIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50NjQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgZ05CSWRMZW5ndGggewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIkxlbmd0aCBvZiBnTkJJZCBiaXQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxpc3QgcExNTklkTGlzdCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGlzdCBvZiBQTE1OIGlkZW50aWZpZXIgdG8gYmUgdXNlZCBhcyBwYXJ0IG9mIGdsb2JhbCBSQU4gbm9kZSBpZGVudGl0eSI7CiAgICAgICAgICAgICAgICB1c2VzIHR5cGVzM2dwcDpQTE1OSWQ7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBOUkNlbGxDVSB7CiAgICAgICAgZGVzY3JpcHRpb24gIlJlcHJlc2VudHMgYW4gTlIgQ2VsbCBpbiBnTm9kZUItQ1UuCgogICAgICAgIDVHIE5SIGlzIGEgbmV3IHJhZGlvIGFjY2VzcyB0ZWNobm9sb2d5IChSQVQpIGRldmVsb3BlZCBieSAzR1BQIGZvcgogICAgICAgIHRoZSA1RyAoZmlmdGggZ2VuZXJhdGlvbikgbW9iaWxlIG5ldHdvcmsuIEl0IGlzIGRlc2lnbmVkIHRvIGJlIHRoZQogICAgICAgIGdsb2JhbCBzdGFuZGFyZCBmb3IgdGhlIGFpciBpbnRlcmZhY2Ugb2YgNUcgbmV0d29ya3MuCgogICAgICAgIDVHIE5SIGhhcyBzeW5jaHJvbml6YXRpb24gc2lnbmFsIHRoYXQgaXMga25vd24gYXMgUHJpbWFyeQogICAgICAgIFN5bmNocm9uaXphdGlvbiBTaWduYWwgKFBTUykgYW5kIFNlY29uZGFyeSBTeW5jaHJvbml6YXRpb24KICAgICAgICBTaWduYWwgKFNTUykuIFRoZXNlIHNpZ25hbHMgYXJlIHNwZWNpZmljIHRvIE5SIHBoeXNpY2FsIGxheWVyIGFuZAogICAgICAgIHByb3ZpZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiByZXF1aXJlZCBieSBVRSBmb3IgZG93bmxpbmsKICAgICAgICBzeW5jaHJvbml6YXRpb246IFBTUyBwcm92aWRlcyBSYWRpbyBGcmFtZSBCb3VuZGFyeSAoUG9zaXRpb24gb2YgMXN0CiAgICAgICAgU3ltYm9sIGluIGEgUmFkaW8gZnJhbWUpIFNTUyBwcm92aWRlcyBTdWJmcmFtZSBCb3VuZGFyeSAoUG9zaXRpb24gb2YKICAgICAgICAxc3QgU3ltYm9sIGluIGEgU3ViZnJhbWUpIFBoeXNpY2FsIExheWVyIENlbGwgSUQgKFBDSSkgaW5mb3JtYXRpb24KICAgICAgICB1c2luZyBib3RoIFBTUyBhbmQgU1NTLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYgY2VsbExvY2FsSWQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlVzZWQgdG9nZXRoZXIgd2l0aCBnTm9kZUIgaWRlbnRpZmllciB0byBpZGVudGlmeSBOUgogICAgICAgICAgICAgICAgY2VsbCBpbiBQTE1OLiBVc2VkIHRvZ2V0aGVyIHdpdGggZ05CSWQgdG8gZm9ybSBOQ0kuIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGNvbnRhaW5lciBwbG1uSWQgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlBMTU4gSUQgZm9yIE5SIENHSS4gSWYgZW1wdHksCiAgICAgICAgICAgICAgICBHTkJDVUNQRnVuY3Rpb246OnBMTU5JZCBpcyB1c2VkIGZvciBQTE1OIElEIGluIE5SIENHSSI7CiAgICAgICAgICAgICAgICB1c2VzIHR5cGVzM2dwcDpQTE1OSWQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgbkNJIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsIElkZW50aXR5IjsKICAgICAgICAgICAgICAgIHR5cGUgaW50NjQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgblJUQUMgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIFRyYWNraW5nIEFyZWEgQ29kZSAoVEFDKSI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgTlJDZWxsRFUgewogICAgICAgIGRlc2NyaXB0aW9uICJSZXByZXNlbnRzIGFuIE5SIENlbGwgaW4gZ05vZGVCLURVLgoKICAgICAgICA1RyBOUiBpcyBhIG5ldyByYWRpbyBhY2Nlc3MgdGVjaG5vbG9neSAoUkFUKSBkZXZlbG9wZWQgYnkgM0dQUCBmb3IKICAgICAgICB0aGUgNUcgKGZpZnRoIGdlbmVyYXRpb24pIG1vYmlsZSBuZXR3b3JrLiBJdCBpcyBkZXNpZ25lZCB0byBiZSB0aGUKICAgICAgICBnbG9iYWwgc3RhbmRhcmQgZm9yIHRoZSBhaXIgaW50ZXJmYWNlIG9mIDVHIG5ldHdvcmtzLgoKICAgICAgICA1RyBOUiBoYXMgc3luY2hyb25pemF0aW9uIHNpZ25hbCB0aGF0IGlzIGtub3duIGFzIFByaW1hcnkKICAgICAgICBTeW5jaHJvbml6YXRpb24gc2lnbmFsIChQU1MpIGFuZCBTZWNvbmRhcnkgU3luY2hyb25pemF0aW9uIHNpZ25hbAogICAgICAgIChTU1MpLiBUaGVzZSBzaWduYWxzIGFyZSBzcGVjaWZpYyB0byBOUiBwaHlzaWNhbCBsYXllciBhbmQgcHJvdmlkZQogICAgICAgIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gcmVxdWlyZWQgYnkgVUUgZm9yIGRvd25saW5rCiAgICAgICAgc3luY2hyb25pemF0aW9uOiBQU1MgcHJvdmlkZXMgUmFkaW8gRnJhbWUgQm91bmRhcnkgKFBvc2l0aW9uIG9mIDFzdAogICAgICAgIFN5bWJvbCBpbiBhIFJhZGlvIGZyYW1lKSBTU1MgcHJvdmlkZXMgU3ViZnJhbWUgQm91bmRhcnkgKFBvc2l0aW9uIG9mCiAgICAgICAgMXN0IFN5bWJvbCBpbiBhIFN1YmZyYW1lKSBQaHlzaWNhbCBMYXllciBDZWxsIElEIChQQ0kpIGluZm9ybWF0aW9uCiAgICAgICAgdXNpbmcgYm90aCBQU1MgYW5kIFNTUy4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIGNlbGxMb2NhbElkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVc2VkIHRvZ2V0aGVyIHdpdGggZ05vZGVCIGlkZW50aWZpZXIgdG8gaWRlbnRpZnkgTlIKICAgICAgICAgICAgICAgIGNlbGwgaW4gUExNTi4gVXNlZCB0b2dldGhlciB3aXRoIGdOQklkIHRvIGZvcm0gTkNJLiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CgogICAgICAgICAgICBsZWFmIG5DSSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTlIgQ2VsbCBJZGVudGl0eS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQ2NDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBuUlBDSSB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiVGhlIFBoeXNpY2FsIENlbGwgSWRlbnRpdHkgKFBDSSkgb2YgdGhlIE5SIGNlbGwuIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgblJUQUMgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIFRyYWNraW5nIEFyZWEgQ29kZSAoVEFDKS4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBsaXN0IE5SU2VjdG9yQ2FycmllciB7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoZSBOUiBTZWN0b3IgQ2FycmllciBvYmplY3QgcHJvdmlkZXMgdGhlIGF0dHJpYnV0ZXMgZm9yCiAgICAgICAgZGVmaW5pbmcgdGhlIGxvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIGEgY2FycmllciAoY2VsbCkgaW4gYQogICAgICAgIHNlY3Rvci4gQSBzZWN0b3IgaXMgYSBjb3ZlcmFnZSBhcmVhIGFzc29jaWF0ZWQgd2l0aCBhIGJhc2Ugc3RhdGlvbgogICAgICAgIGhhdmluZyBpdHMgb3duIGFudGVubmFzLCByYWRpbyBwb3J0cywgYW5kIGNvbnRyb2wgY2hhbm5lbHMuIFRoZQogICAgICAgIGNvbmNlcHQgb2Ygc2VjdG9ycyB3YXMgZGV2ZWxvcGVkIHRvIGltcHJvdmUgY28tY2hhbm5lbCBpbnRlcmZlcmVuY2UKICAgICAgICBpbiBjZWxsdWxhciBzeXN0ZW1zLCBhbmQgbW9zdCB3aXJlbGVzcyBzeXN0ZW1zIHVzZSB0aHJlZSBzZWN0b3IKICAgICAgICBjZWxscy4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIGFyZmNuREwgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIEFic29sdXRlIFJhZGlvIEZyZXF1ZW5jeSBDaGFubmVsIE51bWJlcgogICAgICAgICAgICAgICAgKE5SLUFSRkNOKSBmb3IgZG93bmxpbmsiOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBhcmZjblVMIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBBYnNvbHV0ZSBSYWRpbyBmcmVxdWVuY3kgQ2hhbm5lbCBOdW1iZXIKICAgICAgICAgICAgICAgIChOUi1BUkZDTikgZm9yIHVwbGluay4iOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBmcmVxdWVuY3lETCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiUkYgUmVmZXJlbmNlIEZyZXF1ZW5jeSBvZiBkb3dubGluayBjaGFubmVsIjsKICAgICAgICAgICAgICAgIHR5cGUgaW50MzI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxlYWYgZnJlcXVlbmN5VUwgewogICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gIlJGIFJlZmVyZW5jZSBGcmVxdWVuY3kgb2YgdXBsaW5rIGNoYW5uZWwiOwogICAgICAgICAgICAgICAgdHlwZSBpbnQzMjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZiBiU0NoYW5uZWxCd0RMIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJCUyBDaGFubmVsIGJhbmR3aWR0aCBpbiBNSHogZm9yIGRvd25saW5rLiI7CiAgICAgICAgICAgICAgICB0eXBlIGludDMyOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIGxpc3QgQW50ZW5uYUNhcGFiaWxpdHkgewogICAgICAgIGRlc2NyaXB0aW9uICJUaGlzIE1PIHNlcnZlcyBhcyBhIG1hcHBpbmcgYmV0d2VlbiB0aGUgY2VsbCBhbmQgdGhlIFJCUwogICAgICAgIGVxdWlwbWVudCB1c2VkIHRvIHByb3ZpZGUgY292ZXJhZ2UgaW4gYSBjZXJ0YWluIGdlb2dyYXBoaWNhbCBhcmVhLgogICAgICAgIFRoZSBNTyBhbHNvIGNvbnRyb2xzIHRoZSBtYXhpbXVtIG91dHB1dCBwb3dlciBvZiB0aGUgc2VjdG9yLiI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBjb250YWluZXIgYXR0cmlidXRlcyB7CiAgICAgICAgICAgIGxlYWYtbGlzdCBlVXRyYW5GcUJhbmRzIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJMaXN0IG9mIExURSBmcmVxdWVuY3kgYmFuZHMgdGhhdCBhc3NvY2lhdGVkCiAgICAgICAgICAgICAgICBoYXJkd2FyZSBzdXBwb3J0cyI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZi1saXN0IGdlcmFuRnFCYW5kcyB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGlzdCBvZiBHRVJBTiBmcmVxdWVuY3kgYmFuZHMgdGhhdCBhc3NvY2lhdGVkCiAgICAgICAgICAgICAgICBoYXJkd2FyZSBzdXBwb3J0cyI7CiAgICAgICAgICAgICAgICB0eXBlIHN0cmluZzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVhZi1saXN0IG5SRnFCYW5kcyB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiTGlzdCBvZiBOUiBmcmVxdWVuY3kgYmFuZHMgYXNzb2NpYXRlZCBoYXJkd2FyZQogICAgICAgICAgICAgICAgc3VwcG9ydHMiOwogICAgICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgbGlzdCBTZWN0b3IgewogICAgICAgIGRlc2NyaXB0aW9uICJBIGdyb3VwIG9mIGNvLWxvY2F0ZWQgQ2VsbHMgdGhhdCBoYXZlIGEgc2hhcmVkCiAgICAgICAgY292ZXJhZ2UgYXJlYS4iOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgY29udGFpbmVyIGF0dHJpYnV0ZXMgewogICAgICAgICAgICBsZWFmIHNlY3RvcklkIHsKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uICJVbml2ZXJzYWxseSB1bmlxdWUgSUQgZ2VuZXJhdGVkIGJ5IHRoZSBzZWN0b3IncwogICAgICAgICAgICAgICAgZGlzY292ZXJ5IG1lY2hhbmlzbS4iOwogICAgICAgICAgICAgICAgdHlwZSB1aW50NjQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHVzZXMgZ2VvOmdlby1sb2NhdGlvbjsKCiAgICAgICAgICAgIGxlYWYgYXppbXV0aCB7CiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiQXZlcmFnZSB2YWx1ZSBvZiB0aGUgYXppbXV0aHMgb2YgdGhlIGNlbGxzCiAgICAgICAgICAgICAgICBjb21wcmlzaW5nIHRoZSBzZWN0b3IsIGRldGVybWluZWQgZHVyaW5nIHNlY3RvciBkaXNjb3ZlcnkuIjsKICAgICAgICAgICAgICAgIHR5cGUgZGVjaW1hbDY0ewogICAgICAgICAgICAgICAgICAgIGZyYWN0aW9uLWRpZ2l0cyAxOwogICAgICAgICAgICAgICAgICAgIHJhbmdlICIwLi4zNjAiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgdW5pdHMgImRlY2ltYWwgZGVncmVlcyI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgT0RVRlVOQ1RJT05fUFJPVklERVNfTlJDRUxMRFUgeyAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0RVRnVuY3Rpb24gdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBOUkNlbGxEVSB0eXBlLgogICAgICAgICAgICBUaGUgT0RVRnVuY3Rpb24gcmVwcmVzZW50cyB0aGUgRFUgY29tcG9uZW50IG9mIGEgZ05CIHRoYXQgcHJvdmlkZXMgdGhlIE5SQ2VsbERVLgogICAgICAgICAgICBBIE9EVUZ1bmN0aW9uIGluc3RhbmNlIGNhbiBwcm92aWRlIG1hbnkgTlJDZWxsRFVzLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBtdXN0IGJlIHByb3ZpZGVkIGJ5IGFuIE9EVUZ1bmN0aW9uLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHByb3ZpZGVkLW5yQ2VsbER1IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk8tRFUgRnVuY3Rpb24gcHJvdmlkZXMgTlIgQ2VsbC1EVS4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgT0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgcHJvdmlkZWQtYnktb2R1RnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTlIgQ2VsbC1EVSBwcm92aWRlZCBieSBPLURVIEZ1bmN0aW9uLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBOUkNlbGxEVTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBPRFVGVU5DVElPTl9QUk9WSURFU19OUlNFQ1RPUkNBUlJJRVIgeyAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0RVRnVuY3Rpb24gdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBOUlNlY3RvckNhcnJpZXIgdHlwZS4KICAgICAgICAgICAgVGhlIE9EVUZ1bmN0aW9uIHJlcHJlc2VudHMgdGhlIERVIGNvbXBvbmVudCBvZiBhIGdOQiB0aGF0IHByb3ZpZGVzIHRoZSBOUlNlY3RvckNhcnJpZXIuCiAgICAgICAgICAgIEEgT0RVRnVuY3Rpb24gaW5zdGFuY2UgY2FuIHByb3ZpZGUgbWFueSBOUlNlY3RvckNhcnJpZXJzLgogICAgICAgICAgICBBbiBOUlNlY3RvckNhcnJpZXIgaW5zdGFuY2UgbXVzdCBiZSBwcm92aWRlZCBieSBhbiBPRFVGdW5jdGlvbi4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBwcm92aWRlZC1uclNlY3RvckNhcnJpZXIgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1EVSBGdW5jdGlvbiBwcm92aWRlcyBOUiBTZWN0b3IgQ2Fycmllci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgT0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgcHJvdmlkZWQtYnktb2R1RnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTlIgU2VjdG9yIENhcnJpZXIgcHJvdmlkZWQgYnkgTy1EVSBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgTlJTZWN0b3JDYXJyaWVyOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE9DVUNQRlVOQ1RJT05fUFJPVklERVNfTlJDRUxMQ1UgeyAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0NVQ1BGdW5jdGlvbiB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SQ2VsbENVIHR5cGUuCiAgICAgICAgICAgIFRoZSBPQ1VDUEZ1bmN0aW9uIHJlcHJlc2VudHMgdGhlIENVLUNQIGNvbXBvbmVudCBvZiBhIGdOQiB0aGF0IHByb3ZpZGVzIHRoZSBOUkNlbGxDVS4KICAgICAgICAgICAgQSBPQ1VDUEZ1bmN0aW9uIGluc3RhbmNlIGNhbiBwcm92aWRlIG1hbnkgTlJDZWxsQ1UuCiAgICAgICAgICAgIEFuIE5SQ2VsbENVIGluc3RhbmNlIG11c3QgYmUgcHJvdmlkZWQgYnkgYW4gT0NVQ1BGdW5jdGlvbi4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBwcm92aWRlZC1uckNlbGxDdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLUNQIEZ1bmN0aW9uIHByb3ZpZGVzIE5SIENlbGwtQ1UuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIE9DVUNQRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgcHJvdmlkZWQtYnktb2N1Y3BGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsLUNVIHByb3ZpZGVkIGJ5IE8tQ1UtQ1AgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE5SQ2VsbENVOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5SQ0VMTERVX1VTRVNfTlJTRUNUT1JDQVJSSUVSIHsgLy8gMC4uMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SQ2VsbERVIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTlJTZWN0b3JDYXJyaWVyIHR5cGUuCiAgICAgICAgICAgIFRoZSBOUkNlbGxEVSByZXByZXNlbnRzIHRoZSBjZWxsIHRoYXQgdXNlcyB0aGUgTlJTZWN0b3JDYXJyaWVyLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBjYW4gdXNlIG1hbnkgTlJTZWN0b3JDYXJyaWVycy4KICAgICAgICAgICAgQW4gTlJTZWN0b3JDYXJyaWVyIGluc3RhbmNlIGNhbiBvbmx5IGJlIHVzZWQgYnkgb25lIE5SQ2VsbERVLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHVzZWQtbnJTZWN0b3JDYXJyaWVyIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIENlbGwtRFUgdXNlcyBOUiBTZWN0b3IgQ2Fycmllci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgTlJDZWxsRFU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgdXNlZC1ieS1uckNlbGxEdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBTZWN0b3IgQ2FycmllciB1c2VkIGJ5IE5SIENlbGwtRFUuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIE5SU2VjdG9yQ2FycmllcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5SU0VDVE9SQ0FSUklFUl9VU0VTX0FOVEVOTkFDQVBBQklMSVRZIHsgLy8gMC4ubiB0byAwLi4xCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SU2VjdG9yQ2FycmllciB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIEFudGVubmFDYXBhYmlsaXR5IHR5cGUuCiAgICAgICAgICAgIFRoZSBOUlNlY3RvckNhcnJpZXIgcmVwcmVzZW50cyB0aGUgY2FycmllciB0aGF0IHVzZXMgdGhlIEFudGVubmFDYXBhYmlsaXR5LgogICAgICAgICAgICBBbiBOUlNlY3RvckNhcnJpZXIgaW5zdGFuY2UgY2FuIHVzZSBvbmx5IG9uZSBBbnRlbm5hQ2FwYWJpbGl0eS4KICAgICAgICAgICAgQW4gQW50ZW5uYUNhcGFiaWxpdHkgaW5zdGFuY2UgY2FuIGJlIHVzZWQgYnkgbWFueSBOUlNlY3RvckNhcnJpZXJzLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZiB1c2VkLWFudGVubmFDYXBhYmlsaXR5IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5SIFNlY3RvciBDYXJyaWVyIHVzZXMgQW50ZW5uYSBDYXBhYmlsaXR5LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBOUlNlY3RvckNhcnJpZXI7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCB1c2VkLWJ5LW5yU2VjdG9yQ2FycmllciB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJBbnRlbm5hIENhcGFiaWxpdHkgdXNlZCBieSBOUiBTZWN0b3IgQ2Fycmllci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgQW50ZW5uYUNhcGFiaWxpdHk7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBTRUNUT1JfR1JPVVBTX05SQ0VMTERVIHsgLy8gMC4uMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIFNlY3RvciB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5SQ2VsbERVIHR5cGUuCiAgICAgICAgICAgIFRoZSBTZWN0b3IgcmVwcmVzZW50cyB0aGUgZ2VvZ3JhcGhpY2FsIGFyZWEgdGhhdCBncm91cHMgdGhlIE5SQ2VsbERVcy4KICAgICAgICAgICAgQSBTZWN0b3IgaW5zdGFuY2UgY2FuIGdyb3VwIG1hbnkgTlJDZWxsRFVzLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBjYW4gb25seSBiZSBncm91cGVkIGJ5IG9uZSBTZWN0b3IuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgZ3JvdXBlZC1uckNlbGxEdSB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJTZWN0b3IgZ3JvdXBzIE5SIENlbGwtRFUuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIFNlY3RvcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZiBncm91cGVkLWJ5LXNlY3RvciB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJOUiBDZWxsLURVIGdyb3VwZWQgYnkgU2VjdG9yLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBOUkNlbGxEVTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KfQ==
-o-ran-smo-teiv-rel-cloud-ran   urn:o-ran:smo-teiv-rel-cloud-ran        REL_CLOUD_RAN   ["o-ran-smo-teiv-cloud", "o-ran-smo-teiv-ran"]  2024-07-15      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1jbG91ZC1yYW4gewogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LXJlbC1jbG91ZC1yYW4iOwogICAgcHJlZml4IG9yLXRlaXYtY2xvdWR0b3JhbjsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY2xvdWQge3ByZWZpeCBvci10ZWl2LWNsb3VkOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LXJhbiB7cHJlZml4IG9yLXRlaXYtcmFuOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBDbG91ZCB0byBSQU4gTG9naWNhbCB0b3BvbG9neSBtb2RlbC4KCiAgICAgICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgUkFOIENsb3VkIHRvIFJBTiBMb2dpY2FsIHRvcG9sb2d5IHJlbGF0aW9ucy4KCiAgICAgICAgQ29weXJpZ2h0IChDKSAyMDI0IEVyaWNzc29uCiAgICAgICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7CiAgICAgICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogICAgICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiAgICAgICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQogICAgICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgICAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KICAgICAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiAgICAgICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogICAgICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wIjsKCiAgICByZXZpc2lvbiAiMjAyNC0wNS0wMiIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIHJldmlzaW9uICIyMDI0LTA3LTE1IiB7CiAgICAgICAgZGVzY3JpcHRpb24gIlRoaXMgcmV2aXNpb24gYWxpZ25zIE8tUkFOIFdvcmsgR3JvdXAgMTAgU3RhZ2UgMiBTcGVjaWZpY2F0aW9uIChPLVJBTi5XRzEwLlRFJklWLUNJTUkuMC1SMDA0LnYwMi4wMCkiOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICBvci10ZWl2LXlleHQ6ZG9tYWluIFJFTF9DTE9VRF9SQU47CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfU0VSVkVTX09EVUZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtb2R1RnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1EVSBGdW5jdGlvbiBzZXJ2aWNlZCBieSB0aGlzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtY2xvdWQ6TkZEZXBsb3ltZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE8tRFUgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtcmFuOk9EVUZ1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTkZERVBMT1lNRU5UX1NFUlZFU19PQ1VDUEZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtb2N1Y3BGdW5jdGlvbiB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLUNQIEZ1bmN0aW9uIHNlcnZpY2VkIGJ5IHRoaXMgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1jbG91ZDpORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLW5GRGVwbG95bWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJORiBEZXBsb3ltZW50IHRoYXQgc2VydmVzIHRoaXMgTy1DVS1DUCBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0NVQ1BGdW5jdGlvbjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5GREVQTE9ZTUVOVF9TRVJWRVNfT0NVVVBGVU5DVElPTiB7IC8vIDAuLm4gdG8gMC4ubQoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHNlcnZpY2VkLW9jdXVwRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DVS1VUCBGdW5jdGlvbiBzZXJ2aWNlZCBieSB0aGlzIE5GIERlcGxveW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtY2xvdWQ6TkZEZXBsb3ltZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE8tQ1UtVVAgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtcmFuOk9DVVVQRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBORkRFUExPWU1FTlRfU0VSVkVTX05FQVJSVFJJQ0ZVTkNUSU9OIHsgLy8gMC4ubiB0byAwLi5tCgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3Qgc2VydmljZWQtbmVhclJUUklDRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmVhclJUUklDRnVuY3Rpb24gc2VydmljZWQgYnkgdGhpcyBORiBEZXBsb3ltZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LWNsb3VkOk5GRGVwbG95bWVudDsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZi1saXN0IHNlcnZpbmctbkZEZXBsb3ltZW50IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk5GIERlcGxveW1lbnQgdGhhdCBzZXJ2ZXMgdGhpcyBOZWFyUlRSSUNGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46TmVhclJUUklDRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9Cn0=
-o-ran-smo-teiv-rel-equipment-ran       urn:o-ran:smo-teiv-rel-equipment-ran    REL_EQUIPMENT_RAN       ["o-ran-smo-teiv-equipment", "o-ran-smo-teiv-ran"]      2024-10-08      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1lcXVpcG1lbnQtcmFuIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1yZWwtZXF1aXBtZW50LXJhbiI7CiAgICBwcmVmaXggb3ItdGVpdi1yZWwtZXF1aXByYW47CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLXR5cGVzIHsgcHJlZml4IG9yLXRlaXYtdHlwZXM7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7IHByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtZXF1aXBtZW50IHsgcHJlZml4IG9yLXRlaXYtZXF1aXA7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtcmFuIHsgcHJlZml4IG9yLXRlaXYtcmFuOyB9CgoKICAgIG9yZ2FuaXphdGlvbiAiT1JBTiI7CiAgICBjb250YWN0ICJUaGUgQXV0aG9ycyI7CiAgICBkZXNjcmlwdGlvbiAKICAgICJSQU4gRXF1aXBtZW50IHRvIExvZ2ljYWwgdG9wb2xvZ3kgbW9kZWwuCgogICAgVGhpcyBtb2RlbCBjb250YWlucyB0aGUgUkFOIEVxdWlwbWVudCB0byBMb2dpY2FsIHRvcG9sb2d5CiAgICBlbnRpdGllcyBhbmQgcmVsYXRpb25zLgoKICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgTW9kaWZpY2F0aW9ucyBDb3B5cmlnaHQgKEMpIDIwMjQgT3BlbkluZnJhIEZvdW5kYXRpb24gRXVyb3BlCgogICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsKICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywKICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLgogICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCgogICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAiOwoKICAgIHJldmlzaW9uICIyMDI0LTEwLTA4IiB7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIkFkZGVkIG5ldyByZWxhdGlvbnNoaXAgQU5URU5OQU1PRFVMRV9TRVJWRVNfTlJDRUxMRFUuIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC41LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjQuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNS0yNCIgewogICAgICAgIGRlc2NyaXB0aW9uICJJbml0aWFsIHJldmlzaW9uLiI7CiAgICAgICAgb3ItdGVpdi15ZXh0OmxhYmVsIDAuMy4wOwogICAgfQoKICAgIG9yLXRlaXYteWV4dDpkb21haW4gUkVMX0VRVUlQTUVOVF9SQU47CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBBTlRFTk5BTU9EVUxFX1NFUlZFU19BTlRFTk5BQ0FQQUJJTElUWSB7IC8vIDAuLm4gdG8gMC4ubQoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBBbnRlbm5hTW9kdWxlIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgQW50ZW5uYUNhcGFiaWxpdHkgdHlwZS4KICAgICAgICAgICAgVGhlIEFudGVubmFNb2R1bGUgcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgYW50ZW5uYSB0aGF0IHNlcnZlcyB0aGUgQW50ZW5uYUNhcGFiaWxpdHkuCiAgICAgICAgICAgIEFuIEFudGVubmFNb2R1bGUgaW5zdGFuY2UgY2FuIHNlcnZlIG1hbnkgQW50ZW5uYUNhcGFiaWxpdGllcy4KICAgICAgICAgICAgQW4gQW50ZW5uYUNhcGFiaWxpdHkgaW5zdGFuY2UgY2FuIGJlIHNlcnZlZCBieSBtYW55IEFudGVubmFNb2R1bGVzLgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IHNlcnZpY2VkLWFudGVubmFDYXBhYmlsaXR5IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgQ2FwYWJpbGl0eSBzZXJ2aWNlZCBieSB0aGlzIEFudGVubmEgTW9kdWxlLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDphU2lkZSBvci10ZWl2LWVxdWlwOkFudGVubmFNb2R1bGU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYtbGlzdCBzZXJ2aW5nLWFudGVubmFNb2R1bGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiQW50ZW5uYSBNb2R1bGUgc2VydmVzIHRoaXMgQW50ZW5uYSBDYXBhYmlsaXR5LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpBbnRlbm5hQ2FwYWJpbGl0eTsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIFNFQ1RPUl9HUk9VUFNfQU5URU5OQU1PRFVMRSB7IC8vIDAuLjEgdG8gMC4ubgoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBBbnRlbm5hTW9kdWxlIHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTlJDZWxsRFUgdHlwZS4KICAgICAgICAgICAgVGhlIEFudGVubmFNb2R1bGUgcmVwcmVzZW50cyB0aGUgcGh5c2ljYWwgYW50ZW5uYSB0aGF0IHNlcnZlcyB0aGUgTlJDZWxsRFUuCiAgICAgICAgICAgIEFuIEFudGVubmFNb2R1bGUgaW5zdGFuY2UgY2FuIHNlcnZlIG1hbnkgTlJDZWxsRFVzLgogICAgICAgICAgICBBbiBOUkNlbGxEVSBpbnN0YW5jZSBjYW4gYmUgc2VydmVkIGJ5IG1hbnkgQW50ZW5uYU1vZHVsZXMuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgZ3JvdXBlZC1hbnRlbm5hTW9kdWxlIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIlNlY3RvciBncm91cHMgQW50ZW5uYSBNb2R1bGUuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtcmFuOlNlY3RvcjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgIH0KCiAgICAgICAgbGVhZiBncm91cGVkLWJ5LXNlY3RvciB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJBbnRlbm5hIE1vZHVsZSBncm91cGVkIGJ5IFNlY3Rvci4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1lcXVpcDpBbnRlbm5hTW9kdWxlOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgU0VDVE9SX0dST1VQU19BTlRFTk5BTU9EVUxFIHsgLy8gMC4uMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIFNlY3RvciB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIEFudGVubmFNb2R1bGUgdHlwZS4KICAgICAgICAgICAgVGhlIFNlY3RvciByZXByZXNlbnRzIHRoZSBnZW9ncmFwaGljYWwgYXJlYSB0aGF0IGdyb3VwcyB0aGUgQW50ZW5uYU1vZHVsZXMuCiAgICAgICAgICAgIEEgU2VjdG9yIGluc3RhbmNlIGNhbiBncm91cCBtYW55IEFudGVubmFNb2R1bGVzLgogICAgICAgICAgICBBbiBBbnRlbm5hTW9kdWxlIGluc3RhbmNlIGNhbiBvbmx5IGJlIGdyb3VwZWQgYnkgb25lIFNlY3Rvci4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX1JlbGF0aW9uc2hpcF9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBncm91cGVkLWFudGVubmFNb2R1bGUgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiU2VjdG9yIGdyb3VwcyBBbnRlbm5hIE1vZHVsZS4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1yYW46U2VjdG9yOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIGdyb3VwZWQtYnktc2VjdG9yIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkFudGVubmEgTW9kdWxlIGdyb3VwZWQgYnkgU2VjdG9yLiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LWVxdWlwOkFudGVubmFNb2R1bGU7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CiAgICB9Cn0=
-o-ran-smo-teiv-rel-oam-cloud   urn:o-ran:smo-teiv-rel-oam-cloud        REL_OAM_CLOUD   ["o-ran-smo-teiv-oam", "o-ran-smo-teiv-cloud"]  2024-07-15      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1vYW0tY2xvdWQgewogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOm8tcmFuOnNtby10ZWl2LXJlbC1vYW0tY2xvdWQiOwogICAgcHJlZml4IG9yLXRlaXYtb2FtdG9jbG91ZDsKCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctdHlwZXMge3ByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMge3ByZWZpeCBvci10ZWl2LXlleHQ7IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtb2FtIHtwcmVmaXggb3ItdGVpdi1vYW07IH0KCiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY2xvdWQge3ByZWZpeCBvci10ZWl2LWNsb3VkOyB9CgogICAgb3JnYW5pemF0aW9uICJPUkFOIjsKICAgIGNvbnRhY3QgIlRoZSBBdXRob3JzIjsKICAgIGRlc2NyaXB0aW9uCiAgICAgICAgIlJBTiBPJk0gdG8gQ2xvdWQgdG9wb2xvZ3kgbW9kZWwuCgogICAgICAgIFRoaXMgbW9kZWwgY29udGFpbnMgdGhlIFJBTiBPJk0gdG8gQ2xvdWQgdG9wb2xvZ3kgcmVsYXRpb25zCgogICAgICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgICAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgICAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgICAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMDUtMDIiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCByZXZpc2lvbi4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjMuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNy0xNSIgewogICAgICAgIGRlc2NyaXB0aW9uICJUaGlzIHJldmlzaW9uIGFsaWducyBPLVJBTiBXb3JrIEdyb3VwIDEwIFN0YWdlIDIgU3BlY2lmaWNhdGlvbiAoTy1SQU4uV0cxMC5URSZJVi1DSU1JLjAtUjAwNC52MDIuMDApIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC40LjA7CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmRvbWFpbiBSRUxfT0FNX0NMT1VEOwoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfREVQTE9ZRURfQVNfQ0xPVURJRklFRE5GIHsgIC8vIDAuLjEgdG8gMQoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZiBkZXBsb3llZC1hcy1jbG91ZGlmaWVkTkYgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IGRlcGxveWVkIGFzIENsb3VkaWZpZWQgTkYuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIGRlcGxveWVkLW1hbmFnZWRFbGVtZW50IHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIkNsb3VkaWZpZWQgTkYgZGVwbG95cyBNYW5hZ2VkIEVsZW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtY2xvdWQ6Q2xvdWRpZmllZE5GOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE5GREVQTE9ZTUVOVF9TRVJWRVNfTUFOQUdFREVMRU1FTlQgeyAvLyAxLi5uIHRvIDEKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYgc2VydmljZWQtbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IHNlcnZpY2VkIGJ5IHRoaXMgTkYgRGVwbG95bWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1jbG91ZDpORkRlcGxveW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQoKICAgICAgICBsZWFmLWxpc3Qgc2VydmluZy1uRkRlcGxveW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTkYgRGVwbG95bWVudCB0aGF0IHNlcnZlcyB0aGlzIE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1vYW06TWFuYWdlZEVsZW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWluLWVsZW1lbnRzIDE7CiAgICAgICAgfQogICAgfQp9
-o-ran-smo-teiv-rel-oam-ran     urn:o-ran:smo-teiv-rel-oam-ran  REL_OAM_RAN     ["o-ran-smo-teiv-oam", "o-ran-smo-teiv-ran"]    2024-10-04      bW9kdWxlIG8tcmFuLXNtby10ZWl2LXJlbC1vYW0tcmFuIHsKICAgIHlhbmctdmVyc2lvbiAxLjE7CiAgICBuYW1lc3BhY2UgInVybjpvLXJhbjpzbW8tdGVpdi1yZWwtb2FtLXJhbiI7CiAgICBwcmVmaXggb3ItdGVpdi1yZWwtb2FtcmFuOwoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyB7IHByZWZpeCBvci10ZWl2LXR5cGVzOyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LWNvbW1vbi15YW5nLWV4dGVuc2lvbnMgeyBwcmVmaXggb3ItdGVpdi15ZXh0OyB9CgogICAgaW1wb3J0IG8tcmFuLXNtby10ZWl2LW9hbSB7IHByZWZpeCBvci10ZWl2LW9hbTsgfQoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1yYW4geyBwcmVmaXggb3ItdGVpdi1yYW47IH0KCiAgICBvcmdhbml6YXRpb24gIk9SQU4iOwogICAgY29udGFjdCAiVGhlIEF1dGhvcnMiOwogICAgZGVzY3JpcHRpb24KICAgICAgICAiUkFOIE8mTSB0byBMb2dpY2FsIHRvcG9sb2d5IG1vZGVsLgoKICAgICAgICBUaGlzIG1vZGVsIGNvbnRhaW5zIHRoZSBSQU4gTyZNIHRvIExvZ2ljYWwgdG9wb2xvZ3kgcmVsYXRpb25zCgogICAgICAgIENvcHlyaWdodCAoQykgMjAyNCBFcmljc3NvbgogICAgICAgIE1vZGlmaWNhdGlvbnMgQ29weXJpZ2h0IChDKSAyMDI0IE9wZW5JbmZyYSBGb3VuZGF0aW9uIEV1cm9wZQoKICAgICAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpOwogICAgICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KICAgICAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKCiAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgogICAgICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKICAgICAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsCiAgICAgICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiAgICAgICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAogICAgICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKICAgICAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCI7CgogICAgcmV2aXNpb24gIjIwMjQtMTAtMDQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiQWRkZWQgZ3JvdXBpbmcsIE9yaWdpbl9SZWxhdGlvbnNoaXBfTWFwcGluZ19HcnAgdG8gdGhlIHRvcG9sb2d5IG9iamVjdC4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjUuMDsKICAgIH0KCiAgICByZXZpc2lvbiAiMjAyNC0wNy0xNSIgewogICAgICAgIGRlc2NyaXB0aW9uICJUaGlzIHJldmlzaW9uIGFsaWducyBPLVJBTiBXb3JrIEdyb3VwIDEwIFN0YWdlIDIgU3BlY2lmaWNhdGlvbiAoTy1SQU4uV0cxMC5URSZJVi1DSU1JLjAtUjAwNC52MDIuMDApIjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC40LjA7CiAgICB9CgogICAgcmV2aXNpb24gIjIwMjQtMDUtMjQiIHsKICAgICAgICBkZXNjcmlwdGlvbiAiSW5pdGlhbCByZXZpc2lvbi4iOwogICAgICAgIG9yLXRlaXYteWV4dDpsYWJlbCAwLjMuMDsKICAgIH0KCiAgICBvci10ZWl2LXlleHQ6ZG9tYWluIFJFTF9PQU1fUkFOOwoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfTUFOQUdFU19PRFVGVU5DVElPTiB7ICAgIC8vIDEgdG8gMC4ubgoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBNYW5hZ2VkRWxlbWVudCB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE9EVUZ1bmN0aW9uIHR5cGUuCiAgICAgICAgICAgIFRoZSBNYW5hZ2VkRWxlbWVudCByZXByZXNlbnRzIHRoZSBub2RlIHRoYXQgbWFuYWdlcyB0aGUgT0RVRnVuY3Rpb24uCiAgICAgICAgICAgIEEgTWFuYWdlZEVsZW1lbnQgaW5zdGFuY2UgY2FuIG1hbmFnZSBtYW55IE9EVUZ1bmN0aW9ucy4KICAgICAgICAgICAgQW4gT0RVRnVuY3Rpb24gaW5zdGFuY2UgbXVzdCBiZSBtYW5hZ2VkIGJ5IG9uZSBNYW5hZ2VkRWxlbWVudC4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBtYW5hZ2VkLW9kdUZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZWQgRWxlbWVudCBtYW5hZ2VzIE8tRFUgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1EVSBGdW5jdGlvbiBtYW5hZ2VkIGJ5IE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0RVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfTUFOQUdFU19PQ1VDUEZVTkNUSU9OIHsgICAgLy8gMSB0byAwLi5uCgogICAgICAgIGRlc2NyaXB0aW9uCiAgICAgICAgICAgICJUaGUgYVNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE1hbmFnZWRFbGVtZW50IHR5cGUuCiAgICAgICAgICAgIFRoZSBiU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgT0NVQ1BGdW5jdGlvbiB0eXBlLgogICAgICAgICAgICBUaGUgTWFuYWdlZEVsZW1lbnQgcmVwcmVzZW50cyB0aGUgbm9kZSB0aGF0IG1hbmFnZXMgdGhlIE9DVUNQRnVuY3Rpb24uCiAgICAgICAgICAgIEEgTWFuYWdlZEVsZW1lbnQgaW5zdGFuY2UgY2FuIG1hbmFnZSBtYW55IE9DVUNQRnVuY3Rpb25zLgogICAgICAgICAgICBBbiBPQ1VDUEZ1bmN0aW9uIGluc3RhbmNlIG11c3QgYmUgbWFuYWdlZCBieSBvbmUgTWFuYWdlZEVsZW1lbnQuCiAgICAgICAgICAgICI7CgogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpUb3BfR3JwX1R5cGU7CiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOk9yaWdpbl9FbnRpdHlfTWFwcGluZ19HcnA7CiAgICAgICAga2V5IGlkOwoKICAgICAgICBsZWFmLWxpc3QgbWFuYWdlZC1vY3VjcEZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZWQgRWxlbWVudCBtYW5hZ2VzIE8tQ1UtQ1AgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1DVS1DUCBGdW5jdGlvbiBtYW5hZ2VkIGJ5IE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T0NVQ1BGdW5jdGlvbjsKICAgICAgICAgICAgdHlwZSBpbnN0YW5jZS1pZGVudGlmaWVyOwogICAgICAgICAgICBtYW5kYXRvcnkgdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgb3ItdGVpdi15ZXh0OmJpRGlyZWN0aW9uYWxUb3BvbG9neVJlbGF0aW9uc2hpcCBNQU5BR0VERUxFTUVOVF9NQU5BR0VTX09DVVVQRlVOQ1RJT04geyAgICAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTWFuYWdlZEVsZW1lbnQgdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBPQ1VVUEZ1bmN0aW9uIHR5cGUuCiAgICAgICAgICAgIFRoZSBNYW5hZ2VkRWxlbWVudCByZXByZXNlbnRzIHRoZSBub2RlIHRoYXQgbWFuYWdlcyB0aGUgT0NVVVBGdW5jdGlvbi4KICAgICAgICAgICAgQSBNYW5hZ2VkRWxlbWVudCBpbnN0YW5jZSBjYW4gbWFuYWdlIG1hbnkgT0NVVVBGdW5jdGlvbnMuCiAgICAgICAgICAgIEFuIE9DVVVQRnVuY3Rpb24gaW5zdGFuY2UgbXVzdCBiZSBtYW5hZ2VkIGJ5IG9uZSBNYW5hZ2VkRWxlbWVudC4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBtYW5hZ2VkLW9jdXVwRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IG1hbmFnZXMgTy1DVS1VUCBGdW5jdGlvbi4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YVNpZGUgb3ItdGVpdi1vYW06TWFuYWdlZEVsZW1lbnQ7CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICB9CgogICAgICAgIGxlYWYgbWFuYWdlZC1ieS1tYW5hZ2VkRWxlbWVudCB7CiAgICAgICAgICAgIGRlc2NyaXB0aW9uICJPLUNVLVVQIEZ1bmN0aW9uIG1hbmFnZWQgYnkgTWFuYWdlZCBFbGVtZW50LiI7CiAgICAgICAgICAgIG9yLXRlaXYteWV4dDpiU2lkZSBvci10ZWl2LXJhbjpPQ1VVUEZ1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KCiAgICBvci10ZWl2LXlleHQ6YmlEaXJlY3Rpb25hbFRvcG9sb2d5UmVsYXRpb25zaGlwIE1BTkFHRURFTEVNRU5UX01BTkFHRVNfT1JVRlVOQ1RJT04geyAgICAvLyAxIHRvIDAuLm4KCiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICAgICAgIlRoZSBhU2lkZSBvZiB0aGlzIHJlbGF0aW9uc2hpcCBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgTWFuYWdlZEVsZW1lbnQgdHlwZS4KICAgICAgICAgICAgVGhlIGJTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBPUlVGdW5jdGlvbiB0eXBlLgogICAgICAgICAgICBUaGUgTWFuYWdlZEVsZW1lbnQgcmVwcmVzZW50cyB0aGUgbm9kZSB0aGF0IG1hbmFnZXMgdGhlIE9SVUZ1bmN0aW9uLgogICAgICAgICAgICBBIE1hbmFnZWRFbGVtZW50IGluc3RhbmNlIGNhbiBtYW5hZ2UgbWFueSBPUlVGdW5jdGlvbi4KICAgICAgICAgICAgQW4gT1JVRnVuY3Rpb24gaW5zdGFuY2UgbXVzdCBiZSBtYW5hZ2VkIGJ5IG9uZSBNYW5hZ2VkRWxlbWVudC4KICAgICAgICAgICAgIjsKCiAgICAgICAgdXNlcyBvci10ZWl2LXR5cGVzOlRvcF9HcnBfVHlwZTsKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6T3JpZ2luX0VudGl0eV9NYXBwaW5nX0dycDsKICAgICAgICBrZXkgaWQ7CgogICAgICAgIGxlYWYtbGlzdCBtYW5hZ2VkLW9ydUZ1bmN0aW9uIHsKICAgICAgICAgICAgZGVzY3JpcHRpb24gIk1hbmFnZWQgRWxlbWVudCBtYW5hZ2VzIE8tUlUgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTy1SVSBGdW5jdGlvbiBtYW5hZ2VkIGJ5IE1hbmFnZWQgRWxlbWVudC4iOwogICAgICAgICAgICBvci10ZWl2LXlleHQ6YlNpZGUgb3ItdGVpdi1yYW46T1JVRnVuY3Rpb247CiAgICAgICAgICAgIHR5cGUgaW5zdGFuY2UtaWRlbnRpZmllcjsKICAgICAgICAgICAgbWFuZGF0b3J5IHRydWU7CiAgICAgICAgfQogICAgfQoKICAgIG9yLXRlaXYteWV4dDpiaURpcmVjdGlvbmFsVG9wb2xvZ3lSZWxhdGlvbnNoaXAgTUFOQUdFREVMRU1FTlRfTUFOQUdFU19ORUFSUlRSSUNGVU5DVElPTiB7ICAgIC8vIDEgdG8gMC4ubgoKICAgICAgICBkZXNjcmlwdGlvbgogICAgICAgICAgICAiVGhlIGFTaWRlIG9mIHRoaXMgcmVsYXRpb25zaGlwIGlzIGFuIGluc3RhbmNlIG9mIHRoZSBNYW5hZ2VkRWxlbWVudCB0eXBlLgogICAgICAgICAgICBUaGUgYlNpZGUgb2YgdGhpcyByZWxhdGlvbnNoaXAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhlIE5lYXJSVFJJQ0Z1bmN0aW9uIHR5cGUuCiAgICAgICAgICAgIFRoZSBNYW5hZ2VkRWxlbWVudCByZXByZXNlbnRzIHRoZSBub2RlIHRoYXQgbWFuYWdlcyB0aGUgTmVhclJUUklDRnVuY3Rpb24uCiAgICAgICAgICAgIEEgTWFuYWdlZEVsZW1lbnQgaW5zdGFuY2UgY2FuIG1hbmFnZSBtYW55IE5lYXJSVFJJQ0Z1bmN0aW9uLgogICAgICAgICAgICBBbiBOZWFyUlRSSUNGdW5jdGlvbiBpbnN0YW5jZSBtdXN0IGJlIG1hbmFnZWQgYnkgb25lIE1hbmFnZWRFbGVtZW50LgogICAgICAgICAgICAiOwoKICAgICAgICB1c2VzIG9yLXRlaXYtdHlwZXM6VG9wX0dycF9UeXBlOwogICAgICAgIHVzZXMgb3ItdGVpdi10eXBlczpPcmlnaW5fRW50aXR5X01hcHBpbmdfR3JwOwogICAgICAgIGtleSBpZDsKCiAgICAgICAgbGVhZi1saXN0IG1hbmFnZWQtbmVhclJUUklDRnVuY3Rpb24gewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTWFuYWdlZCBFbGVtZW50IG1hbmFnZXMgTmVhciBSVCBSSUMgRnVuY3Rpb24uIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmFTaWRlIG9yLXRlaXYtb2FtOk1hbmFnZWRFbGVtZW50OwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgfQoKICAgICAgICBsZWFmIG1hbmFnZWQtYnktbWFuYWdlZEVsZW1lbnQgewogICAgICAgICAgICBkZXNjcmlwdGlvbiAiTmVhciBSVCBSSUMgRnVuY3Rpb24gbWFuYWdlZCBieSBNYW5hZ2VkIEVsZW1lbnQuIjsKICAgICAgICAgICAgb3ItdGVpdi15ZXh0OmJTaWRlIG9yLXRlaXYtcmFuOk5lYXJSVFJJQ0Z1bmN0aW9uOwogICAgICAgICAgICB0eXBlIGluc3RhbmNlLWlkZW50aWZpZXI7CiAgICAgICAgICAgIG1hbmRhdG9yeSB0cnVlOwogICAgICAgIH0KICAgIH0KfQ==
-\.
-
-COPY ties_model.entity_info("storedAt", "name", "moduleReferenceName", "attributeNames") FROM stdin;
-o-ran-smo-teiv-cloud_CloudifiedNF      CloudifiedNF    o-ran-smo-teiv-cloud    ["name"]
-o-ran-smo-teiv-cloud_NFDeployment      NFDeployment    o-ran-smo-teiv-cloud    ["name"]
-o-ran-smo-teiv-cloud_NodeCluster       NodeCluster     o-ran-smo-teiv-cloud    ["name"]
-o-ran-smo-teiv-cloud_OCloudNamespace   OCloudNamespace o-ran-smo-teiv-cloud    ["name"]
-o-ran-smo-teiv-cloud_OCloudSite        OCloudSite      o-ran-smo-teiv-cloud    ["geo-location", "name"]
-o-ran-smo-teiv-equipment_AntennaModule AntennaModule   o-ran-smo-teiv-equipment        ["antennaBeamWidth", "antennaModelNumber", "azimuth", "electricalAntennaTilt", "geo-location", "horizontalBeamWidth", "mechanicalAntennaBearing", "mechanicalAntennaTilt", "positionWithinSector", "totalTilt", "verticalBeamWidth"]
-o-ran-smo-teiv-equipment_Site  Site    o-ran-smo-teiv-equipment        ["geo-location", "name"]
-o-ran-smo-teiv-oam_ManagedElement      ManagedElement  o-ran-smo-teiv-oam      []
-o-ran-smo-teiv-ran_AntennaCapability   AntennaCapability       o-ran-smo-teiv-ran      ["eUtranFqBands", "geranFqBands", "nRFqBands"]
-o-ran-smo-teiv-ran_NRCellCU    NRCellCU        o-ran-smo-teiv-ran      ["cellLocalId", "nCI", "nRTAC", "plmnId"]
-o-ran-smo-teiv-ran_NRCellDU    NRCellDU        o-ran-smo-teiv-ran      ["cellLocalId", "nCI", "nRPCI", "nRTAC"]
-o-ran-smo-teiv-ran_NRSectorCarrier     NRSectorCarrier o-ran-smo-teiv-ran      ["arfcnDL", "arfcnUL", "bSChannelBwDL", "frequencyDL", "frequencyUL"]
-o-ran-smo-teiv-ran_NearRTRICFunction   NearRTRICFunction       o-ran-smo-teiv-ran      ["nearRtRicId", "pLMNId"]
-o-ran-smo-teiv-ran_OCUCPFunction       OCUCPFunction   o-ran-smo-teiv-ran      ["gNBCUName", "gNBId", "gNBIdLength", "pLMNId"]
-o-ran-smo-teiv-ran_OCUUPFunction       OCUUPFunction   o-ran-smo-teiv-ran      ["gNBId", "gNBIdLength", "pLMNIdList"]
-o-ran-smo-teiv-ran_ODUFunction ODUFunction     o-ran-smo-teiv-ran      ["gNBDUId", "gNBId", "gNBIdLength"]
-o-ran-smo-teiv-ran_ORUFunction ORUFunction     o-ran-smo-teiv-ran      ["oruId"]
-o-ran-smo-teiv-ran_Sector      Sector  o-ran-smo-teiv-ran      ["azimuth", "geo-location", "sectorId"]
-\.
-
-COPY ties_model.relationship_info("name", "aSideAssociationName", "aSideMOType", "aSideModule", "aSideMinCardinality", "aSideMaxCardinality", "bSideAssociationName", "bSideMOType", "bSideModule", "bSideMinCardinality", "bSideMaxCardinality", "associationKind", "connectSameEntity", "relationshipDataLocation", "storedAt", "moduleReferenceName") FROM stdin;
-ANTENNAMODULE_INSTALLED_AT_SITE        installed-at-site       AntennaModule   o-ran-smo-teiv-equipment        0       9223372036854775807     installed-antennaModule Site    o-ran-smo-teiv-equipment        0       1       BI_DIRECTIONAL  false   A_SIDE  o-ran-smo-teiv-equipment_AntennaModule  o-ran-smo-teiv-equipment
-ANTENNAMODULE_SERVES_ANTENNACAPABILITY serviced-antennaCapability      AntennaModule   o-ran-smo-teiv-equipment        0       9223372036854775807     serving-antennaModule   AntennaCapability       o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_ANTENNACAPABILITY o-ran-smo-teiv-rel-equipment-ran
-CLOUDIFIEDNF_COMPRISES_NFDEPLOYMENT    comprised-nFDeployment  CloudifiedNF    o-ran-smo-teiv-cloud    1       1       comprised-by-cloudifiedNF       NFDeployment    o-ran-smo-teiv-cloud    1       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-cloud_NFDeployment       o-ran-smo-teiv-cloud
-MANAGEDELEMENT_DEPLOYED_AS_CLOUDIFIEDNF        deployed-as-cloudifiedNF        ManagedElement  o-ran-smo-teiv-oam      1       1       deployed-managedElement CloudifiedNF    o-ran-smo-teiv-cloud    0       1       BI_DIRECTIONAL  false   A_SIDE  o-ran-smo-teiv-oam_ManagedElement       o-ran-smo-teiv-rel-oam-cloud
-MANAGEDELEMENT_MANAGES_NEARRTRICFUNCTION       managed-nearRTRICFunction       ManagedElement  o-ran-smo-teiv-oam      1       1       managed-by-managedElement       NearRTRICFunction       o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_NearRTRICFunction    o-ran-smo-teiv-rel-oam-ran
-MANAGEDELEMENT_MANAGES_OCUCPFUNCTION   managed-ocucpFunction   ManagedElement  o-ran-smo-teiv-oam      1       1       managed-by-managedElement       OCUCPFunction   o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_OCUCPFunction        o-ran-smo-teiv-rel-oam-ran
-MANAGEDELEMENT_MANAGES_OCUUPFUNCTION   managed-ocuupFunction   ManagedElement  o-ran-smo-teiv-oam      1       1       managed-by-managedElement       OCUUPFunction   o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_OCUUPFunction        o-ran-smo-teiv-rel-oam-ran
-MANAGEDELEMENT_MANAGES_ODUFUNCTION     managed-oduFunction     ManagedElement  o-ran-smo-teiv-oam      1       1       managed-by-managedElement       ODUFunction     o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_ODUFunction  o-ran-smo-teiv-rel-oam-ran
-MANAGEDELEMENT_MANAGES_ORUFUNCTION     managed-oruFunction     ManagedElement  o-ran-smo-teiv-oam      1       1       managed-by-managedElement       ORUFunction     o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_ORUFunction  o-ran-smo-teiv-rel-oam-ran
-NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE       deployed-on-ocloudNamespace     NFDeployment    o-ran-smo-teiv-cloud    1       9223372036854775807     deployed-nFDeployment   OCloudNamespace o-ran-smo-teiv-cloud    1       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-cloud_NFDEPLOYMENT_DEPLOYED_ON_OCLOUDNAMESPACE   o-ran-smo-teiv-cloud
-NFDEPLOYMENT_SERVES_MANAGEDELEMENT     serviced-managedElement NFDeployment    o-ran-smo-teiv-cloud    1       9223372036854775807     serving-nFDeployment    ManagedElement  o-ran-smo-teiv-oam      1       1       BI_DIRECTIONAL  false   A_SIDE  o-ran-smo-teiv-cloud_NFDeployment       o-ran-smo-teiv-rel-oam-cloud
-NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION  serviced-nearRTRICFunction      NFDeployment    o-ran-smo-teiv-cloud    0       9223372036854775807     serving-nFDeployment    NearRTRICFunction       o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_NEARRTRICFUNCTION      o-ran-smo-teiv-rel-cloud-ran
-NFDEPLOYMENT_SERVES_OCUCPFUNCTION      serviced-ocucpFunction  NFDeployment    o-ran-smo-teiv-cloud    0       9223372036854775807     serving-nFDeployment    OCUCPFunction   o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUCPFUNCTION  o-ran-smo-teiv-rel-cloud-ran
-NFDEPLOYMENT_SERVES_OCUUPFUNCTION      serviced-ocuupFunction  NFDeployment    o-ran-smo-teiv-cloud    0       9223372036854775807     serving-nFDeployment    OCUUPFunction   o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_OCUUPFUNCTION  o-ran-smo-teiv-rel-cloud-ran
-NFDEPLOYMENT_SERVES_ODUFUNCTION        serviced-oduFunction    NFDeployment    o-ran-smo-teiv-cloud    0       9223372036854775807     serving-nFDeployment    ODUFunction     o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-rel-cloud-ran_NFDEPLOYMENT_SERVES_ODUFUNCTION    o-ran-smo-teiv-rel-cloud-ran
-NODECLUSTER_LOCATED_AT_OCLOUDSITE      located-at-ocloudSite   NodeCluster     o-ran-smo-teiv-cloud    1       9223372036854775807     location-of-onodeCluster        OCloudSite      o-ran-smo-teiv-cloud    1       9223372036854775807     BI_DIRECTIONAL  false   RELATION        o-ran-smo-teiv-cloud_NODECLUSTER_LOCATED_AT_OCLOUDSITE  o-ran-smo-teiv-cloud
-NRCELLDU_USES_NRSECTORCARRIER  used-nrSectorCarrier    NRCellDU        o-ran-smo-teiv-ran      0       1       used-by-nrCellDu        NRSectorCarrier o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_NRSectorCarrier      o-ran-smo-teiv-ran
-NRSECTORCARRIER_USES_ANTENNACAPABILITY used-antennaCapability  NRSectorCarrier o-ran-smo-teiv-ran      0       9223372036854775807     used-by-nrSectorCarrier AntennaCapability       o-ran-smo-teiv-ran      0       1       BI_DIRECTIONAL  false   A_SIDE  o-ran-smo-teiv-ran_NRSectorCarrier      o-ran-smo-teiv-ran
-OCLOUDNAMESPACE_DEPLOYED_ON_NODECLUSTER        deployed-on-nodeCluster OCloudNamespace o-ran-smo-teiv-cloud    1       9223372036854775807     deployed-ocloudNamespace        NodeCluster     o-ran-smo-teiv-cloud    1       1       BI_DIRECTIONAL  false   A_SIDE  o-ran-smo-teiv-cloud_OCloudNamespace    o-ran-smo-teiv-cloud
-OCUCPFUNCTION_PROVIDES_NRCELLCU        provided-nrCellCu       OCUCPFunction   o-ran-smo-teiv-ran      1       1       provided-by-ocucpFunction       NRCellCU        o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_NRCellCU     o-ran-smo-teiv-ran
-ODUFUNCTION_PROVIDES_NRCELLDU  provided-nrCellDu       ODUFunction     o-ran-smo-teiv-ran      1       1       provided-by-oduFunction NRCellDU        o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_NRCellDU     o-ran-smo-teiv-ran
-ODUFUNCTION_PROVIDES_NRSECTORCARRIER   provided-nrSectorCarrier        ODUFunction     o-ran-smo-teiv-ran      1       1       provided-by-oduFunction NRSectorCarrier o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_NRSectorCarrier      o-ran-smo-teiv-ran
-SECTOR_GROUPS_ANTENNAMODULE    grouped-antennaModule   Sector  o-ran-smo-teiv-ran      0       1       grouped-by-sector       AntennaModule   o-ran-smo-teiv-equipment        0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-equipment_AntennaModule  o-ran-smo-teiv-rel-equipment-ran
-SECTOR_GROUPS_ANTENNAMODULE    grouped-antennaModule   Sector  o-ran-smo-teiv-ran      0       1       grouped-by-sector       AntennaModule   o-ran-smo-teiv-equipment        0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-equipment_AntennaModule  o-ran-smo-teiv-rel-equipment-ran
-SECTOR_GROUPS_NRCELLDU grouped-nrCellDu        Sector  o-ran-smo-teiv-ran      0       1       grouped-by-sector       NRCellDU        o-ran-smo-teiv-ran      0       9223372036854775807     BI_DIRECTIONAL  false   B_SIDE  o-ran-smo-teiv-ran_NRCellDU     o-ran-smo-teiv-ran
-\.
-
-;
-
-COMMIT;
\ No newline at end of file
diff --git a/teiv/src/test/resources/pgsqlschema/02_init-oran-smo-teiv-consumer-data-v1.sql b/teiv/src/test/resources/pgsqlschema/02_init-oran-smo-teiv-consumer-data-v1.sql
deleted file mode 100644 (file)
index dca3ded..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
---
--- ============LICENSE_START=======================================================
--- Copyright (C) 2024 Ericsson
--- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
--- ================================================================================
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
---       http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- SPDX-License-Identifier: Apache-2.0
--- ============LICENSE_END=========================================================
---
-
-BEGIN;
-
-CREATE SCHEMA IF NOT EXISTS ties_consumer_data;
-ALTER SCHEMA ties_consumer_data OWNER TO :pguser;
-SET default_tablespace = '';
-SET default_table_access_method = heap;
-
-SET ROLE :pguser;
-
-CREATE TABLE IF NOT EXISTS ties_consumer_data."module_reference" (
-    "name"            TEXT PRIMARY KEY,
-    "namespace"       TEXT,
-    "revision"        TEXT NOT NULL,
-    "content"         TEXT NOT NULL,
-    "ownerAppId"      VARCHAR(511) NOT NULL,
-    "status"          VARCHAR(127) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS ties_consumer_data."decorators" (
-    "name"                TEXT PRIMARY KEY,
-    "dataType"            VARCHAR(511) NOT NULL,
-    "moduleReferenceName" TEXT NOT NULL,
-    FOREIGN KEY ("moduleReferenceName") REFERENCES ties_consumer_data."module_reference" ("name") ON DELETE CASCADE
-);
-
-CREATE TABLE IF NOT EXISTS ties_consumer_data."classifiers" (
-    "name"                TEXT PRIMARY KEY,
-    "moduleReferenceName" TEXT NOT NULL,
-    FOREIGN KEY ("moduleReferenceName") REFERENCES ties_consumer_data."module_reference" ("name") ON DELETE CASCADE
-);
-
-COMMIT;
diff --git a/teiv/src/test/resources/pgsqlschema/consumer-data-v1.sql b/teiv/src/test/resources/pgsqlschema/consumer-data-v1.sql
deleted file mode 100644 (file)
index fd70b75..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
---
--- ============LICENSE_START=======================================================
--- Copyright (C) 2024 Ericsson
--- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
--- ================================================================================
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
---       http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- SPDX-License-Identifier: Apache-2.0
--- ============LICENSE_END=========================================================
---
-
-BEGIN;
-
-COPY ties_consumer_data."module_reference"("name", "namespace", "revision", "content", "ownerAppId", "status") FROM stdin;
-test-app-module        urn:o-ran:test-app-module       2024-05-24      bW9kdWxlIHRlc3QtYXBwLW1vZHVsZSB7CgogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOnRlc3QtYXBwLW1vZHVsZSI7CiAgICBwcmVmaXggbW9kdWxlOwoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyB7IHByZWZpeCB0ZXN0OyB9CiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7cHJlZml4IG9yLXRlaXYteWV4dDsgfQoKICAgIHJldmlzaW9uICIyMDI0LTA2LTEwIiB7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICBJbml0aWFsIHJldmlzaW9uLjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgYXVnbWVudCAvdGVzdDpkZWNvcmF0b3JzIHsKICAgICAgICBsZWFmIGxvY2F0aW9uIHsKICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgfQogICAgICAgIGxlYWYgdmVuZG9yIHsKICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgfQogICAgfQoKICAgIGlkZW50aXR5IE91dGRvb3IgewogICAgICAgIGJhc2UgdGVzdDpjbGFzc2lmaWVyczsKICAgIH0KCiAgICBpZGVudGl0eSBSdXJhbCB7CiAgICAgICAgYmFzZSB0ZXN0OmNsYXNzaWZpZXJzOwogICAgfQoKICAgIGlkZW50aXR5IFdlZWtlbmQgewogICAgICAgIGJhc2UgdGVzdDpjbGFzc2lmaWVyczsKICAgIH0KCn0K    APP     IN_USAGE
-test-app-for-deletion-module   urn:o-ran:test-app-for-deletion-module  2024-05-24      bW9kdWxlIHRlc3QtYXBwLW1vZHVsZSB7CgogICAgeWFuZy12ZXJzaW9uIDEuMTsKICAgIG5hbWVzcGFjZSAidXJuOnRlc3QtYXBwLW1vZHVsZSI7CiAgICBwcmVmaXggbW9kdWxlOwoKICAgIGltcG9ydCBvLXJhbi1zbW8tdGVpdi1jb21tb24teWFuZy10eXBlcyB7IHByZWZpeCB0ZXN0OyB9CiAgICBpbXBvcnQgby1yYW4tc21vLXRlaXYtY29tbW9uLXlhbmctZXh0ZW5zaW9ucyB7cHJlZml4IG9yLXRlaXYteWV4dDsgfQoKICAgIHJldmlzaW9uICIyMDI0LTA2LTEwIiB7CiAgICAgICAgZGVzY3JpcHRpb24KICAgICAgICBJbml0aWFsIHJldmlzaW9uLjsKICAgICAgICBvci10ZWl2LXlleHQ6bGFiZWwgMC4zLjA7CiAgICB9CgogICAgYXVnbWVudCAvdGVzdDpkZWNvcmF0b3JzIHsKICAgICAgICBsZWFmIGxvY2F0aW9uIHsKICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgfQogICAgICAgIGxlYWYgdmVuZG9yIHsKICAgICAgICAgICAgdHlwZSBzdHJpbmc7CiAgICAgICAgfQogICAgfQoKICAgIGlkZW50aXR5IE91dGRvb3IgewogICAgICAgIGJhc2UgdGVzdDpjbGFzc2lmaWVyczsKICAgIH0KCiAgICBpZGVudGl0eSBSdXJhbCB7CiAgICAgICAgYmFzZSB0ZXN0OmNsYXNzaWZpZXJzOwogICAgfQoKICAgIGlkZW50aXR5IFdlZWtlbmQgewogICAgICAgIGJhc2UgdGVzdDpjbGFzc2lmaWVyczsKICAgIH0KCn0K    APP     IN_USAGE
-\.
-
-COPY ties_consumer_data."decorators" ("name", "dataType", "moduleReferenceName" )  FROM stdin;
-test-app-module:textdata       TEXT    test-app-module
-test-app-module:intdata        INT     test-app-module
-\.
-
-COPY ties_consumer_data."classifiers" ("name", "moduleReferenceName" )  FROM stdin;
-test-app-module:Indoor test-app-module
-test-app-module:Outdoor        test-app-module
-test-app-module:Rural  test-app-module
-test-app-module:Weekday        test-app-module
-test-app-module:Weekend        test-app-module
-\.
-
-COMMIT;
\ No newline at end of file
diff --git a/teiv/src/test/resources/pgsqlschema/data-deprecated.sql b/teiv/src/test/resources/pgsqlschema/data-deprecated.sql
deleted file mode 100644 (file)
index 38030bd..0000000
+++ /dev/null
@@ -1,865 +0,0 @@
---
--- ============LICENSE_START=======================================================
--- Copyright (C) 2024 Ericsson
--- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
--- ================================================================================
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
---       http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- SPDX-License-Identifier: Apache-2.0
--- ============LICENSE_END=========================================================
---
-
-COPY ties_data."ManagedElement" (id, fdn) FROM stdin;
-45EF31D8A1FD624D7276390A1215BFC3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=1
-5BF1EECFD543243BE2C1BC52C7B484A0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=2
-23616B5A7FC56C146E3799DD7CA3B0C3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=3
-09ADB418B558918F8E858ECA77CAF22B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=4
-5F404149FF9EDF096764B00CC8D052A3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=5
-E1A1CA9D697DE4371C4014D587088498       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=6
-0DC59E39BAC5E54E5B646D346039C003       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=7
-E07B72DA5F4CD284C9A9EB5A6AE0D5AC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=8
-DA1039E77700A9EEFFA280049ECE9227       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=9
-6F02817AFE4D53237DB235EBE5378613       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=10
-0181BB891A56BBD886771EBA3A69F19A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=11
-1E113BF2E3ABD819E0FBC6C6128BEFE5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=12
-27500EB447000209EE6E3CA1B31FBA92       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=13
-06222D277EE209CD8DCA1FE61CE752E6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=14
-436C59D4065E5222414DAD697C8842D2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=15
-DC86CA7724113F4C0DF42BFEAA17FD53       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=16
-1F0B4F7CEC39A09ADC16EB8D787978E6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=17
-AEAFE291F1DE32DEFFF0073D297B7693       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=18
-8D51EFC759166044DACBCA63C4EDFC51       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=19
-5BCC1BC502B66423981F90A6EA8D157E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=20
-87812D4D8A6E7AD11694CF6D4815B5C7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=21
-577CA8F71FFC2FC3C39D93D0F28E47EC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=22
-E87AF3DB09EE273C6F153AA00D4D1171       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=23
-A73755B1422176B1169546D884BD9FCC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=24
-D76CCB4E654B2CF5D248196E9B9524AD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=25
-E7CEF72CB78163D1B26B8B2A7A39757A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=26
-E57C2A20E96A8C9E7099BAD60957B59A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=27
-E64371CD4D12ED0CED200DD3A7591784       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ManagedElement=28
-\.
-
-COPY ties_data."CloudSite" (id, "geo-location", name) FROM stdin;
-82AD1C754500A0512FBB57A738F15DE9       POINT(59.4019881 17.9419888)    ORAN
-D1E0DC52CF1A6A05C0B59A61A8217005       POINT(59.4019881 17.9419888)    ORAN
-C09038081DDD8B353CB2BFF554542D6F       POINT(59.4019881 17.9419888)    ORAN
-6B24CE7976414BBF5CC71D543F8AD0DD       POINT(59.4019881 17.9419888)    ORAN
-27871D75A71FEDB483F45CBD138A1323       POINT(59.4019881 17.9419888)    ORAN
-B2ED7B123B5733E2B03742988A64FD6B       POINT(59.4019881 17.9419888)    ORAN
-B240FE61456BDA8398C49FD8B562541F       POINT(59.4019881 17.9419888)    ORAN
-86353E518688D3CA4BB314BED0324003       POINT(59.4019881 17.9419888)    ORAN
-16EE17AE89DF11B69E94B3F6827C2C0E       POINT(59.4019881 17.9419888)    ORAN
-\.
-
-COPY ties_data."NodeCluster" (id, name, "REL_NODECLUSTER_LOCATED_AT_CLOUDSITE_EIID", "REL_NODECLUSTER_LOCATED_AT_CLOUDSITE") FROM stdin;
-3BFA0DD4B1C990F9E49FA4DB5C24FECD       Example NodeCluster/1   urn:base64:Tm9kZUNsdXN0ZXI6M0JGQTBERDRCMUM5OTBGOUU0OUZBNERCNUMyNEZFQ0Q6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODJBRDFDNzU0NTAwQTA1MTJGQkI1N0E3MzhGMTVERTk= 82AD1C754500A0512FBB57A738F15DE9
-1C3FB0A56E3FFFFEAC5DE407715ADDE6       Example NodeCluster/2   urn:base64:Tm9kZUNsdXN0ZXI6MUMzRkIwQTU2RTNGRkZGRUFDNURFNDA3NzE1QURERTY6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODJBRDFDNzU0NTAwQTA1MTJGQkI1N0E3MzhGMTVERTk= 82AD1C754500A0512FBB57A738F15DE9
-7FCF92B9827D67BF58138B16DBDC8249       Example NodeCluster/3   urn:base64:Tm9kZUNsdXN0ZXI6N0ZDRjkyQjk4MjdENjdCRjU4MTM4QjE2REJEQzgyNDk6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODJBRDFDNzU0NTAwQTA1MTJGQkI1N0E3MzhGMTVERTk= 82AD1C754500A0512FBB57A738F15DE9
-F6C0D9E3B2FEA197951D542042665BFD       Example NodeCluster/4   urn:base64:Tm9kZUNsdXN0ZXI6RjZDMEQ5RTNCMkZFQTE5Nzk1MUQ1NDIwNDI2NjVCRkQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODJBRDFDNzU0NTAwQTA1MTJGQkI1N0E3MzhGMTVERTk= 82AD1C754500A0512FBB57A738F15DE9
-0CA91F4FA7764AA056EA8F2F759A3305       Example NodeCluster/5   urn:base64:Tm9kZUNsdXN0ZXI6MENBOTFGNEZBNzc2NEFBMDU2RUE4RjJGNzU5QTMzMDU6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODJBRDFDNzU0NTAwQTA1MTJGQkI1N0E3MzhGMTVERTk= 82AD1C754500A0512FBB57A738F15DE9
-B6E895E10C7F1D8EEAE6808C7FAEACF1       Example NodeCluster/6   urn:base64:Tm9kZUNsdXN0ZXI6QjZFODk1RTEwQzdGMUQ4RUVBRTY4MDhDN0ZBRUFDRjE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6RDFFMERDNTJDRjFBNkEwNUMwQjU5QTYxQTgyMTcwMDU= D1E0DC52CF1A6A05C0B59A61A8217005
-2042FF5409C9FA615811F92B1F14149D       Example NodeCluster/7   urn:base64:Tm9kZUNsdXN0ZXI6MjA0MkZGNTQwOUM5RkE2MTU4MTFGOTJCMUYxNDE0OUQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6RDFFMERDNTJDRjFBNkEwNUMwQjU5QTYxQTgyMTcwMDU= D1E0DC52CF1A6A05C0B59A61A8217005
-E962ADB61C68FD1ACE07F83EA334F78D       Example NodeCluster/8   urn:base64:Tm9kZUNsdXN0ZXI6RTk2MkFEQjYxQzY4RkQxQUNFMDdGODNFQTMzNEY3OEQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6RDFFMERDNTJDRjFBNkEwNUMwQjU5QTYxQTgyMTcwMDU= D1E0DC52CF1A6A05C0B59A61A8217005
-8A697137B4C22CC4E695328CD65EBD8E       Example NodeCluster/9   urn:base64:Tm9kZUNsdXN0ZXI6OEE2OTcxMzdCNEMyMkNDNEU2OTUzMjhDRDY1RUJEOEU6TE9DQVRFRF9BVDpDbG91ZFNpdGU6RDFFMERDNTJDRjFBNkEwNUMwQjU5QTYxQTgyMTcwMDU= D1E0DC52CF1A6A05C0B59A61A8217005
-AA0464766269B073ABA3071C11ADA3F7       Example NodeCluster/10  urn:base64:Tm9kZUNsdXN0ZXI6QUEwNDY0NzY2MjY5QjA3M0FCQTMwNzFDMTFBREEzRjc6TE9DQVRFRF9BVDpDbG91ZFNpdGU6RDFFMERDNTJDRjFBNkEwNUMwQjU5QTYxQTgyMTcwMDU= D1E0DC52CF1A6A05C0B59A61A8217005
-2C4DB604B5B43CB9DF25FC16E38C1D2E       Example NodeCluster/11  urn:base64:Tm9kZUNsdXN0ZXI6MkM0REI2MDRCNUI0M0NCOURGMjVGQzE2RTM4QzFEMkU6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QzA5MDM4MDgxREREOEIzNTNDQjJCRkY1NTQ1NDJENkY= C09038081DDD8B353CB2BFF554542D6F
-CB85F0EFBF093300F010C902394C46F8       Example NodeCluster/12  urn:base64:Tm9kZUNsdXN0ZXI6Q0I4NUYwRUZCRjA5MzMwMEYwMTBDOTAyMzk0QzQ2Rjg6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QzA5MDM4MDgxREREOEIzNTNDQjJCRkY1NTQ1NDJENkY= C09038081DDD8B353CB2BFF554542D6F
-12807C5AD5CB31F393B7C68649F0EF84       Example NodeCluster/13  urn:base64:Tm9kZUNsdXN0ZXI6MTI4MDdDNUFENUNCMzFGMzkzQjdDNjg2NDlGMEVGODQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QzA5MDM4MDgxREREOEIzNTNDQjJCRkY1NTQ1NDJENkY= C09038081DDD8B353CB2BFF554542D6F
-54EE0DE8C9D5E252D805255B0BF58E41       Example NodeCluster/14  urn:base64:Tm9kZUNsdXN0ZXI6NTRFRTBERThDOUQ1RTI1MkQ4MDUyNTVCMEJGNThFNDE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QzA5MDM4MDgxREREOEIzNTNDQjJCRkY1NTQ1NDJENkY= C09038081DDD8B353CB2BFF554542D6F
-7D2F0470FF10929C4B6D39DC6951DCB2       Example NodeCluster/15  urn:base64:Tm9kZUNsdXN0ZXI6N0QyRjA0NzBGRjEwOTI5QzRCNkQzOURDNjk1MURDQjI6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QzA5MDM4MDgxREREOEIzNTNDQjJCRkY1NTQ1NDJENkY= C09038081DDD8B353CB2BFF554542D6F
-74636E2CF21AF96670DE0DBB5E2B90F1       Example NodeCluster/16  urn:base64:Tm9kZUNsdXN0ZXI6NzQ2MzZFMkNGMjFBRjk2NjcwREUwREJCNUUyQjkwRjE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6NkIyNENFNzk3NjQxNEJCRjVDQzcxRDU0M0Y4QUQwREQ= 6B24CE7976414BBF5CC71D543F8AD0DD
-8B12422C6BB2F246C612BE17E0058736       Example NodeCluster/17  urn:base64:Tm9kZUNsdXN0ZXI6OEIxMjQyMkM2QkIyRjI0NkM2MTJCRTE3RTAwNTg3MzY6TE9DQVRFRF9BVDpDbG91ZFNpdGU6NkIyNENFNzk3NjQxNEJCRjVDQzcxRDU0M0Y4QUQwREQ= 6B24CE7976414BBF5CC71D543F8AD0DD
-991F7BF0D7D8DF69688B7350F7D9F2E1       Example NodeCluster/18  urn:base64:Tm9kZUNsdXN0ZXI6OTkxRjdCRjBEN0Q4REY2OTY4OEI3MzUwRjdEOUYyRTE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6NkIyNENFNzk3NjQxNEJCRjVDQzcxRDU0M0Y4QUQwREQ= 6B24CE7976414BBF5CC71D543F8AD0DD
-6573EA8ED582F620FAD70B281DC47478       Example NodeCluster/19  urn:base64:Tm9kZUNsdXN0ZXI6NjU3M0VBOEVENTgyRjYyMEZBRDcwQjI4MURDNDc0Nzg6TE9DQVRFRF9BVDpDbG91ZFNpdGU6NkIyNENFNzk3NjQxNEJCRjVDQzcxRDU0M0Y4QUQwREQ= 6B24CE7976414BBF5CC71D543F8AD0DD
-552617FC00CF6ECA407ECCC723D3B243       Example NodeCluster/20  urn:base64:Tm9kZUNsdXN0ZXI6NTUyNjE3RkMwMENGNkVDQTQwN0VDQ0M3MjNEM0IyNDM6TE9DQVRFRF9BVDpDbG91ZFNpdGU6NkIyNENFNzk3NjQxNEJCRjVDQzcxRDU0M0Y4QUQwREQ= 6B24CE7976414BBF5CC71D543F8AD0DD
-61DAD3343C482495F9CBF9A1EF2020EA       Example NodeCluster/21  urn:base64:Tm9kZUNsdXN0ZXI6NjFEQUQzMzQzQzQ4MjQ5NUY5Q0JGOUExRUYyMDIwRUE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6Mjc4NzFENzVBNzFGRURCNDgzRjQ1Q0JEMTM4QTEzMjM= 27871D75A71FEDB483F45CBD138A1323
-207070CCC4BA41259CB15A6B0BB6F4F4       Example NodeCluster/22  urn:base64:Tm9kZUNsdXN0ZXI6MjA3MDcwQ0NDNEJBNDEyNTlDQjE1QTZCMEJCNkY0RjQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6Mjc4NzFENzVBNzFGRURCNDgzRjQ1Q0JEMTM4QTEzMjM= 27871D75A71FEDB483F45CBD138A1323
-5395111326D89044A150717321939D41       Example NodeCluster/23  urn:base64:Tm9kZUNsdXN0ZXI6NTM5NTExMTMyNkQ4OTA0NEExNTA3MTczMjE5MzlENDE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6Mjc4NzFENzVBNzFGRURCNDgzRjQ1Q0JEMTM4QTEzMjM= 27871D75A71FEDB483F45CBD138A1323
-084678E3BB0D6240078965404C74B6FF       Example NodeCluster/24  urn:base64:Tm9kZUNsdXN0ZXI6MDg0Njc4RTNCQjBENjI0MDA3ODk2NTQwNEM3NEI2RkY6TE9DQVRFRF9BVDpDbG91ZFNpdGU6Mjc4NzFENzVBNzFGRURCNDgzRjQ1Q0JEMTM4QTEzMjM= 27871D75A71FEDB483F45CBD138A1323
-7244579FE2C5F8DDD4525AA6839917EA       Example NodeCluster/25  urn:base64:Tm9kZUNsdXN0ZXI6NzI0NDU3OUZFMkM1RjhEREQ0NTI1QUE2ODM5OTE3RUE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6Mjc4NzFENzVBNzFGRURCNDgzRjQ1Q0JEMTM4QTEzMjM= 27871D75A71FEDB483F45CBD138A1323
-CD5E53D1750F210853FA38EE343B434C       Example NodeCluster/26  urn:base64:Tm9kZUNsdXN0ZXI6Q0Q1RTUzRDE3NTBGMjEwODUzRkEzOEVFMzQzQjQzNEM6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjJFRDdCMTIzQjU3MzNFMkIwMzc0Mjk4OEE2NEZENkI= B2ED7B123B5733E2B03742988A64FD6B
-BB008AB249D485F90D558BEDFA7A6A29       Example NodeCluster/27  urn:base64:Tm9kZUNsdXN0ZXI6QkIwMDhBQjI0OUQ0ODVGOTBENTU4QkVERkE3QTZBMjk6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjJFRDdCMTIzQjU3MzNFMkIwMzc0Mjk4OEE2NEZENkI= B2ED7B123B5733E2B03742988A64FD6B
-9C83FE039C3D4B947150A8C7E50846E2       Example NodeCluster/28  urn:base64:Tm9kZUNsdXN0ZXI6OUM4M0ZFMDM5QzNENEI5NDcxNTBBOEM3RTUwODQ2RTI6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjJFRDdCMTIzQjU3MzNFMkIwMzc0Mjk4OEE2NEZENkI= B2ED7B123B5733E2B03742988A64FD6B
-180299E1533E0CB3B042512A96794E08       Example NodeCluster/29  urn:base64:Tm9kZUNsdXN0ZXI6MTgwMjk5RTE1MzNFMENCM0IwNDI1MTJBOTY3OTRFMDg6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjJFRDdCMTIzQjU3MzNFMkIwMzc0Mjk4OEE2NEZENkI= B2ED7B123B5733E2B03742988A64FD6B
-A69CE50897277B7DA8EF138A7F9D5FC9       Example NodeCluster/30  urn:base64:Tm9kZUNsdXN0ZXI6QTY5Q0U1MDg5NzI3N0I3REE4RUYxMzhBN0Y5RDVGQzk6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjJFRDdCMTIzQjU3MzNFMkIwMzc0Mjk4OEE2NEZENkI= B2ED7B123B5733E2B03742988A64FD6B
-38CE1C3DC2803C49DFDE0538CD645034       Example NodeCluster/31  urn:base64:Tm9kZUNsdXN0ZXI6MzhDRTFDM0RDMjgwM0M0OURGREUwNTM4Q0Q2NDUwMzQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjI0MEZFNjE0NTZCREE4Mzk4QzQ5RkQ4QjU2MjU0MUY= B240FE61456BDA8398C49FD8B562541F
-1AF73F476CA8B4E7AC219D8109121290       Example NodeCluster/32  urn:base64:Tm9kZUNsdXN0ZXI6MUFGNzNGNDc2Q0E4QjRFN0FDMjE5RDgxMDkxMjEyOTA6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjI0MEZFNjE0NTZCREE4Mzk4QzQ5RkQ4QjU2MjU0MUY= B240FE61456BDA8398C49FD8B562541F
-8D6BCDE855B4C31B5918FA7DFE26B34B       Example NodeCluster/33  urn:base64:Tm9kZUNsdXN0ZXI6OEQ2QkNERTg1NUI0QzMxQjU5MThGQTdERkUyNkIzNEI6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjI0MEZFNjE0NTZCREE4Mzk4QzQ5RkQ4QjU2MjU0MUY= B240FE61456BDA8398C49FD8B562541F
-78E1E5E47D1B07B9E4DC0FB6A73BC572       Example NodeCluster/34  urn:base64:Tm9kZUNsdXN0ZXI6NzhFMUU1RTQ3RDFCMDdCOUU0REMwRkI2QTczQkM1NzI6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjI0MEZFNjE0NTZCREE4Mzk4QzQ5RkQ4QjU2MjU0MUY= B240FE61456BDA8398C49FD8B562541F
-8C4711B835D99C1E3AA64259E4AA06A9       Example NodeCluster/35  urn:base64:Tm9kZUNsdXN0ZXI6OEM0NzExQjgzNUQ5OUMxRTNBQTY0MjU5RTRBQTA2QTk6TE9DQVRFRF9BVDpDbG91ZFNpdGU6QjI0MEZFNjE0NTZCREE4Mzk4QzQ5RkQ4QjU2MjU0MUY= B240FE61456BDA8398C49FD8B562541F
-6EA78A3CAC43487D90F36348CD9C2178       Example NodeCluster/36  urn:base64:Tm9kZUNsdXN0ZXI6NkVBNzhBM0NBQzQzNDg3RDkwRjM2MzQ4Q0Q5QzIxNzg6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODYzNTNFNTE4Njg4RDNDQTRCQjMxNEJFRDAzMjQwMDM= 86353E518688D3CA4BB314BED0324003
-1EA071C4D492F58C098420D5B5893503       Example NodeCluster/37  urn:base64:Tm9kZUNsdXN0ZXI6MUVBMDcxQzRENDkyRjU4QzA5ODQyMEQ1QjU4OTM1MDM6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODYzNTNFNTE4Njg4RDNDQTRCQjMxNEJFRDAzMjQwMDM= 86353E518688D3CA4BB314BED0324003
-A72AFCF80A62839E814834BEB2DF3340       Example NodeCluster/38  urn:base64:Tm9kZUNsdXN0ZXI6QTcyQUZDRjgwQTYyODM5RTgxNDgzNEJFQjJERjMzNDA6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODYzNTNFNTE4Njg4RDNDQTRCQjMxNEJFRDAzMjQwMDM= 86353E518688D3CA4BB314BED0324003
-0E8B476E1A6445D91FC5C4BAB3A1B1AD       Example NodeCluster/39  urn:base64:Tm9kZUNsdXN0ZXI6MEU4QjQ3NkUxQTY0NDVEOTFGQzVDNEJBQjNBMUIxQUQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODYzNTNFNTE4Njg4RDNDQTRCQjMxNEJFRDAzMjQwMDM= 86353E518688D3CA4BB314BED0324003
-41ED2035E0528C57D1BD4EA14B8E967A       Example NodeCluster/40  urn:base64:Tm9kZUNsdXN0ZXI6NDFFRDIwMzVFMDUyOEM1N0QxQkQ0RUExNEI4RTk2N0E6TE9DQVRFRF9BVDpDbG91ZFNpdGU6ODYzNTNFNTE4Njg4RDNDQTRCQjMxNEJFRDAzMjQwMDM= 86353E518688D3CA4BB314BED0324003
-E5B6851160FD2CD82AC2192D4A52A19B       Example NodeCluster/41  urn:base64:Tm9kZUNsdXN0ZXI6RTVCNjg1MTE2MEZEMkNEODJBQzIxOTJENEE1MkExOUI6TE9DQVRFRF9BVDpDbG91ZFNpdGU6MTZFRTE3QUU4OURGMTFCNjlFOTRCM0Y2ODI3QzJDMEU= 16EE17AE89DF11B69E94B3F6827C2C0E
-DB12707FF0A63962F755848557C4596B       Example NodeCluster/42  urn:base64:Tm9kZUNsdXN0ZXI6REIxMjcwN0ZGMEE2Mzk2MkY3NTU4NDg1NTdDNDU5NkI6TE9DQVRFRF9BVDpDbG91ZFNpdGU6MTZFRTE3QUU4OURGMTFCNjlFOTRCM0Y2ODI3QzJDMEU= 16EE17AE89DF11B69E94B3F6827C2C0E
-5E2A9B569BE24D557067D21AE0849711       Example NodeCluster/43  urn:base64:Tm9kZUNsdXN0ZXI6NUUyQTlCNTY5QkUyNEQ1NTcwNjdEMjFBRTA4NDk3MTE6TE9DQVRFRF9BVDpDbG91ZFNpdGU6MTZFRTE3QUU4OURGMTFCNjlFOTRCM0Y2ODI3QzJDMEU= 16EE17AE89DF11B69E94B3F6827C2C0E
-E6CA370A107FF270A70C74FCEE6684B4       Example NodeCluster/44  urn:base64:Tm9kZUNsdXN0ZXI6RTZDQTM3MEExMDdGRjI3MEE3MEM3NEZDRUU2Njg0QjQ6TE9DQVRFRF9BVDpDbG91ZFNpdGU6MTZFRTE3QUU4OURGMTFCNjlFOTRCM0Y2ODI3QzJDMEU= 16EE17AE89DF11B69E94B3F6827C2C0E
-015C2DDBD7AC722B34ED6A20EDEEB9C3       Example NodeCluster/45  urn:base64:Tm9kZUNsdXN0ZXI6MDE1QzJEREJEN0FDNzIyQjM0RUQ2QTIwRURFRUI5QzM6TE9DQVRFRF9BVDpDbG91ZFNpdGU6MTZFRTE3QUU4OURGMTFCNjlFOTRCM0Y2ODI3QzJDMEU= 16EE17AE89DF11B69E94B3F6827C2C0E
-\.
-
-COPY ties_data."Namespace" (id, name, "REL_NAMESPACE_DEPLOYED_ON_NODECLUSTER_EIID", "REL_NAMESPACE_DEPLOYED_ON_NODECLUSTER") FROM stdin;
-1C02E96B2AAE036C7AE404BC38C308E0       Example Namespace/1     urn:base64:TmFtZXNwYWNlOjFDMDJFOTZCMkFBRTAzNkM3QUU0MDRCQzM4QzMwOEUwOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjNCRkEwREQ0QjFDOTkwRjlFNDlGQTREQjVDMjRGRUNE 3BFA0DD4B1C990F9E49FA4DB5C24FECD
-D6793A463BCA7441E9B10877E4C128C4       Example Namespace/2     urn:base64:TmFtZXNwYWNlOkQ2NzkzQTQ2M0JDQTc0NDFFOUIxMDg3N0U0QzEyOEM0OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjFDM0ZCMEE1NkUzRkZGRkVBQzVERTQwNzcxNUFEREU2 1C3FB0A56E3FFFFEAC5DE407715ADDE6
-7B123B5DBDD7765C3CA7538D1560E719       Example Namespace/3     urn:base64:TmFtZXNwYWNlOjdCMTIzQjVEQkRENzc2NUMzQ0E3NTM4RDE1NjBFNzE5OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjdGQ0Y5MkI5ODI3RDY3QkY1ODEzOEIxNkRCREM4MjQ5 7FCF92B9827D67BF58138B16DBDC8249
-C54B31AF0763C1B0EFB566092E8AAF87       Example Namespace/4     urn:base64:TmFtZXNwYWNlOkM1NEIzMUFGMDc2M0MxQjBFRkI1NjYwOTJFOEFBRjg3OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkY2QzBEOUUzQjJGRUExOTc5NTFENTQyMDQyNjY1QkZE F6C0D9E3B2FEA197951D542042665BFD
-E7F976985B600C2D3FDC03B081722302       Example Namespace/5     urn:base64:TmFtZXNwYWNlOkU3Rjk3Njk4NUI2MDBDMkQzRkRDMDNCMDgxNzIyMzAyOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjBDQTkxRjRGQTc3NjRBQTA1NkVBOEYyRjc1OUEzMzA1 0CA91F4FA7764AA056EA8F2F759A3305
-C301DBCF5A62CB67E0F62A2FB72344A2       Example Namespace/6     urn:base64:TmFtZXNwYWNlOkMzMDFEQkNGNUE2MkNCNjdFMEY2MkEyRkI3MjM0NEEyOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkI2RTg5NUUxMEM3RjFEOEVFQUU2ODA4QzdGQUVBQ0Yx B6E895E10C7F1D8EEAE6808C7FAEACF1
-6FDE215C3AB39D58BB5A537A04AC2797       Example Namespace/7     urn:base64:TmFtZXNwYWNlOjZGREUyMTVDM0FCMzlENThCQjVBNTM3QTA0QUMyNzk3OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjIwNDJGRjU0MDlDOUZBNjE1ODExRjkyQjFGMTQxNDlE 2042FF5409C9FA615811F92B1F14149D
-A825CC3BC40369FDBA3EA0F5B80841FF       Example Namespace/8     urn:base64:TmFtZXNwYWNlOkE4MjVDQzNCQzQwMzY5RkRCQTNFQTBGNUI4MDg0MUZGOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkU5NjJBREI2MUM2OEZEMUFDRTA3RjgzRUEzMzRGNzhE E962ADB61C68FD1ACE07F83EA334F78D
-BF54B16C14A151E2A5E1445BFD892314       Example Namespace/9     urn:base64:TmFtZXNwYWNlOkJGNTRCMTZDMTRBMTUxRTJBNUUxNDQ1QkZEODkyMzE0OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjhBNjk3MTM3QjRDMjJDQzRFNjk1MzI4Q0Q2NUVCRDhF 8A697137B4C22CC4E695328CD65EBD8E
-9496E75F7F81F8C530FEC4D26480EAE8       Example Namespace/10    urn:base64:TmFtZXNwYWNlOjk0OTZFNzVGN0Y4MUY4QzUzMEZFQzREMjY0ODBFQUU4OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkFBMDQ2NDc2NjI2OUIwNzNBQkEzMDcxQzExQURBM0Y3 AA0464766269B073ABA3071C11ADA3F7
-7356625DD5EA8B67E356404E47DBF16C       Example Namespace/11    urn:base64:TmFtZXNwYWNlOjczNTY2MjVERDVFQThCNjdFMzU2NDA0RTQ3REJGMTZDOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjJDNERCNjA0QjVCNDNDQjlERjI1RkMxNkUzOEMxRDJF 2C4DB604B5B43CB9DF25FC16E38C1D2E
-93EDFACF7A68994F570D179531475632       Example Namespace/12    urn:base64:TmFtZXNwYWNlOjkzRURGQUNGN0E2ODk5NEY1NzBEMTc5NTMxNDc1NjMyOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkNCODVGMEVGQkYwOTMzMDBGMDEwQzkwMjM5NEM0NkY4 CB85F0EFBF093300F010C902394C46F8
-D209029D9DE5877417CE68865DAEAD10       Example Namespace/13    urn:base64:TmFtZXNwYWNlOkQyMDkwMjlEOURFNTg3NzQxN0NFNjg4NjVEQUVBRDEwOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjEyODA3QzVBRDVDQjMxRjM5M0I3QzY4NjQ5RjBFRjg0 12807C5AD5CB31F393B7C68649F0EF84
-A2F83B34AC21F25ED7C36C791242DBAC       Example Namespace/14    urn:base64:TmFtZXNwYWNlOkEyRjgzQjM0QUMyMUYyNUVEN0MzNkM3OTEyNDJEQkFDOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjU0RUUwREU4QzlENUUyNTJEODA1MjU1QjBCRjU4RTQx 54EE0DE8C9D5E252D805255B0BF58E41
-BD45F5227967629FACAF93AEB32B7AAA       Example Namespace/15    urn:base64:TmFtZXNwYWNlOkJENDVGNTIyNzk2NzYyOUZBQ0FGOTNBRUIzMkI3QUFBOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjdEMkYwNDcwRkYxMDkyOUM0QjZEMzlEQzY5NTFEQ0Iy 7D2F0470FF10929C4B6D39DC6951DCB2
-77B84B77570AD583F3CF82DE06110D43       Example Namespace/16    urn:base64:TmFtZXNwYWNlOjc3Qjg0Qjc3NTcwQUQ1ODNGM0NGODJERTA2MTEwRDQzOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjc0NjM2RTJDRjIxQUY5NjY3MERFMERCQjVFMkI5MEYx 74636E2CF21AF96670DE0DBB5E2B90F1
-6CB8279BB6185B07910D3DCF733F835C       Example Namespace/17    urn:base64:TmFtZXNwYWNlOjZDQjgyNzlCQjYxODVCMDc5MTBEM0RDRjczM0Y4MzVDOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjhCMTI0MjJDNkJCMkYyNDZDNjEyQkUxN0UwMDU4NzM2 8B12422C6BB2F246C612BE17E0058736
-99FF8A4C85B4D5BE0C655823110E2E62       Example Namespace/18    urn:base64:TmFtZXNwYWNlOjk5RkY4QTRDODVCNEQ1QkUwQzY1NTgyMzExMEUyRTYyOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjk5MUY3QkYwRDdEOERGNjk2ODhCNzM1MEY3RDlGMkUx 991F7BF0D7D8DF69688B7350F7D9F2E1
-B6C983B1A9FF9182F5C5127CF54E439A       Example Namespace/19    urn:base64:TmFtZXNwYWNlOkI2Qzk4M0IxQTlGRjkxODJGNUM1MTI3Q0Y1NEU0MzlBOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjY1NzNFQThFRDU4MkY2MjBGQUQ3MEIyODFEQzQ3NDc4 6573EA8ED582F620FAD70B281DC47478
-68B28BB43280552647D1E5D6AA24F311       Example Namespace/20    urn:base64:TmFtZXNwYWNlOjY4QjI4QkI0MzI4MDU1MjY0N0QxRTVENkFBMjRGMzExOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjU1MjYxN0ZDMDBDRjZFQ0E0MDdFQ0NDNzIzRDNCMjQz 552617FC00CF6ECA407ECCC723D3B243
-237CF729D2AB78689BE74C573AB2B5B8       Example Namespace/21    urn:base64:TmFtZXNwYWNlOjIzN0NGNzI5RDJBQjc4Njg5QkU3NEM1NzNBQjJCNUI4OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjYxREFEMzM0M0M0ODI0OTVGOUNCRjlBMUVGMjAyMEVB 61DAD3343C482495F9CBF9A1EF2020EA
-3CEDADD22281B7EDA5409BE8480BFAF8       Example Namespace/22    urn:base64:TmFtZXNwYWNlOjNDRURBREQyMjI4MUI3RURBNTQwOUJFODQ4MEJGQUY4OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjIwNzA3MENDQzRCQTQxMjU5Q0IxNUE2QjBCQjZGNEY0 207070CCC4BA41259CB15A6B0BB6F4F4
-10EE338B3F5FB2BC8F6F0DCD36EA3636       Example Namespace/23    urn:base64:TmFtZXNwYWNlOjEwRUUzMzhCM0Y1RkIyQkM4RjZGMERDRDM2RUEzNjM2OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjUzOTUxMTEzMjZEODkwNDRBMTUwNzE3MzIxOTM5RDQx 5395111326D89044A150717321939D41
-3AF02CA25A9ABB1D9069CD55609D70CD       Example Namespace/24    urn:base64:TmFtZXNwYWNlOjNBRjAyQ0EyNUE5QUJCMUQ5MDY5Q0Q1NTYwOUQ3MENEOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjA4NDY3OEUzQkIwRDYyNDAwNzg5NjU0MDRDNzRCNkZG 084678E3BB0D6240078965404C74B6FF
-463096647F96E6715E66B77C861E7228       Example Namespace/25    urn:base64:TmFtZXNwYWNlOjQ2MzA5NjY0N0Y5NkU2NzE1RTY2Qjc3Qzg2MUU3MjI4OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjcyNDQ1NzlGRTJDNUY4RERENDUyNUFBNjgzOTkxN0VB 7244579FE2C5F8DDD4525AA6839917EA
-89B40DF9B82BA836BB124B3031A0DEE7       Example Namespace/26    urn:base64:TmFtZXNwYWNlOjg5QjQwREY5QjgyQkE4MzZCQjEyNEIzMDMxQTBERUU3OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkNENUU1M0QxNzUwRjIxMDg1M0ZBMzhFRTM0M0I0MzRD CD5E53D1750F210853FA38EE343B434C
-B9DB1B8A51399D227D92CCF8D25D9ED8       Example Namespace/27    urn:base64:TmFtZXNwYWNlOkI5REIxQjhBNTEzOTlEMjI3RDkyQ0NGOEQyNUQ5RUQ4OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkJCMDA4QUIyNDlENDg1RjkwRDU1OEJFREZBN0E2QTI5 BB008AB249D485F90D558BEDFA7A6A29
-ABDE267D2832D00BD5B6F809A3F9AAD1       Example Namespace/28    urn:base64:TmFtZXNwYWNlOkFCREUyNjdEMjgzMkQwMEJENUI2RjgwOUEzRjlBQUQxOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjlDODNGRTAzOUMzRDRCOTQ3MTUwQThDN0U1MDg0NkUy 9C83FE039C3D4B947150A8C7E50846E2
-C0EA0E88845F50E0E10E321C5AE00F0D       Example Namespace/29    urn:base64:TmFtZXNwYWNlOkMwRUEwRTg4ODQ1RjUwRTBFMTBFMzIxQzVBRTAwRjBEOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjE4MDI5OUUxNTMzRTBDQjNCMDQyNTEyQTk2Nzk0RTA4 180299E1533E0CB3B042512A96794E08
-E6B77CA230DEBFCB876A03109D1819A5       Example Namespace/30    urn:base64:TmFtZXNwYWNlOkU2Qjc3Q0EyMzBERUJGQ0I4NzZBMDMxMDlEMTgxOUE1OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkE2OUNFNTA4OTcyNzdCN0RBOEVGMTM4QTdGOUQ1RkM5 A69CE50897277B7DA8EF138A7F9D5FC9
-67FCEBFEB15DA38E662EA79B31BC2CD5       Example Namespace/31    urn:base64:TmFtZXNwYWNlOjY3RkNFQkZFQjE1REEzOEU2NjJFQTc5QjMxQkMyQ0Q1OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjM4Q0UxQzNEQzI4MDNDNDlERkRFMDUzOENENjQ1MDM0 38CE1C3DC2803C49DFDE0538CD645034
-0984650B561EF9BE8FEE1B33EDB7189E       Example Namespace/32    urn:base64:TmFtZXNwYWNlOjA5ODQ2NTBCNTYxRUY5QkU4RkVFMUIzM0VEQjcxODlFOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjFBRjczRjQ3NkNBOEI0RTdBQzIxOUQ4MTA5MTIxMjkw 1AF73F476CA8B4E7AC219D8109121290
-E359C47090CB00D507049AD6BB3FDE97       Example Namespace/33    urn:base64:TmFtZXNwYWNlOkUzNTlDNDcwOTBDQjAwRDUwNzA0OUFENkJCM0ZERTk3OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjhENkJDREU4NTVCNEMzMUI1OTE4RkE3REZFMjZCMzRC 8D6BCDE855B4C31B5918FA7DFE26B34B
-24940564BAA7F334DB11E6E3DAAD755F       Example Namespace/34    urn:base64:TmFtZXNwYWNlOjI0OTQwNTY0QkFBN0YzMzREQjExRTZFM0RBQUQ3NTVGOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjc4RTFFNUU0N0QxQjA3QjlFNERDMEZCNkE3M0JDNTcy 78E1E5E47D1B07B9E4DC0FB6A73BC572
-DD195B66C11B125675CD5EA66322C7CF       Example Namespace/35    urn:base64:TmFtZXNwYWNlOkREMTk1QjY2QzExQjEyNTY3NUNENUVBNjYzMjJDN0NGOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjhDNDcxMUI4MzVEOTlDMUUzQUE2NDI1OUU0QUEwNkE5 8C4711B835D99C1E3AA64259E4AA06A9
-2EE8638B774A12E7916E5093ABCB6CCB       Example Namespace/36    urn:base64:TmFtZXNwYWNlOjJFRTg2MzhCNzc0QTEyRTc5MTZFNTA5M0FCQ0I2Q0NCOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjZFQTc4QTNDQUM0MzQ4N0Q5MEYzNjM0OENEOUMyMTc4 6EA78A3CAC43487D90F36348CD9C2178
-09987E806682D5962E54216F9E34639A       Example Namespace/37    urn:base64:TmFtZXNwYWNlOjA5OTg3RTgwNjY4MkQ1OTYyRTU0MjE2RjlFMzQ2MzlBOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjFFQTA3MUM0RDQ5MkY1OEMwOTg0MjBENUI1ODkzNTAz 1EA071C4D492F58C098420D5B5893503
-5144ADDAA56F7167E163213D4DF3AFB7       Example Namespace/38    urn:base64:TmFtZXNwYWNlOjUxNDRBRERBQTU2RjcxNjdFMTYzMjEzRDRERjNBRkI3OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkE3MkFGQ0Y4MEE2MjgzOUU4MTQ4MzRCRUIyREYzMzQw A72AFCF80A62839E814834BEB2DF3340
-EA83F8E7D1A61B9532686F560FD8052B       Example Namespace/39    urn:base64:TmFtZXNwYWNlOkVBODNGOEU3RDFBNjFCOTUzMjY4NkY1NjBGRDgwNTJCOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjBFOEI0NzZFMUE2NDQ1RDkxRkM1QzRCQUIzQTFCMUFE 0E8B476E1A6445D91FC5C4BAB3A1B1AD
-970E5C8E5AED1F50439AA40CBD2929BA       Example Namespace/40    urn:base64:TmFtZXNwYWNlOjk3MEU1QzhFNUFFRDFGNTA0MzlBQTQwQ0JEMjkyOUJBOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjQxRUQyMDM1RTA1MjhDNTdEMUJENEVBMTRCOEU5NjdB 41ED2035E0528C57D1BD4EA14B8E967A
-18A8EE78E6D774FE7A1D7E86A35436D4       Example Namespace/41    urn:base64:TmFtZXNwYWNlOjE4QThFRTc4RTZENzc0RkU3QTFEN0U4NkEzNTQzNkQ0OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkU1QjY4NTExNjBGRDJDRDgyQUMyMTkyRDRBNTJBMTlC E5B6851160FD2CD82AC2192D4A52A19B
-316C81D156DE5326C6C56B4399328391       Example Namespace/42    urn:base64:TmFtZXNwYWNlOjMxNkM4MUQxNTZERTUzMjZDNkM1NkI0Mzk5MzI4MzkxOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkRCMTI3MDdGRjBBNjM5NjJGNzU1ODQ4NTU3QzQ1OTZC DB12707FF0A63962F755848557C4596B
-9A74548A7CA0BA0973B994DBE28D5A17       Example Namespace/43    urn:base64:TmFtZXNwYWNlOjlBNzQ1NDhBN0NBMEJBMDk3M0I5OTREQkUyOEQ1QTE3OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjVFMkE5QjU2OUJFMjRENTU3MDY3RDIxQUUwODQ5NzEx 5E2A9B569BE24D557067D21AE0849711
-60AAC83B3405AED74F6451CC769293DF       Example Namespace/44    urn:base64:TmFtZXNwYWNlOjYwQUFDODNCMzQwNUFFRDc0RjY0NTFDQzc2OTI5M0RGOkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOkU2Q0EzNzBBMTA3RkYyNzBBNzBDNzRGQ0VFNjY4NEI0 E6CA370A107FF270A70C74FCEE6684B4
-63E484676DB1A4FFA9E3386F3B7D95B6       Example Namespace/45    urn:base64:TmFtZXNwYWNlOjYzRTQ4NDY3NkRCMUE0RkZBOUUzMzg2RjNCN0Q5NUI2OkRFUExPWUVEX09OOk5vZGVDbHVzdGVyOjAxNUMyRERCRDdBQzcyMkIzNEVENkEyMEVERUVCOUMz 015C2DDBD7AC722B34ED6A20EDEEB9C3
-\.
-
-COPY ties_data."CloudNativeSystem" (id, name, "REL_MANAGEDELEMENT_DEPLOYED_AS_CLOUDNATIVESYSTEM", "REL_MANAGEDELEMENT_DEPLOYED_AS_CLOUDNATIVESYSTEM_EIID") FROM stdin;
-C4E311A55666726FD9FE25CA572AFAF9       Example Cloud Native System/1   45EF31D8A1FD624D7276390A1215BFC3        urn:base64:TWFuYWdlZEVsZW1lbnQ6NDVFRjMxRDhBMUZENjI0RDcyNzYzOTBBMTIxNUJGQzM6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06QzRFMzExQTU1NjY2NzI2RkQ5RkUyNUNBNTcyQUZBRjk=
-C79051FEBCA3BDB0B8D121931E443BD4       Example Cloud Native System/2   5BF1EECFD543243BE2C1BC52C7B484A0        urn:base64:TWFuYWdlZEVsZW1lbnQ6NUJGMUVFQ0ZENTQzMjQzQkUyQzFCQzUyQzdCNDg0QTA6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06Qzc5MDUxRkVCQ0EzQkRCMEI4RDEyMTkzMUU0NDNCRDQ=
-35FB71EBDD4D242270CC8C6A806BE701       Example Cloud Native System/3   23616B5A7FC56C146E3799DD7CA3B0C3        urn:base64:TWFuYWdlZEVsZW1lbnQ6MjM2MTZCNUE3RkM1NkMxNDZFMzc5OUREN0NBM0IwQzM6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06MzVGQjcxRUJERDREMjQyMjcwQ0M4QzZBODA2QkU3MDE=
-F5CE6D5CE4918294F900930501ED5390       Example Cloud Native System/4   09ADB418B558918F8E858ECA77CAF22B        urn:base64:TWFuYWdlZEVsZW1lbnQ6MDlBREI0MThCNTU4OTE4RjhFODU4RUNBNzdDQUYyMkI6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06RjVDRTZENUNFNDkxODI5NEY5MDA5MzA1MDFFRDUzOTA=
-97DCC126365008869DFEB7EE6E0F5C1B       Example Cloud Native System/5   5F404149FF9EDF096764B00CC8D052A3        urn:base64:TWFuYWdlZEVsZW1lbnQ6NUY0MDQxNDlGRjlFREYwOTY3NjRCMDBDQzhEMDUyQTM6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06OTdEQ0MxMjYzNjUwMDg4NjlERkVCN0VFNkUwRjVDMUI=
-201071BD2CED5D5E37E5C8AD9BDCC211       Example Cloud Native System/6   E1A1CA9D697DE4371C4014D587088498        urn:base64:TWFuYWdlZEVsZW1lbnQ6RTFBMUNBOUQ2OTdERTQzNzFDNDAxNEQ1ODcwODg0OTg6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06MjAxMDcxQkQyQ0VENUQ1RTM3RTVDOEFEOUJEQ0MyMTE=
-9B3DF0A93139581F46AD73129E4AA545       Example Cloud Native System/7   0DC59E39BAC5E54E5B646D346039C003        urn:base64:TWFuYWdlZEVsZW1lbnQ6MERDNTlFMzlCQUM1RTU0RTVCNjQ2RDM0NjAzOUMwMDM6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06OUIzREYwQTkzMTM5NTgxRjQ2QUQ3MzEyOUU0QUE1NDU=
-372D4EF30659770D7600CF5E37A26320       Example Cloud Native System/8   E07B72DA5F4CD284C9A9EB5A6AE0D5AC        urn:base64:TWFuYWdlZEVsZW1lbnQ6RTA3QjcyREE1RjRDRDI4NEM5QTlFQjVBNkFFMEQ1QUM6REVQTE9ZRURfQVM6Q2xvdWROYXRpdmVTeXN0ZW06MzcyRDRFRjMwNjU5NzcwRDc2MDBDRjVFMzdBMjYzMjA=
-\.
-
-COPY ties_data."CloudNativeApplication" (id, name, "REL_CLOUDNATIVESYSTEM_COMPRISES_CLOUDNATIVEAPPLICATION_EIID", "REL_CLOUDNATIVEAPPLICATION_DEPLOYED_ON_NAMESPACE_EIID", "REL_MANAGEDELEMENT_REALISED_BY_CLOUDNATIVEAPPLICATION", "REL_MANAGEDELEMENT_REALISED_BY_CLOUDNATIVEAPPLICATION_EIID", "REL_CLOUDNATIVESYSTEM_COMPRISES_CLOUDNATIVEAPPLICATION", "REL_CLOUDNATIVEAPPLICATION_DEPLOYED_ON_NAMESPACE") FROM stdin;
-3256120E73ADD4026A43A971DCE5C151       Cloud Native CUCPApp/1  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06QzRFMzExQTU1NjY2NzI2RkQ5RkUyNUNBNTcyQUZBRjk6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246MzI1NjEyMEU3M0FERDQwMjZBNDNBOTcxRENFNUMxNTE= \N      \N      \N      C4E311A55666726FD9FE25CA572AFAF9        \N
-EE2D4ADA10FF687FF6A865CC9E56A436       Cloud Native CUUPApp/2  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06Qzc5MDUxRkVCQ0EzQkRCMEI4RDEyMTkzMUU0NDNCRDQ6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246RUUyRDRBREExMEZGNjg3RkY2QTg2NUNDOUU1NkE0MzY= \N      \N      \N      C79051FEBCA3BDB0B8D121931E443BD4        \N
-C4E28932357FA0076CA96CF7FF2C51BD       Cloud Native CUUPApp/3  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06MzVGQjcxRUJERDREMjQyMjcwQ0M4QzZBODA2QkU3MDE6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246QzRFMjg5MzIzNTdGQTAwNzZDQTk2Q0Y3RkYyQzUxQkQ= \N      \N      \N      35FB71EBDD4D242270CC8C6A806BE701        \N
-41234DBD3CCEC010E2E9258527229950       Cloud Native CUUPApp/4  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06RjVDRTZENUNFNDkxODI5NEY5MDA5MzA1MDFFRDUzOTA6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246NDEyMzREQkQzQ0NFQzAxMEUyRTkyNTg1MjcyMjk5NTA= \N      \N      \N      F5CE6D5CE4918294F900930501ED5390        \N
-E5E8A11419E09966604C14FDE5E09DF5       Cloud Native CUUPApp/5  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06OTdEQ0MxMjYzNjUwMDg4NjlERkVCN0VFNkUwRjVDMUI6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246RTVFOEExMTQxOUUwOTk2NjYwNEMxNEZERTVFMDlERjU= \N      \N      \N      97DCC126365008869DFEB7EE6E0F5C1B        \N
-398DD19A5FD902C981E4D59F44E27F07       Cloud Native CUUPApp/6  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06MjAxMDcxQkQyQ0VENUQ1RTM3RTVDOEFEOUJEQ0MyMTE6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246Mzk4REQxOUE1RkQ5MDJDOTgxRTRENTlGNDRFMjdGMDc= \N      \N      \N      201071BD2CED5D5E37E5C8AD9BDCC211        \N
-9800D81C743BF4246FEB95063D6B0F6B       Cloud Native CUUPApp/7  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06OUIzREYwQTkzMTM5NTgxRjQ2QUQ3MzEyOUU0QUE1NDU6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246OTgwMEQ4MUM3NDNCRjQyNDZGRUI5NTA2M0Q2QjBGNkI= \N      \N      \N      9B3DF0A93139581F46AD73129E4AA545        \N
-AD42D90497E93D276215DF6D3B899E17       Cloud Native CUUPApp/8  urn:base64:Q2xvdWROYXRpdmVTeXN0ZW06MzcyRDRFRjMwNjU5NzcwRDc2MDBDRjVFMzdBMjYzMjA6Q09NUFJJU0VTOkNsb3VkTmF0aXZlQXBwbGljYXRpb246QUQ0MkQ5MDQ5N0U5M0QyNzYyMTVERjZEM0I4OTlFMTc= \N      \N      \N      372D4EF30659770D7600CF5E37A26320        \N
-719BD5C7CD8A939D76A83DA95DA45C01       Example Cloud App/9     \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo3MTlCRDVDN0NEOEE5MzlENzZBODNEQTk1REE0NUMwMTpERVBMT1lFRF9PTjpOYW1lc3BhY2U6MUMwMkU5NkIyQUFFMDM2QzdBRTQwNEJDMzhDMzA4RTA= DA1039E77700A9EEFFA280049ECE9227        urn:base64:TWFuYWdlZEVsZW1lbnQ6REExMDM5RTc3NzAwQTlFRUZGQTI4MDA0OUVDRTkyMjc6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo3MTlCRDVDN0NEOEE5MzlENzZBODNEQTk1REE0NUMwMQ== \N      1C02E96B2AAE036C7AE404BC38C308E0
-416F31E6EB09055326621F4919D35BFF       Example Cloud App/10    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo0MTZGMzFFNkVCMDkwNTUzMjY2MjFGNDkxOUQzNUJGRjpERVBMT1lFRF9PTjpOYW1lc3BhY2U6RDY3OTNBNDYzQkNBNzQ0MUU5QjEwODc3RTRDMTI4QzQ= 6F02817AFE4D53237DB235EBE5378613        urn:base64:TWFuYWdlZEVsZW1lbnQ6NkYwMjgxN0FGRTRENTMyMzdEQjIzNUVCRTUzNzg2MTM6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo0MTZGMzFFNkVCMDkwNTUzMjY2MjFGNDkxOUQzNUJGRg== \N      D6793A463BCA7441E9B10877E4C128C4
-072549B6F55210EA967D66FB38DF4D02       Example Cloud App/11    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjowNzI1NDlCNkY1NTIxMEVBOTY3RDY2RkIzOERGNEQwMjpERVBMT1lFRF9PTjpOYW1lc3BhY2U6N0IxMjNCNURCREQ3NzY1QzNDQTc1MzhEMTU2MEU3MTk= 0181BB891A56BBD886771EBA3A69F19A        urn:base64:TWFuYWdlZEVsZW1lbnQ6MDE4MUJCODkxQTU2QkJEODg2NzcxRUJBM0E2OUYxOUE6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjowNzI1NDlCNkY1NTIxMEVBOTY3RDY2RkIzOERGNEQwMg== \N      7B123B5DBDD7765C3CA7538D1560E719
-60E685C53F4A1D700AA12499B8513700       Example Cloud App/12    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo2MEU2ODVDNTNGNEExRDcwMEFBMTI0OTlCODUxMzcwMDpERVBMT1lFRF9PTjpOYW1lc3BhY2U6QzU0QjMxQUYwNzYzQzFCMEVGQjU2NjA5MkU4QUFGODc= 1E113BF2E3ABD819E0FBC6C6128BEFE5        urn:base64:TWFuYWdlZEVsZW1lbnQ6MUUxMTNCRjJFM0FCRDgxOUUwRkJDNkM2MTI4QkVGRTU6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo2MEU2ODVDNTNGNEExRDcwMEFBMTI0OTlCODUxMzcwMA== \N      C54B31AF0763C1B0EFB566092E8AAF87
-D80E092432EA673E6D26F833FD456DAB       Example Cloud App/13    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjpEODBFMDkyNDMyRUE2NzNFNkQyNkY4MzNGRDQ1NkRBQjpERVBMT1lFRF9PTjpOYW1lc3BhY2U6RTdGOTc2OTg1QjYwMEMyRDNGREMwM0IwODE3MjIzMDI= 27500EB447000209EE6E3CA1B31FBA92        urn:base64:TWFuYWdlZEVsZW1lbnQ6Mjc1MDBFQjQ0NzAwMDIwOUVFNkUzQ0ExQjMxRkJBOTI6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjpEODBFMDkyNDMyRUE2NzNFNkQyNkY4MzNGRDQ1NkRBQg== \N      E7F976985B600C2D3FDC03B081722302
-3F2580E9F469F9A3CD97B9FCF6CF4FB7       Example Cloud App/14    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjozRjI1ODBFOUY0NjlGOUEzQ0Q5N0I5RkNGNkNGNEZCNzpERVBMT1lFRF9PTjpOYW1lc3BhY2U6QzMwMURCQ0Y1QTYyQ0I2N0UwRjYyQTJGQjcyMzQ0QTI= 06222D277EE209CD8DCA1FE61CE752E6        urn:base64:TWFuYWdlZEVsZW1lbnQ6MDYyMjJEMjc3RUUyMDlDRDhEQ0ExRkU2MUNFNzUyRTY6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjozRjI1ODBFOUY0NjlGOUEzQ0Q5N0I5RkNGNkNGNEZCNw== \N      C301DBCF5A62CB67E0F62A2FB72344A2
-0DBDAF357A69C373FC2A98B68485DDE3       Example Cloud App/15    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjowREJEQUYzNTdBNjlDMzczRkMyQTk4QjY4NDg1RERFMzpERVBMT1lFRF9PTjpOYW1lc3BhY2U6NkZERTIxNUMzQUIzOUQ1OEJCNUE1MzdBMDRBQzI3OTc= 436C59D4065E5222414DAD697C8842D2        urn:base64:TWFuYWdlZEVsZW1lbnQ6NDM2QzU5RDQwNjVFNTIyMjQxNERBRDY5N0M4ODQyRDI6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjowREJEQUYzNTdBNjlDMzczRkMyQTk4QjY4NDg1RERFMw== \N      6FDE215C3AB39D58BB5A537A04AC2797
-E128C30D7E2ADB7DEF904CE7E936A586       Example Cloud App/16    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjpFMTI4QzMwRDdFMkFEQjdERUY5MDRDRTdFOTM2QTU4NjpERVBMT1lFRF9PTjpOYW1lc3BhY2U6QTgyNUNDM0JDNDAzNjlGREJBM0VBMEY1QjgwODQxRkY= DC86CA7724113F4C0DF42BFEAA17FD53        urn:base64:TWFuYWdlZEVsZW1lbnQ6REM4NkNBNzcyNDExM0Y0QzBERjQyQkZFQUExN0ZENTM6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjpFMTI4QzMwRDdFMkFEQjdERUY5MDRDRTdFOTM2QTU4Ng== \N      A825CC3BC40369FDBA3EA0F5B80841FF
-6B655971564C02F1FB7E5D7E84F9DDAF       Example Cloud App/17    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo2QjY1NTk3MTU2NEMwMkYxRkI3RTVEN0U4NEY5RERBRjpERVBMT1lFRF9PTjpOYW1lc3BhY2U6QkY1NEIxNkMxNEExNTFFMkE1RTE0NDVCRkQ4OTIzMTQ= 1F0B4F7CEC39A09ADC16EB8D787978E6        urn:base64:TWFuYWdlZEVsZW1lbnQ6MUYwQjRGN0NFQzM5QTA5QURDMTZFQjhENzg3OTc4RTY6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo2QjY1NTk3MTU2NEMwMkYxRkI3RTVEN0U4NEY5RERBRg== \N      BF54B16C14A151E2A5E1445BFD892314
-9E0291689435200AE1332FBBB992C151       Example Cloud App/18    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo5RTAyOTE2ODk0MzUyMDBBRTEzMzJGQkJCOTkyQzE1MTpERVBMT1lFRF9PTjpOYW1lc3BhY2U6OTQ5NkU3NUY3RjgxRjhDNTMwRkVDNEQyNjQ4MEVBRTg= AEAFE291F1DE32DEFFF0073D297B7693        urn:base64:TWFuYWdlZEVsZW1lbnQ6QUVBRkUyOTFGMURFMzJERUZGRjAwNzNEMjk3Qjc2OTM6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjo5RTAyOTE2ODk0MzUyMDBBRTEzMzJGQkJCOTkyQzE1MQ== \N      9496E75F7F81F8C530FEC4D26480EAE8
-C549905CF3CC890CE5746C5E10ACF00D       Example Cloud App/19    \N      urn:base64:Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjpDNTQ5OTA1Q0YzQ0M4OTBDRTU3NDZDNUUxMEFDRjAwRDpERVBMT1lFRF9PTjpOYW1lc3BhY2U6NzM1NjYyNURENUVBOEI2N0UzNTY0MDRFNDdEQkYxNkM= 8D51EFC759166044DACBCA63C4EDFC51        urn:base64:TWFuYWdlZEVsZW1lbnQ6OEQ1MUVGQzc1OTE2NjA0NERBQ0JDQTYzQzRFREZDNTE6UkVBTElTRURfQlk6Q2xvdWROYXRpdmVBcHBsaWNhdGlvbjpDNTQ5OTA1Q0YzQ0M4OTBDRTU3NDZDNUUxMEFDRjAwRA== \N      7356625DD5EA8B67E356404E47DBF16C
-\.
-
-COPY ties_data."ODUFunction" (id, fdn, "dUpLMNId", "gNBId", "gNBIdLength", "REL_MANAGEDELEMENT_MANAGES_ODUFUNCTION", "REL_MANAGEDELEMENT_MANAGES_ODUFUNCTION_EIID") FROM stdin;
-5A548EA9D166341776CA0695837E55D8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=16     {"mnc":"82","mcc":"456"}        16      2       DC86CA7724113F4C0DF42BFEAA17FD53        urn:base64:TWFuYWdlZEVsZW1lbnQ6REM4NkNBNzcyNDExM0Y0QzBERjQyQkZFQUExN0ZENTM6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjVBNTQ4RUE5RDE2NjM0MTc3NkNBMDY5NTgzN0U1NUQ4
-7D80E5C6E0C9EC246370E86B7E524F8C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=17     {"mnc":"82","mcc":"456"}        17      2       1F0B4F7CEC39A09ADC16EB8D787978E6        urn:base64:TWFuYWdlZEVsZW1lbnQ6MUYwQjRGN0NFQzM5QTA5QURDMTZFQjhENzg3OTc4RTY6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjdEODBFNUM2RTBDOUVDMjQ2MzcwRTg2QjdFNTI0RjhD
-BBB3C42A4F8AC94091B297DF708DD50B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=18     {"mnc":"82","mcc":"456"}        18      2       AEAFE291F1DE32DEFFF0073D297B7693        urn:base64:TWFuYWdlZEVsZW1lbnQ6QUVBRkUyOTFGMURFMzJERUZGRjAwNzNEMjk3Qjc2OTM6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOkJCQjNDNDJBNEY4QUM5NDA5MUIyOTdERjcwOERENTBC
-4CFF136200A2DE36205A13559C55DB2A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=19     {"mnc":"82","mcc":"456"}        19      2       8D51EFC759166044DACBCA63C4EDFC51        urn:base64:TWFuYWdlZEVsZW1lbnQ6OEQ1MUVGQzc1OTE2NjA0NERBQ0JDQTYzQzRFREZDNTE6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjRDRkYxMzYyMDBBMkRFMzYyMDVBMTM1NTlDNTVEQjJB
-D3215E08570BE58339C7463626B50E37       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=9      {"mnc":"82","mcc":"456"}        9       1       DA1039E77700A9EEFFA280049ECE9227        urn:base64:TWFuYWdlZEVsZW1lbnQ6REExMDM5RTc3NzAwQTlFRUZGQTI4MDA0OUVDRTkyMjc6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOkQzMjE1RTA4NTcwQkU1ODMzOUM3NDYzNjI2QjUwRTM3
-1050570EBB1315E1AE7A9FD5E1400A00       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=10     {"mnc":"82","mcc":"456"}        10      2       6F02817AFE4D53237DB235EBE5378613        urn:base64:TWFuYWdlZEVsZW1lbnQ6NkYwMjgxN0FGRTRENTMyMzdEQjIzNUVCRTUzNzg2MTM6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjEwNTA1NzBFQkIxMzE1RTFBRTdBOUZENUUxNDAwQTAw
-B6A6DE7D0965F02D48ECA86706A4454F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=11     {"mnc":"82","mcc":"456"}        11      2       0181BB891A56BBD886771EBA3A69F19A        urn:base64:TWFuYWdlZEVsZW1lbnQ6MDE4MUJCODkxQTU2QkJEODg2NzcxRUJBM0E2OUYxOUE6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOkI2QTZERTdEMDk2NUYwMkQ0OEVDQTg2NzA2QTQ0NTRG
-E5FD5ACD55C553A92738477ECB0465B9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=12     {"mnc":"82","mcc":"456"}        12      2       1E113BF2E3ABD819E0FBC6C6128BEFE5        urn:base64:TWFuYWdlZEVsZW1lbnQ6MUUxMTNCRjJFM0FCRDgxOUUwRkJDNkM2MTI4QkVGRTU6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOkU1RkQ1QUNENTVDNTUzQTkyNzM4NDc3RUNCMDQ2NUI5
-25E690E22BDA90B9C4FEE1F083CBA597       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=13     {"mnc":"82","mcc":"456"}        13      2       27500EB447000209EE6E3CA1B31FBA92        urn:base64:TWFuYWdlZEVsZW1lbnQ6Mjc1MDBFQjQ0NzAwMDIwOUVFNkUzQ0ExQjMxRkJBOTI6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjI1RTY5MEUyMkJEQTkwQjlDNEZFRTFGMDgzQ0JBNTk3
-5A3085C3400C3096E2ED2321452766B1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=14     {"mnc":"82","mcc":"456"}        14      2       06222D277EE209CD8DCA1FE61CE752E6        urn:base64:TWFuYWdlZEVsZW1lbnQ6MDYyMjJEMjc3RUUyMDlDRDhEQ0ExRkU2MUNFNzUyRTY6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjVBMzA4NUMzNDAwQzMwOTZFMkVEMjMyMTQ1Mjc2NkIx
-7F16F93D8816D9EBC76E52BB44A3CFF5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ODUFunction=15     {"mnc":"82","mcc":"456"}        15      2       436C59D4065E5222414DAD697C8842D2        urn:base64:TWFuYWdlZEVsZW1lbnQ6NDM2QzU5RDQwNjVFNTIyMjQxNERBRDY5N0M4ODQyRDI6TUFOQUdFUzpHTkJEVUZ1bmN0aW9uOjdGMTZGOTNEODgxNkQ5RUJDNzZFNTJCQjQ0QTNDRkY1
-\.
-
-COPY ties_data."OCUCPFunction" (id, fdn, "gNBId", "gNBIdLength", "REL_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION", "REL_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION_EIID") FROM stdin;
-0525930249302B9649FC8F201EC4F7FC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUCPFunction=1    1       1       5BCC1BC502B66423981F90A6EA8D157E        urn:base64:TWFuYWdlZEVsZW1lbnQ6NUJDQzFCQzUwMkI2NjQyMzk4MUY5MEE2RUE4RDE1N0U6TUFOQUdFUzpHTkJDVUNQRnVuY3Rpb246MDUyNTkzMDI0OTMwMkI5NjQ5RkM4RjIwMUVDNEY3RkM=
-\.
-
-COPY ties_data."OCUUPFunction" (id, fdn, "gNBId", "gNBIdLength", "REL_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION", "REL_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION_EIID") FROM stdin;
-9B007881A1B8DE33D1D3063BE601D4B6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=2    2       1       577CA8F71FFC2FC3C39D93D0F28E47EC        urn:base64:TWFuYWdlZEVsZW1lbnQ6NTc3Q0E4RjcxRkZDMkZDM0MzOUQ5M0QwRjI4RTQ3RUM6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246OUIwMDc4ODFBMUI4REUzM0QxRDMwNjNCRTYwMUQ0QjY=
-9806ABE2985BDD4FE6BD2B38549C973C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=3    3       1       E87AF3DB09EE273C6F153AA00D4D1171        urn:base64:TWFuYWdlZEVsZW1lbnQ6RTg3QUYzREIwOUVFMjczQzZGMTUzQUEwMEQ0RDExNzE6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246OTgwNkFCRTI5ODVCREQ0RkU2QkQyQjM4NTQ5Qzk3M0M=
-99BBA3EC64BE596400B38FEBD9677FC6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=4    4       1       A73755B1422176B1169546D884BD9FCC        urn:base64:TWFuYWdlZEVsZW1lbnQ6QTczNzU1QjE0MjIxNzZCMTE2OTU0NkQ4ODRCRDlGQ0M6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246OTlCQkEzRUM2NEJFNTk2NDAwQjM4RkVCRDk2NzdGQzY=
-6B3E56B6C991F4E569115DE5633B0AA0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=5    5       1       D76CCB4E654B2CF5D248196E9B9524AD        urn:base64:TWFuYWdlZEVsZW1lbnQ6RDc2Q0NCNEU2NTRCMkNGNUQyNDgxOTZFOUI5NTI0QUQ6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246NkIzRTU2QjZDOTkxRjRFNTY5MTE1REU1NjMzQjBBQTA=
-A18F3452C918E8F2C54E600F42005DBD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=6    6       1       E7CEF72CB78163D1B26B8B2A7A39757A        urn:base64:TWFuYWdlZEVsZW1lbnQ6RTdDRUY3MkNCNzgxNjNEMUIyNkI4QjJBN0EzOTc1N0E6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246QTE4RjM0NTJDOTE4RThGMkM1NEU2MDBGNDIwMDVEQkQ=
-F1C32B9DECA2230D9765BE2F54F1EDFE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=7    7       1       E57C2A20E96A8C9E7099BAD60957B59A        urn:base64:TWFuYWdlZEVsZW1lbnQ6RTU3QzJBMjBFOTZBOEM5RTcwOTlCQUQ2MDk1N0I1OUE6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246RjFDMzJCOURFQ0EyMjMwRDk3NjVCRTJGNTRGMUVERkU=
-BFEEAC2CE60273CB0A78319CC201A7FE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/OCUUPFunction=8    8       1       E64371CD4D12ED0CED200DD3A7591784        urn:base64:TWFuYWdlZEVsZW1lbnQ6RTY0MzcxQ0Q0RDEyRUQwQ0VEMjAwREQzQTc1OTE3ODQ6TUFOQUdFUzpHTkJDVVVQRnVuY3Rpb246QkZFRUFDMkNFNjAyNzNDQjBBNzgzMTlDQzIwMUE3RkU=
-\.
-
-COPY ties_data."NRCellCU" (id, fdn, "cellLocalId", "plmnId", "nCI", "nRTAC", "REL_OCUCPFUNCTION_PROVIDES_NRCELLCU_EIID", "REL_OCUCPFUNCTION_PROVIDES_NRCELLCU") FROM stdin;
-ED15B5C47ACEB0B4975D7A7B6B9FD4F8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=1 1       {"mnc":"82","mcc":"456"}        1       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkVEMTVCNUM0N0FDRUIwQjQ5NzVEN0E3QjZCOUZENEY4 0525930249302B9649FC8F201EC4F7FC
-C21ED6B73BFC01F0A98F1D492DFD7FBD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=2 2       {"mnc":"82","mcc":"456"}        2       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkMyMUVENkI3M0JGQzAxRjBBOThGMUQ0OTJERkQ3RkJE 0525930249302B9649FC8F201EC4F7FC
-D1462F73968E5CC050AAD327331494D9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=3 3       {"mnc":"82","mcc":"456"}        3       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkQxNDYyRjczOTY4RTVDQzA1MEFBRDMyNzMzMTQ5NEQ5 0525930249302B9649FC8F201EC4F7FC
-4B83304C790B86803348D83594CA8578       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=4 4       {"mnc":"82","mcc":"456"}        4       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOjRCODMzMDRDNzkwQjg2ODAzMzQ4RDgzNTk0Q0E4NTc4 0525930249302B9649FC8F201EC4F7FC
-DD35C095CD62BD45AA9B3E5DDAEDD638       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=5 5       {"mnc":"82","mcc":"456"}        5       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkREMzVDMDk1Q0Q2MkJENDVBQTlCM0U1RERBRURENjM4 0525930249302B9649FC8F201EC4F7FC
-926C4E16A00453D7AF0BDC1B44956DEE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=6 6       {"mnc":"82","mcc":"456"}        6       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOjkyNkM0RTE2QTAwNDUzRDdBRjBCREMxQjQ0OTU2REVF 0525930249302B9649FC8F201EC4F7FC
-48CF862C4FBAC260A3A32C858BE8DCD8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=7 7       {"mnc":"82","mcc":"456"}        7       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOjQ4Q0Y4NjJDNEZCQUMyNjBBM0EzMkM4NThCRThEQ0Q4 0525930249302B9649FC8F201EC4F7FC
-EC3400C5121E6AACC4DA117C244C3661       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=8 8       {"mnc":"82","mcc":"456"}        8       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkVDMzQwMEM1MTIxRTZBQUNDNERBMTE3QzI0NEMzNjYx 0525930249302B9649FC8F201EC4F7FC
-FFC97655D55AC9CC4FB8A7EC0C7941E8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=9 9       {"mnc":"82","mcc":"456"}        9       456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkZGQzk3NjU1RDU1QUM5Q0M0RkI4QTdFQzBDNzk0MUU4 0525930249302B9649FC8F201EC4F7FC
-2F1E5910D92D1C199360545C6A798E9C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=10        10      {"mnc":"82","mcc":"456"}        10      456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOjJGMUU1OTEwRDkyRDFDMTk5MzYwNTQ1QzZBNzk4RTlD 0525930249302B9649FC8F201EC4F7FC
-A212C979D6E32F6021E7E05879C797F5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellCU=11        11      {"mnc":"82","mcc":"456"}        11      456     urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlBST1ZJREVTOk5SQ2VsbENVOkEyMTJDOTc5RDZFMzJGNjAyMUU3RTA1ODc5Qzc5N0Y1 0525930249302B9649FC8F201EC4F7FC
-\.
-
-COPY ties_data."Sector" (id, azimuth, "geo-location") FROM stdin;
-2F445AA5744FA3D230FD6838531F1407       1       POINT(59.4019881 17.9419888)
-F5128C172A70C4FCD4739650B06DE9E2       2       POINT(59.4019881 17.9419888)
-ADB1BAAC878C0BEEFE3175C60F44BB1D       3       POINT(59.4019881 17.9419888)
-\.
-
-COPY ties_data."AntennaCapability" (id, fdn, "eUtranFqBands", "geranFqBands", "nRFqBands") FROM stdin;
-5835F77BE9D4E102316BD59195F6370B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=1        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-04F39EBAB72454E4D3331D6C3367B45F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=2        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-A77B237A541B2D3225B4B61D3098E4AA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=3        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C30981A489A45BE4BF70667FC66992CF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=4        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-4A850F99EBA0935B7CDE6EF446C0499C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=5        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C83E08A53438EF9678D515E73DB667F7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=6        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-5E1C63A3F32A8625A5F282727D36B0C8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=7        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-1B338F478087F93C91E0287CC87CDC56       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=8        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-599313CDD35F498EE899CF51C9A09BF5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=9        ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B04E223337F275C0BF59B459A06EE6C3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=10       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-2D71F6CDCC5DFD1D712D9AB01BAA4706       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=11       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-D74172358AD4BA418E2423A3D54151ED       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=12       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-114BD7BD46D2EA6BF851251287F2CF95       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=13       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B00699B5EA33C867EEE7E044EE844D34       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=14       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-A537D7A9EFDEE0C47B3FB4CF3B1F06A7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=15       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-E1C3E95944942F4AD1831719203A1672       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=16       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-9252E3CCA88AE559BCB1C838FFDA1C27       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=17       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-F283F19F4F0842E724BA72E9718EA5CB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=18       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B74B892954E97112DD4B4E5AF9D3A4F7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=19       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-87CC4E7F74292FE85340F280A32EEB2D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=20       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-04273FC64436DA523865CF849E5F7CC9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=21       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-D5B9090E3B6A10DBDC243ED14EF294BF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=22       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-02443DE0807D801D661495D9EFB8D836       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=23       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C6823D2B7AFA064CE774795E01D6228B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=24       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-DF26AE442110DB0281DAD4545436B720       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=25       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-7A1C6FE9351008B3D539166D94222762       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=26       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-70A1F129E10EE7D31DFE1E1AA6C7437D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=27       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-7DE91C78F8DCE4292F2F0C3B34DEACAB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=28       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-145A1BF561DB297F25FD3F12417D2A50       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=29       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-9188D975D837A1E0397167A23E721B0C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=30       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-D314DADAFA3D896445E78EBCC15A16F7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=31       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-28AD3EE844766DF508F6287CD1CE18A4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=32       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C398D6C673267A081C781D84438F4B74       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=33       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-0BDAD5DDC19A696244536421E6D26FE3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=34       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-49205881C9121F208BD79149FA799877       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=35       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-A32DB9E278FC1DE41FB4A3B50F802650       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=36       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-BDE381BACC67290E447BC0177E038AEB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=37       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B4BC4D1B13EB651690F3195E622CC4BD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=38       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-32EE385EACD26A0046BAD5CC84905ECB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=39       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-43B63106B27FB05C618400EE5AE91637       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=40       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C813E18657C2C5837A3F237BAD557944       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=41       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-462DCCDEA5A2892B8C8630724679B676       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=42       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-F6D0FF2069F038FF64D072C818DD9BFD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=43       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C5C598511C7514061E86DA24F8DB359D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=44       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-13876FECEEDF45AE4DCA8C393E478237       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=45       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-00833903891D07D0628E03FF4463A14A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=46       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C4A283EEFD5F1463B7EE0CA782409DFB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=47       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-AFFEAF1D0F2D30524C49BA86D52F39EE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=48       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-E2A13CF56C0E187C62FF9716BB0FCED6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=49       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-E3E1FB31FB5F4FB1CA808036474BDD95       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=50       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-5769C026D7993C666C45535EDD8C3EAD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=51       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-2A32475EF4F4AB41904B5AAAA8FF2CA1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=52       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-EB1301BA22E0691114A23445323B649B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=53       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-285A7590CEC0BC46F0C1A8A3D1AA2BA5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=54       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C606AF1A1AC5A96A43B0B8EBFC1B047C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=55       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-40FB5481402DCE8AD6B3B0357B00CF82       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=56       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-FD8F3DE8B8AF2FD102F39D0ED89B3714       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=57       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-5CEA2470D99A8A2BB3ED90BC15DB1140       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=58       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-6A23A8B8B5ACEA775D6E98BAC1534373       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=59       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-1D273FDD45618CBD438D0083873314D5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=60       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-E07F76EEFA3F6D1A5083C99F3D202CCD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=61       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-173388785CB4761B154F448AE6372ADC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=62       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-AA17CE1504CD4512121267C22034620A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=63       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-542D562E72C8025DD560D718FFDE1D45       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=64       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-E3C96BA5D7C0755A3011D12A32971BA1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=65       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B4C333ECD92A7351A38EE3BC510B5DA7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=66       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-6F75116BB289ECD8EB1A96252FD8F7C0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=67       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-16B870511FAAF1183FC92E641B2C3804       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=68       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-2C7AA809CD1A92FD74EC4151D7C16A8D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=69       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-2C21D1069460F35FF38952F1050DF7CC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=70       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-AA3ED0C82A9FE6D7412B7C558A96CDA5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=71       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B5D36905C87DA636611C137159727CEE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=72       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-3EF4C71354EC527AB033A3FB820F48E4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=73       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-0B3681F195584EF1051B914EB63EBBCB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=74       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-59A77FBBDC8E1819741E4728596C435C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=75       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-BDC8E4EAC53C9C39800B4BDC0309C8BB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=76       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-37332299BE1398193F7B7452C16521F8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=77       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-83B8FC3409E9E34F8D4B22CD514CC078       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=78       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-587ADBD46FA0A770E1C3ABA210DB57ED       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=79       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-604A22BFC72A960115D6B21C3F186841       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=80       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-1D4CBC43D62A01B27FA0C7442F9AD0D8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=81       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-892BAE0B45865D3F4DC776662BB37654       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=82       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-EE1EAAFDB85206259AA9D9D4BA01BDA2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=83       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-111BD123DCA1B937F0E15E5BEFDE08E9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=84       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-DF7837EEAB65A06859110366E5F45297       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=85       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-D0AAE9631AF1554B8F390932E377EA19       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=86       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-89B9FE5D2D4A07CCD54E705BFE2D10F0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=87       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-A6E97BA30832C1B7AC36F4D79DD38B71       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=88       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-DFA6202FF96DD418EAD4C930F27F0C78       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=89       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-01945D7B7D2AFB0B3DFE23822D2C9CCB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=90       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-BE50AC57AB1FAE73531ADD181324067F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=91       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-82D055DE15B97CD866CF454A9688F4DB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=92       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-362EC3B7758D873DF98AE2A9EC2472B5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=93       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-DA5D8A3D1CDC3D55447F7C86EDD8FE50       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=94       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-6A39B151C50F73F029B5772299DCF289       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=95       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-B0FE880DF9474AA29C7A4BAAA946E55D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=96       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-C23D9D0807E45EF55DC6B7D35EEB08B1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=97       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-CF8EF723BB46C6170DB0490D1FA26B85       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=98       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-E1C340DF0FFA51211DDB5F829E2A27EE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=99       ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-59E39AEB2CD8EC0018853D7EF75E4E77       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaCapability=100      ["123","4564","789"]    ["123","456","789"]     ["123","456","789"]
-\.
-
-COPY ties_data."Site" (id, name, "geo-location") FROM stdin;
-CF89C174D06854C0C41B74D2C46846DD       ORAN Stockholm  POINT(59.4019881 17.9419888)
-26874D3241CEFFF60E084FEFCC72B973       ORAN Stockholm  POINT(59.4019881 17.9419888)
-0778A57645DE9D3E4B74D31F9F5CB858       ORAN Stockholm  POINT(59.4019881 17.9419888)
-F4B3E6619BBD176B4F2DB754AF6524BC       ORAN Stockholm  POINT(59.4019881 17.9419888)
-08ECC9E4A381754174EC4B0045418F53       ORAN Stockholm  POINT(59.4019881 17.9419888)
-12B7642C4550D657BE0D0F5FFB6975B4       ORAN Stockholm  POINT(59.4019881 17.9419888)
-09C568700E28185534A836946A406656       ORAN Stockholm  POINT(59.4019881 17.9419888)
-FEF2244182BB579F5D67C024ADBE8510       ORAN Stockholm  POINT(59.4019881 17.9419888)
-8661AEDC92C7A428BBB5137150A84EFF       ORAN Stockholm  POINT(59.4019881 17.9419888)
-07674D494908D2B78DFD4A9555E8FEC7       ORAN Stockholm  POINT(59.4019881 17.9419888)
-45125B217DEAE03E6FFE99E6410827CB       ORAN Stockholm  POINT(59.4019881 17.9419888)
-D6C8C26018EC6B009B466590E0E8CA89       ORAN Stockholm  POINT(59.4019881 17.9419888)
-C30A8ED14ED558C42D40AB507E45A20B       ORAN Stockholm  POINT(59.4019881 17.9419888)
-AB78BB4CCABEBDA1FAF28B583FECE1F7       ORAN Stockholm  POINT(59.4019881 17.9419888)
-0EF3B3C355A1B8229477C73003331ECE       ORAN Stockholm  POINT(59.4019881 17.9419888)
-547D71B43F80440CCCF5BBAA592F0BE9       ORAN Stockholm  POINT(59.4019881 17.9419888)
-6DA0466361FC7FA801992523CEEBB708       ORAN Stockholm  POINT(59.4019881 17.9419888)
-E62D579A6EE1200742024580932FCAB3       ORAN Stockholm  POINT(59.4019881 17.9419888)
-DF8BC33203F929BA85E9CE51906C39E7       ORAN Stockholm  POINT(59.4019881 17.9419888)
-77B0CCE60DA3CB1A6B7710356F98BF2D       ORAN Stockholm  POINT(59.4019881 17.9419888)
-BAE093E95F2AC5FF08C8830896F4074B       ORAN Stockholm  POINT(59.4019881 17.9419888)
-80E537AB048E79909DA40298E06B089D       ORAN Stockholm  POINT(59.4019881 17.9419888)
-E8BA1F7434A4842150FA259506A55435       ORAN Stockholm  POINT(59.4019881 17.9419888)
-2DDD59CA2E860E28CB8DEB1FEAB3CAB4       ORAN Stockholm  POINT(59.4019881 17.9419888)
-0B2DBD5B2C81D9283BB458A03ABC305C       ORAN Stockholm  POINT(59.4019881 17.9419888)
-EFE3F092FF55C768B4D1E459B2A93DD8       ORAN Stockholm  POINT(59.4019881 17.9419888)
-\.
-
-COPY ties_data."AntennaModule" (id, fdn, "antennaModelNumber", "mechanicalAntennaBearing", "mechanicalAntennaTilt", "positionWithinSector", "totalTilt", "electricalAntennaTilt", "REL_ANTENNAMODULE_INSTALLED_AT_SITE_EIID", "REL_SECTOR_GROUPS_ANTENNAMODULE_EIID", "REL_ANTENNAMODULE_INSTALLED_AT_SITE", "REL_SECTOR_GROUPS_ANTENNAMODULE") FROM stdin;
-CBAB40BEF2646D20F66542E9D10D7FCA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=1    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpDQkFCNDBCRUYyNjQ2RDIwRjY2NTQyRTlEMTBEN0ZDQTpJTlNUQUxMRURfQVQ6U2l0ZToyNjg3NEQzMjQxQ0VGRkY2MEUwODRGRUZDQzcyQjk3Mw== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOkNCQUI0MEJFRjI2NDZEMjBGNjY1NDJFOUQxMEQ3RkNB 26874D3241CEFFF60E084FEFCC72B973        2F445AA5744FA3D230FD6838531F1407
-7ECED4BE8CF47661D5D3E8674586A9B1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=2    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTo3RUNFRDRCRThDRjQ3NjYxRDVEM0U4Njc0NTg2QTlCMTpJTlNUQUxMRURfQVQ6U2l0ZTowNzc4QTU3NjQ1REU5RDNFNEI3NEQzMUY5RjVDQjg1OA== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOjdFQ0VENEJFOENGNDc2NjFENUQzRTg2NzQ1ODZBOUIx 0778A57645DE9D3E4B74D31F9F5CB858        2F445AA5744FA3D230FD6838531F1407
-AA48999302DFC8EC8879572623C0085A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=3    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpBQTQ4OTk5MzAyREZDOEVDODg3OTU3MjYyM0MwMDg1QTpJTlNUQUxMRURfQVQ6U2l0ZTpGNEIzRTY2MTlCQkQxNzZCNEYyREI3NTRBRjY1MjRCQw== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOkFBNDg5OTkzMDJERkM4RUM4ODc5NTcyNjIzQzAwODVB F4B3E6619BBD176B4F2DB754AF6524BC        2F445AA5744FA3D230FD6838531F1407
-07C63BA08B0C43E18CC964F0B6F4E24D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=4    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTowN0M2M0JBMDhCMEM0M0UxOENDOTY0RjBCNkY0RTI0RDpJTlNUQUxMRURfQVQ6U2l0ZTowOEVDQzlFNEEzODE3NTQxNzRFQzRCMDA0NTQxOEY1Mw== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOjA3QzYzQkEwOEIwQzQzRTE4Q0M5NjRGMEI2RjRFMjRE 08ECC9E4A381754174EC4B0045418F53        2F445AA5744FA3D230FD6838531F1407
-FF21E2266B36E92F3C298C9C3497BDAD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=5    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpGRjIxRTIyNjZCMzZFOTJGM0MyOThDOUMzNDk3QkRBRDpJTlNUQUxMRURfQVQ6U2l0ZToxMkI3NjQyQzQ1NTBENjU3QkUwRDBGNUZGQjY5NzVCNA== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOkZGMjFFMjI2NkIzNkU5MkYzQzI5OEM5QzM0OTdCREFE 12B7642C4550D657BE0D0F5FFB6975B4        2F445AA5744FA3D230FD6838531F1407
-002B0219B739B88C8A813552EF1E8942       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=6    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTowMDJCMDIxOUI3MzlCODhDOEE4MTM1NTJFRjFFODk0MjpJTlNUQUxMRURfQVQ6U2l0ZTowOUM1Njg3MDBFMjgxODU1MzRBODM2OTQ2QTQwNjY1Ng== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOjAwMkIwMjE5QjczOUI4OEM4QTgxMzU1MkVGMUU4OTQy 09C568700E28185534A836946A406656        2F445AA5744FA3D230FD6838531F1407
-BEB01B90AC0099CA7C730D54C6A99F56       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=7    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpCRUIwMUI5MEFDMDA5OUNBN0M3MzBENTRDNkE5OUY1NjpJTlNUQUxMRURfQVQ6U2l0ZTpGRUYyMjQ0MTgyQkI1NzlGNUQ2N0MwMjRBREJFODUxMA== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOkJFQjAxQjkwQUMwMDk5Q0E3QzczMEQ1NEM2QTk5RjU2 FEF2244182BB579F5D67C024ADBE8510        2F445AA5744FA3D230FD6838531F1407
-1319EDC0A95609084682B331F0A05E82       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=8    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZToxMzE5RURDMEE5NTYwOTA4NDY4MkIzMzFGMEEwNUU4MjpJTlNUQUxMRURfQVQ6U2l0ZTo4NjYxQUVEQzkyQzdBNDI4QkJCNTEzNzE1MEE4NEVGRg== urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpBbnRlbm5hTW9kdWxlOjEzMTlFREMwQTk1NjA5MDg0NjgyQjMzMUYwQTA1RTgy 8661AEDC92C7A428BBB5137150A84EFF        2F445AA5744FA3D230FD6838531F1407
-BD0E10BC55B7286F699DB340045053CA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=9    ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpCRDBFMTBCQzU1QjcyODZGNjk5REIzNDAwNDUwNTNDQTpJTlNUQUxMRURfQVQ6U2l0ZTowNzY3NEQ0OTQ5MDhEMkI3OERGRDRBOTU1NUU4RkVDNw== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOkJEMEUxMEJDNTVCNzI4NkY2OTlEQjM0MDA0NTA1M0NB 07674D494908D2B78DFD4A9555E8FEC7        F5128C172A70C4FCD4739650B06DE9E2
-B4125EFB79D46BF9895709F985C92E99       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=10   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpCNDEyNUVGQjc5RDQ2QkY5ODk1NzA5Rjk4NUM5MkU5OTpJTlNUQUxMRURfQVQ6U2l0ZTo0NTEyNUIyMTdERUFFMDNFNkZGRTk5RTY0MTA4MjdDQg== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOkI0MTI1RUZCNzlENDZCRjk4OTU3MDlGOTg1QzkyRTk5 45125B217DEAE03E6FFE99E6410827CB        F5128C172A70C4FCD4739650B06DE9E2
-72C76C03ED0B42FA3FE4F9D22C4AF9E1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=11   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTo3MkM3NkMwM0VEMEI0MkZBM0ZFNEY5RDIyQzRBRjlFMTpJTlNUQUxMRURfQVQ6U2l0ZTpENkM4QzI2MDE4RUM2QjAwOUI0NjY1OTBFMEU4Q0E4OQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOjcyQzc2QzAzRUQwQjQyRkEzRkU0RjlEMjJDNEFGOUUx D6C8C26018EC6B009B466590E0E8CA89        F5128C172A70C4FCD4739650B06DE9E2
-AD2DD15AC4E1DE0506843887B47C51A3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=12   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpBRDJERDE1QUM0RTFERTA1MDY4NDM4ODdCNDdDNTFBMzpJTlNUQUxMRURfQVQ6U2l0ZTpDMzBBOEVEMTRFRDU1OEM0MkQ0MEFCNTA3RTQ1QTIwQg== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOkFEMkREMTVBQzRFMURFMDUwNjg0Mzg4N0I0N0M1MUEz C30A8ED14ED558C42D40AB507E45A20B        F5128C172A70C4FCD4739650B06DE9E2
-4C4E9998DAE30C954A93D78959FD511B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=13   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTo0QzRFOTk5OERBRTMwQzk1NEE5M0Q3ODk1OUZENTExQjpJTlNUQUxMRURfQVQ6U2l0ZTpBQjc4QkI0Q0NBQkVCREExRkFGMjhCNTgzRkVDRTFGNw== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOjRDNEU5OTk4REFFMzBDOTU0QTkzRDc4OTU5RkQ1MTFC AB78BB4CCABEBDA1FAF28B583FECE1F7        F5128C172A70C4FCD4739650B06DE9E2
-4ECA02165275FA17BE60AF1D27AAB529       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=14   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTo0RUNBMDIxNjUyNzVGQTE3QkU2MEFGMUQyN0FBQjUyOTpJTlNUQUxMRURfQVQ6U2l0ZTowRUYzQjNDMzU1QTFCODIyOTQ3N0M3MzAwMzMzMUVDRQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOjRFQ0EwMjE2NTI3NUZBMTdCRTYwQUYxRDI3QUFCNTI5 0EF3B3C355A1B8229477C73003331ECE        F5128C172A70C4FCD4739650B06DE9E2
-AF388619F8517CBEAF23D06B4D3744FF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=15   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpBRjM4ODYxOUY4NTE3Q0JFQUYyM0QwNkI0RDM3NDRGRjpJTlNUQUxMRURfQVQ6U2l0ZTo1NDdENzFCNDNGODA0NDBDQ0NGNUJCQUE1OTJGMEJFOQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOkFGMzg4NjE5Rjg1MTdDQkVBRjIzRDA2QjREMzc0NEZG 547D71B43F80440CCCF5BBAA592F0BE9        F5128C172A70C4FCD4739650B06DE9E2
-42B4EEF09E97378B0E365F9BAAB50E1B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=16   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTo0MkI0RUVGMDlFOTczNzhCMEUzNjVGOUJBQUI1MEUxQjpJTlNUQUxMRURfQVQ6U2l0ZTo2REEwNDY2MzYxRkM3RkE4MDE5OTI1MjNDRUVCQjcwOA== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpBbnRlbm5hTW9kdWxlOjQyQjRFRUYwOUU5NzM3OEIwRTM2NUY5QkFBQjUwRTFC 6DA0466361FC7FA801992523CEEBB708        F5128C172A70C4FCD4739650B06DE9E2
-278A05C67D47D117C2DC5BDF5E00AE70       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=17   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZToyNzhBMDVDNjdENDdEMTE3QzJEQzVCREY1RTAwQUU3MDpJTlNUQUxMRURfQVQ6U2l0ZTpFNjJENTc5QTZFRTEyMDA3NDIwMjQ1ODA5MzJGQ0FCMw== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOjI3OEEwNUM2N0Q0N0QxMTdDMkRDNUJERjVFMDBBRTcw E62D579A6EE1200742024580932FCAB3        ADB1BAAC878C0BEEFE3175C60F44BB1D
-D52B212EDCBA464468608400BD348C29       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=18   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpENTJCMjEyRURDQkE0NjQ0Njg2MDg0MDBCRDM0OEMyOTpJTlNUQUxMRURfQVQ6U2l0ZTpERjhCQzMzMjAzRjkyOUJBODVFOUNFNTE5MDZDMzlFNw== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOkQ1MkIyMTJFRENCQTQ2NDQ2ODYwODQwMEJEMzQ4QzI5 DF8BC33203F929BA85E9CE51906C39E7        ADB1BAAC878C0BEEFE3175C60F44BB1D
-164612A68D6604469057C98DD4E4E3A5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=19   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZToxNjQ2MTJBNjhENjYwNDQ2OTA1N0M5OERENEU0RTNBNTpJTlNUQUxMRURfQVQ6U2l0ZTo3N0IwQ0NFNjBEQTNDQjFBNkI3NzEwMzU2Rjk4QkYyRA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOjE2NDYxMkE2OEQ2NjA0NDY5MDU3Qzk4REQ0RTRFM0E1 77B0CCE60DA3CB1A6B7710356F98BF2D        ADB1BAAC878C0BEEFE3175C60F44BB1D
-07608E09EFA9DDDAC261FFF29353EB7C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=20   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTowNzYwOEUwOUVGQTlERERBQzI2MUZGRjI5MzUzRUI3QzpJTlNUQUxMRURfQVQ6U2l0ZTpCQUUwOTNFOTVGMkFDNUZGMDhDODgzMDg5NkY0MDc0Qg== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOjA3NjA4RTA5RUZBOUREREFDMjYxRkZGMjkzNTNFQjdD BAE093E95F2AC5FF08C8830896F4074B        ADB1BAAC878C0BEEFE3175C60F44BB1D
-D0D8E6F7F0C3E9A975C1A6EC002BB838       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=21   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpEMEQ4RTZGN0YwQzNFOUE5NzVDMUE2RUMwMDJCQjgzODpJTlNUQUxMRURfQVQ6U2l0ZTo4MEU1MzdBQjA0OEU3OTkwOURBNDAyOThFMDZCMDg5RA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOkQwRDhFNkY3RjBDM0U5QTk3NUMxQTZFQzAwMkJCODM4 80E537AB048E79909DA40298E06B089D        ADB1BAAC878C0BEEFE3175C60F44BB1D
-407B61608934EBEA646149D59327A8BA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=22   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTo0MDdCNjE2MDg5MzRFQkVBNjQ2MTQ5RDU5MzI3QThCQTpJTlNUQUxMRURfQVQ6U2l0ZTpFOEJBMUY3NDM0QTQ4NDIxNTBGQTI1OTUwNkE1NTQzNQ== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOjQwN0I2MTYwODkzNEVCRUE2NDYxNDlENTkzMjdBOEJB E8BA1F7434A4842150FA259506A55435        ADB1BAAC878C0BEEFE3175C60F44BB1D
-0582853FB1CB183BDCCFD5F309FE9BF4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=23   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTowNTgyODUzRkIxQ0IxODNCRENDRkQ1RjMwOUZFOUJGNDpJTlNUQUxMRURfQVQ6U2l0ZToyRERENTlDQTJFODYwRTI4Q0I4REVCMUZFQUIzQ0FCNA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOjA1ODI4NTNGQjFDQjE4M0JEQ0NGRDVGMzA5RkU5QkY0 2DDD59CA2E860E28CB8DEB1FEAB3CAB4        ADB1BAAC878C0BEEFE3175C60F44BB1D
-D14658CD5DB0F54275424F619076E408       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=24   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTpEMTQ2NThDRDVEQjBGNTQyNzU0MjRGNjE5MDc2RTQwODpJTlNUQUxMRURfQVQ6U2l0ZTowQjJEQkQ1QjJDODFEOTI4M0JCNDU4QTAzQUJDMzA1Qw== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpBbnRlbm5hTW9kdWxlOkQxNDY1OENENURCMEY1NDI3NTQyNEY2MTkwNzZFNDA4 0B2DBD5B2C81D9283BB458A03ABC305C        ADB1BAAC878C0BEEFE3175C60F44BB1D
-041E829548475CF0AAFC5D4F8F4AB0A3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/AntennaModule=25   ['123-abc']     123     123     ['123', '456', '789']   45      1       urn:base64:QW50ZW5uYU1vZHVsZTowNDFFODI5NTQ4NDc1Q0YwQUFGQzVENEY4RjRBQjBBMzpJTlNUQUxMRURfQVQ6U2l0ZTpFRkUzRjA5MkZGNTVDNzY4QjREMUU0NTlCMkE5M0REOA== \N      EFE3F092FF55C768B4D1E459B2A93DD8        \N
-\.
-
-COPY ties_data."PhysicalNetworkAppliance" (id, name, type, "geo-location", "REL_PHYSICALNETWORKAPPLIANCE_INSTALLED_AT_SITE_EIID", "REL_PHYSICALNETWORKAPPLIANCE_INSTALLED_AT_SITE") FROM stdin;
-055A9686FA759CD56ADB783408497661       PhysicalNetworkAppliance=LTE00001234/1  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjA1NUE5Njg2RkE3NTlDRDU2QURCNzgzNDA4NDk3NjYxOklOU1RBTExFRF9BVDpTaXRlOkNGODlDMTc0RDA2ODU0QzBDNDFCNzREMkM0Njg0NkRE     CF89C174D06854C0C41B74D2C46846DD
-D6158434F8DD2DC217EC2198636A5643       PhysicalNetworkAppliance=LTE00001234/2  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkQ2MTU4NDM0RjhERDJEQzIxN0VDMjE5ODYzNkE1NjQzOklOU1RBTExFRF9BVDpTaXRlOjI2ODc0RDMyNDFDRUZGRjYwRTA4NEZFRkNDNzJCOTcz     26874D3241CEFFF60E084FEFCC72B973
-B42BAF4C45D638133FEBDCC87E48866B       PhysicalNetworkAppliance=LTE00001234/3  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkI0MkJBRjRDNDVENjM4MTMzRkVCRENDODdFNDg4NjZCOklOU1RBTExFRF9BVDpTaXRlOjA3NzhBNTc2NDVERTlEM0U0Qjc0RDMxRjlGNUNCODU4     0778A57645DE9D3E4B74D31F9F5CB858
-C29237C44DB2950D7A0AC8508B4B6B18       PhysicalNetworkAppliance=LTE00001234/4  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkMyOTIzN0M0NERCMjk1MEQ3QTBBQzg1MDhCNEI2QjE4OklOU1RBTExFRF9BVDpTaXRlOkY0QjNFNjYxOUJCRDE3NkI0RjJEQjc1NEFGNjUyNEJD     F4B3E6619BBD176B4F2DB754AF6524BC
-E817613E06A4F215CDC8A67C1A0DD937       PhysicalNetworkAppliance=LTE00001234/5  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkU4MTc2MTNFMDZBNEYyMTVDREM4QTY3QzFBMEREOTM3OklOU1RBTExFRF9BVDpTaXRlOjA4RUNDOUU0QTM4MTc1NDE3NEVDNEIwMDQ1NDE4RjUz     08ECC9E4A381754174EC4B0045418F53
-13E106D008FBEED974FAB64773963AF9       PhysicalNetworkAppliance=LTE00001234/6  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjEzRTEwNkQwMDhGQkVFRDk3NEZBQjY0NzczOTYzQUY5OklOU1RBTExFRF9BVDpTaXRlOjEyQjc2NDJDNDU1MEQ2NTdCRTBEMEY1RkZCNjk3NUI0     12B7642C4550D657BE0D0F5FFB6975B4
-6AC6021909616829AD166CC7C924B638       PhysicalNetworkAppliance=LTE00001234/7  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjZBQzYwMjE5MDk2MTY4MjlBRDE2NkNDN0M5MjRCNjM4OklOU1RBTExFRF9BVDpTaXRlOjA5QzU2ODcwMEUyODE4NTUzNEE4MzY5NDZBNDA2NjU2     09C568700E28185534A836946A406656
-EE539591F77499CD48820297DC00441A       PhysicalNetworkAppliance=LTE00001234/8  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkVFNTM5NTkxRjc3NDk5Q0Q0ODgyMDI5N0RDMDA0NDFBOklOU1RBTExFRF9BVDpTaXRlOkZFRjIyNDQxODJCQjU3OUY1RDY3QzAyNEFEQkU4NTEw     FEF2244182BB579F5D67C024ADBE8510
-C9DD6DD96075F773CC2164519956D80A       PhysicalNetworkAppliance=LTE00001234/9  ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkM5REQ2REQ5NjA3NUY3NzNDQzIxNjQ1MTk5NTZEODBBOklOU1RBTExFRF9BVDpTaXRlOjg2NjFBRURDOTJDN0E0MjhCQkI1MTM3MTUwQTg0RUZG     8661AEDC92C7A428BBB5137150A84EFF
-1EBBE2C584784CF60E565DDC8D02B3C4       PhysicalNetworkAppliance=LTE00001234/10 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjFFQkJFMkM1ODQ3ODRDRjYwRTU2NUREQzhEMDJCM0M0OklOU1RBTExFRF9BVDpTaXRlOjA3Njc0RDQ5NDkwOEQyQjc4REZENEE5NTU1RThGRUM3     07674D494908D2B78DFD4A9555E8FEC7
-34B63E1FC50D1DA429CF5CA947157EFC       PhysicalNetworkAppliance=LTE00001234/11 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjM0QjYzRTFGQzUwRDFEQTQyOUNGNUNBOTQ3MTU3RUZDOklOU1RBTExFRF9BVDpTaXRlOjQ1MTI1QjIxN0RFQUUwM0U2RkZFOTlFNjQxMDgyN0NC     45125B217DEAE03E6FFE99E6410827CB
-E23C9147FAD7958E85552A805D6DFCFF       PhysicalNetworkAppliance=LTE00001234/12 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkUyM0M5MTQ3RkFENzk1OEU4NTU1MkE4MDVENkRGQ0ZGOklOU1RBTExFRF9BVDpTaXRlOkQ2QzhDMjYwMThFQzZCMDA5QjQ2NjU5MEUwRThDQTg5     D6C8C26018EC6B009B466590E0E8CA89
-EA2953CF0A080F10E6722AE92E858CBB       PhysicalNetworkAppliance=LTE00001234/13 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkVBMjk1M0NGMEEwODBGMTBFNjcyMkFFOTJFODU4Q0JCOklOU1RBTExFRF9BVDpTaXRlOkMzMEE4RUQxNEVENTU4QzQyRDQwQUI1MDdFNDVBMjBC     C30A8ED14ED558C42D40AB507E45A20B
-D92495521DCCC7DE492B5FEDC9D4A6E1       PhysicalNetworkAppliance=LTE00001234/14 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkQ5MjQ5NTUyMURDQ0M3REU0OTJCNUZFREM5RDRBNkUxOklOU1RBTExFRF9BVDpTaXRlOkFCNzhCQjRDQ0FCRUJEQTFGQUYyOEI1ODNGRUNFMUY3     AB78BB4CCABEBDA1FAF28B583FECE1F7
-B9B042D33BCC1CB074144DA3D5351DBF       PhysicalNetworkAppliance=LTE00001234/15 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkI5QjA0MkQzM0JDQzFDQjA3NDE0NERBM0Q1MzUxREJGOklOU1RBTExFRF9BVDpTaXRlOjBFRjNCM0MzNTVBMUI4MjI5NDc3QzczMDAzMzMxRUNF     0EF3B3C355A1B8229477C73003331ECE
-2E27426BC7D0DC99770528300F2DC74C       PhysicalNetworkAppliance=LTE00001234/16 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjJFMjc0MjZCQzdEMERDOTk3NzA1MjgzMDBGMkRDNzRDOklOU1RBTExFRF9BVDpTaXRlOjU0N0Q3MUI0M0Y4MDQ0MENDQ0Y1QkJBQTU5MkYwQkU5     547D71B43F80440CCCF5BBAA592F0BE9
-2312B923E694DBE508AC94E232D87CFF       PhysicalNetworkAppliance=LTE00001234/17 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjIzMTJCOTIzRTY5NERCRTUwOEFDOTRFMjMyRDg3Q0ZGOklOU1RBTExFRF9BVDpTaXRlOjZEQTA0NjYzNjFGQzdGQTgwMTk5MjUyM0NFRUJCNzA4     6DA0466361FC7FA801992523CEEBB708
-041FA4CF0EE87A4C8F4D77C18A382819       PhysicalNetworkAppliance=LTE00001234/18 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjA0MUZBNENGMEVFODdBNEM4RjRENzdDMThBMzgyODE5OklOU1RBTExFRF9BVDpTaXRlOkU2MkQ1NzlBNkVFMTIwMDc0MjAyNDU4MDkzMkZDQUIz     E62D579A6EE1200742024580932FCAB3
-268C22D2FBF9BFD9A46FCABD79E7423A       PhysicalNetworkAppliance=LTE00001234/19 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjI2OEMyMkQyRkJGOUJGRDlBNDZGQ0FCRDc5RTc0MjNBOklOU1RBTExFRF9BVDpTaXRlOkRGOEJDMzMyMDNGOTI5QkE4NUU5Q0U1MTkwNkMzOUU3     DF8BC33203F929BA85E9CE51906C39E7
-3B02F5A1C69470E91834432761CAEBFB       PhysicalNetworkAppliance=LTE00001234/20 ExampleType     POINT(59.4019881 17.9419888)    urn:base64:UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjNCMDJGNUExQzY5NDcwRTkxODM0NDMyNzYxQ0FFQkZCOklOU1RBTExFRF9BVDpTaXRlOjc3QjBDQ0U2MERBM0NCMUE2Qjc3MTAzNTZGOThCRjJE     77B0CCE60DA3CB1A6B7710356F98BF2D
-\.
-
-COPY ties_data."ENodeBFunction" (id, fdn, "eNBId", "eNodeBPlmnId", "REL_ENODEBFUNCTION_REALISED_BY_PHYSICALNETWORKAPPLIANCE_EIID", "REL_ENODEBFUNCTION_REALISED_BY_PHYSICALNETWORKAPPLIANCE") FROM stdin;
-8EFAD2F305499DCD360040BD6F57B54E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=1   1       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjA1NUE5Njg2RkE3NTlDRDU2QURCNzgzNDA4NDk3NjYx 055A9686FA759CD56ADB783408497661
-C6694F03768AF9EE83DC293C10473076       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=2   2       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkQ2MTU4NDM0RjhERDJEQzIxN0VDMjE5ODYzNkE1NjQz D6158434F8DD2DC217EC2198636A5643
-54D62577A2B3ED373FA47BBD89A67473       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=3   3       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkI0MkJBRjRDNDVENjM4MTMzRkVCRENDODdFNDg4NjZC B42BAF4C45D638133FEBDCC87E48866B
-3B603CD3E74F0F9053DEF063EFAF2012       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=4   4       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkMyOTIzN0M0NERCMjk1MEQ3QTBBQzg1MDhCNEI2QjE4 C29237C44DB2950D7A0AC8508B4B6B18
-1D9917590E5F75F44DF7EF626592C2C7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=5   5       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkU4MTc2MTNFMDZBNEYyMTVDREM4QTY3QzFBMEREOTM3 E817613E06A4F215CDC8A67C1A0DD937
-B3B3845E7D8910D6906B5EB41A8E0696       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=6   6       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjEzRTEwNkQwMDhGQkVFRDk3NEZBQjY0NzczOTYzQUY5 13E106D008FBEED974FAB64773963AF9
-4C8B24AC011A734A5FEBF321C77289AB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=7   7       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjZBQzYwMjE5MDk2MTY4MjlBRDE2NkNDN0M5MjRCNjM4 6AC6021909616829AD166CC7C924B638
-96220B64D4A4C6F6B17DF30B12B841D3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=8   8       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkVFNTM5NTkxRjc3NDk5Q0Q0ODgyMDI5N0RDMDA0NDFB EE539591F77499CD48820297DC00441A
-4FBA45FB12D28F9106A09E045DE90254       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=9   9       {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkM5REQ2REQ5NjA3NUY3NzNDQzIxNjQ1MTk5NTZEODBB C9DD6DD96075F773CC2164519956D80A
-222B3B5942A23115B9C1AC2B94AF8548       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=10  10      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjFFQkJFMkM1ODQ3ODRDRjYwRTU2NUREQzhEMDJCM0M0 1EBBE2C584784CF60E565DDC8D02B3C4
-FDB1D1C7AC573BA174781DD2DD7359FE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=11  11      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjM0QjYzRTFGQzUwRDFEQTQyOUNGNUNBOTQ3MTU3RUZD 34B63E1FC50D1DA429CF5CA947157EFC
-FE3075645E2303A67B9D0BAD3CCB29BC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=12  12      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkUyM0M5MTQ3RkFENzk1OEU4NTU1MkE4MDVENkRGQ0ZG E23C9147FAD7958E85552A805D6DFCFF
-CF6B05084CD85A8C0943B77317510652       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=13  13      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkVBMjk1M0NGMEEwODBGMTBFNjcyMkFFOTJFODU4Q0JC EA2953CF0A080F10E6722AE92E858CBB
-8094F5C9E30C346536F0A08A851338F6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=14  14      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkQ5MjQ5NTUyMURDQ0M3REU0OTJCNUZFREM5RDRBNkUx D92495521DCCC7DE492B5FEDC9D4A6E1
-E87A72FDF835513E6BACBF730D5BA6C8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=15  15      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOkI5QjA0MkQzM0JDQzFDQjA3NDE0NERBM0Q1MzUxREJG B9B042D33BCC1CB074144DA3D5351DBF
-8E99154C3A70826BBD373F06BC1C752B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=16  16      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjJFMjc0MjZCQzdEMERDOTk3NzA1MjgzMDBGMkRDNzRD 2E27426BC7D0DC99770528300F2DC74C
-CEE5D7B02D903A316D0A017C50FC9993       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=17  17      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjIzMTJCOTIzRTY5NERCRTUwOEFDOTRFMjMyRDg3Q0ZG 2312B923E694DBE508AC94E232D87CFF
-E240B26BA8EE38087134B6D22E24BBDB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=18  18      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjA0MUZBNENGMEVFODdBNEM4RjRENzdDMThBMzgyODE5 041FA4CF0EE87A4C8F4D77C18A382819
-FC195225D4CD060E249281C9BBDAF964       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=19  19      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjI2OEMyMkQyRkJGOUJGRDlBNDZGQ0FCRDc5RTc0MjNB 268C22D2FBF9BFD9A46FCABD79E7423A
-0C2651AB5D430123729B336E8635E0E0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/ENodeBFunction=20  20      {"mcc": "02", "mnc": "456", "mncLength": "3"}   urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UkVBTElTRURfQlk6UGh5c2ljYWxOZXR3b3JrQXBwbGlhbmNlOjNCMDJGNUExQzY5NDcwRTkxODM0NDMyNzYxQ0FFQkZC 3B02F5A1C69470E91834432761CAEBFB
-\.
-
-COPY ties_data."EUtranCell" (id, fdn, "cellId", earfcndl, earfcnul, earfcn, tac, "duplexType", "REL_ENODEBFUNCTION_PROVIDES_EUTRANCELL_EIID", "REL_SECTOR_GROUPS_EUTRANCELL_EIID", "REL_ENODEBFUNCTION_PROVIDES_EUTRANCELL", "REL_SECTOR_GROUPS_EUTRANCELL") FROM stdin;
-12AE3AAB332B7CBA75F5B61A3E11D9D7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=1       1       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6RVV0cmFuQ2VsbDoxMkFFM0FBQjMzMkI3Q0JBNzVGNUI2MUEzRTExRDlENw==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjEyQUUzQUFCMzMyQjdDQkE3NUY1QjYxQTNFMTFEOUQ3     8EFAD2F305499DCD360040BD6F57B54E        2F445AA5744FA3D230FD6838531F1407
-21212B52246A87F922337659491424E2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=2       2       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6RVV0cmFuQ2VsbDoyMTIxMkI1MjI0NkE4N0Y5MjIzMzc2NTk0OTE0MjRFMg==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjIxMjEyQjUyMjQ2QTg3RjkyMjMzNzY1OTQ5MTQyNEUy     8EFAD2F305499DCD360040BD6F57B54E        2F445AA5744FA3D230FD6838531F1407
-C9DD733A18BC9CA66EAE0AA5688EE685       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=3       3       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6RVV0cmFuQ2VsbDpDOURENzMzQTE4QkM5Q0E2NkVBRTBBQTU2ODhFRTY4NQ==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOkM5REQ3MzNBMThCQzlDQTY2RUFFMEFBNTY4OEVFNjg1     8EFAD2F305499DCD360040BD6F57B54E        2F445AA5744FA3D230FD6838531F1407
-63E88935744D6C3EB59EFE02CDABC063       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=4       4       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6RVV0cmFuQ2VsbDo2M0U4ODkzNTc0NEQ2QzNFQjU5RUZFMDJDREFCQzA2Mw==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjYzRTg4OTM1NzQ0RDZDM0VCNTlFRkUwMkNEQUJDMDYz     8EFAD2F305499DCD360040BD6F57B54E        2F445AA5744FA3D230FD6838531F1407
-59A2204924C4C1601A19AC8847D302E8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=5       5       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6RVV0cmFuQ2VsbDo1OUEyMjA0OTI0QzRDMTYwMUExOUFDODg0N0QzMDJFOA==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjU5QTIyMDQ5MjRDNEMxNjAxQTE5QUM4ODQ3RDMwMkU4     C6694F03768AF9EE83DC293C10473076        2F445AA5744FA3D230FD6838531F1407
-8926691599892761C9FF8CF3F325068E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=6       6       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6RVV0cmFuQ2VsbDo4OTI2NjkxNTk5ODkyNzYxQzlGRjhDRjNGMzI1MDY4RQ==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjg5MjY2OTE1OTk4OTI3NjFDOUZGOENGM0YzMjUwNjhF     C6694F03768AF9EE83DC293C10473076        2F445AA5744FA3D230FD6838531F1407
-689B6BBFDD5B426FEDA6B1CE46F8B893       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=7       7       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6RVV0cmFuQ2VsbDo2ODlCNkJCRkRENUI0MjZGRURBNkIxQ0U0NkY4Qjg5Mw==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjY4OUI2QkJGREQ1QjQyNkZFREE2QjFDRTQ2RjhCODkz     C6694F03768AF9EE83DC293C10473076        2F445AA5744FA3D230FD6838531F1407
-A275D1706536A77D7ABA6BA2A3C56DFE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=8       8       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6RVV0cmFuQ2VsbDpBMjc1RDE3MDY1MzZBNzdEN0FCQTZCQTJBM0M1NkRGRQ==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOkEyNzVEMTcwNjUzNkE3N0Q3QUJBNkJBMkEzQzU2REZF     C6694F03768AF9EE83DC293C10473076        2F445AA5744FA3D230FD6838531F1407
-08ABC73D86C5B8380BBC5B524CCEC862       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=9       9       456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6RVV0cmFuQ2VsbDowOEFCQzczRDg2QzVCODM4MEJCQzVCNTI0Q0NFQzg2Mg==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjA4QUJDNzNEODZDNUI4MzgwQkJDNUI1MjRDQ0VDODYy     54D62577A2B3ED373FA47BBD89A67473        2F445AA5744FA3D230FD6838531F1407
-B611F63DE77FC5C333A17EC047E5EF43       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=10      10      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6RVV0cmFuQ2VsbDpCNjExRjYzREU3N0ZDNUMzMzNBMTdFQzA0N0U1RUY0Mw==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOkI2MTFGNjNERTc3RkM1QzMzM0ExN0VDMDQ3RTVFRjQz     54D62577A2B3ED373FA47BBD89A67473        2F445AA5744FA3D230FD6838531F1407
-CF8344F795B13350050E52C83B97DCB9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=11      11      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6RVV0cmFuQ2VsbDpDRjgzNDRGNzk1QjEzMzUwMDUwRTUyQzgzQjk3RENCOQ==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOkNGODM0NEY3OTVCMTMzNTAwNTBFNTJDODNCOTdEQ0I5     54D62577A2B3ED373FA47BBD89A67473        2F445AA5744FA3D230FD6838531F1407
-59A2E7E8504125EB8DF3765FAEBAA53B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=12      12      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6RVV0cmFuQ2VsbDo1OUEyRTdFODUwNDEyNUVCOERGMzc2NUZBRUJBQTUzQg==     urn:base64:U2VjdG9yOjJGNDQ1QUE1NzQ0RkEzRDIzMEZENjgzODUzMUYxNDA3OkdST1VQUzpFVXRyYW5DZWxsOjU5QTJFN0U4NTA0MTI1RUI4REYzNzY1RkFFQkFBNTNC     54D62577A2B3ED373FA47BBD89A67473        2F445AA5744FA3D230FD6838531F1407
-DBA83230C0FA71993F8FDD836354223E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=13      13      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6RVV0cmFuQ2VsbDpEQkE4MzIzMEMwRkE3MTk5M0Y4RkREODM2MzU0MjIzRQ==     \N      3B603CD3E74F0F9053DEF063EFAF2012        \N
-E0FECB6B51C69932562B6C194362CC8E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=14      14      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6RVV0cmFuQ2VsbDpFMEZFQ0I2QjUxQzY5OTMyNTYyQjZDMTk0MzYyQ0M4RQ==     \N      3B603CD3E74F0F9053DEF063EFAF2012        \N
-227EC58BE9277A999B66B53E6C616CF8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=15      15      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6RVV0cmFuQ2VsbDoyMjdFQzU4QkU5Mjc3QTk5OUI2NkI1M0U2QzYxNkNGOA==     \N      3B603CD3E74F0F9053DEF063EFAF2012        \N
-A5D220B1DFEA928C17B8BB92DF126488       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=16      16      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6RVV0cmFuQ2VsbDpBNUQyMjBCMURGRUE5MjhDMTdCOEJCOTJERjEyNjQ4OA==     \N      3B603CD3E74F0F9053DEF063EFAF2012        \N
-67FFC7F75A2EF0CAAC8CE70AAF72B105       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=17      17      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6RVV0cmFuQ2VsbDo2N0ZGQzdGNzVBMkVGMENBQUM4Q0U3MEFBRjcyQjEwNQ==     \N      1D9917590E5F75F44DF7EF626592C2C7        \N
-BB1843D2601AE705F34BF12D2A422033       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=18      18      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6RVV0cmFuQ2VsbDpCQjE4NDNEMjYwMUFFNzA1RjM0QkYxMkQyQTQyMjAzMw==     \N      1D9917590E5F75F44DF7EF626592C2C7        \N
-8F6E230CF265F8C5A14792C09A668690       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=19      19      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6RVV0cmFuQ2VsbDo4RjZFMjMwQ0YyNjVGOEM1QTE0NzkyQzA5QTY2ODY5MA==     \N      1D9917590E5F75F44DF7EF626592C2C7        \N
-65A7BB72ABC34E7D2C9D20BD22B03F60       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=20      20      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6RVV0cmFuQ2VsbDo2NUE3QkI3MkFCQzM0RTdEMkM5RDIwQkQyMkIwM0Y2MA==     \N      1D9917590E5F75F44DF7EF626592C2C7        \N
-47518775399CE9F74BA299FC7C033732       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=21      21      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6RVV0cmFuQ2VsbDo0NzUxODc3NTM5OUNFOUY3NEJBMjk5RkM3QzAzMzczMg==     \N      B3B3845E7D8910D6906B5EB41A8E0696        \N
-F4C7D348240B9E2AE1C30DBA8A8225FC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=22      22      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6RVV0cmFuQ2VsbDpGNEM3RDM0ODI0MEI5RTJBRTFDMzBEQkE4QTgyMjVGQw==     \N      B3B3845E7D8910D6906B5EB41A8E0696        \N
-0157056AAD7D700AB74649AD23AB3516       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=23      23      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6RVV0cmFuQ2VsbDowMTU3MDU2QUFEN0Q3MDBBQjc0NjQ5QUQyM0FCMzUxNg==     \N      B3B3845E7D8910D6906B5EB41A8E0696        \N
-B4066E743DCF48F02433A30045B2BD67       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=24      24      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6RVV0cmFuQ2VsbDpCNDA2NkU3NDNEQ0Y0OEYwMjQzM0EzMDA0NUIyQkQ2Nw==     \N      B3B3845E7D8910D6906B5EB41A8E0696        \N
-9481FE5EE7027E8FFC5F6C5054E0458D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=25      25      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6RVV0cmFuQ2VsbDo5NDgxRkU1RUU3MDI3RThGRkM1RjZDNTA1NEUwNDU4RA==     \N      4C8B24AC011A734A5FEBF321C77289AB        \N
-642E1BBE8723AC9C4590F6703EDC44F1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=26      26      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6RVV0cmFuQ2VsbDo2NDJFMUJCRTg3MjNBQzlDNDU5MEY2NzAzRURDNDRGMQ==     \N      4C8B24AC011A734A5FEBF321C77289AB        \N
-123345DFD745627E51F8E140993329B1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=27      27      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6RVV0cmFuQ2VsbDoxMjMzNDVERkQ3NDU2MjdFNTFGOEUxNDA5OTMzMjlCMQ==     \N      4C8B24AC011A734A5FEBF321C77289AB        \N
-204DA5409FF80E9758648DB75A639FB3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=28      28      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6RVV0cmFuQ2VsbDoyMDREQTU0MDlGRjgwRTk3NTg2NDhEQjc1QTYzOUZCMw==     \N      4C8B24AC011A734A5FEBF321C77289AB        \N
-02D627EE69354C3244CF3CE887BE50F3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=29      29      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6RVV0cmFuQ2VsbDowMkQ2MjdFRTY5MzU0QzMyNDRDRjNDRTg4N0JFNTBGMw==     \N      96220B64D4A4C6F6B17DF30B12B841D3        \N
-E7970AA806886DD3DD228D9AD939E8B5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=30      30      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6RVV0cmFuQ2VsbDpFNzk3MEFBODA2ODg2REQzREQyMjhEOUFEOTM5RThCNQ==     \N      96220B64D4A4C6F6B17DF30B12B841D3        \N
-C677054B2AA8339E00BCD230E3785DA3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=31      31      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6RVV0cmFuQ2VsbDpDNjc3MDU0QjJBQTgzMzlFMDBCQ0QyMzBFMzc4NURBMw==     \N      96220B64D4A4C6F6B17DF30B12B841D3        \N
-7FAE51F52ECAC791B2407BDB68B5A7F7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=32      32      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6RVV0cmFuQ2VsbDo3RkFFNTFGNTJFQ0FDNzkxQjI0MDdCREI2OEI1QTdGNw==     \N      96220B64D4A4C6F6B17DF30B12B841D3        \N
-67D200D0CC216063129C7A9E844BF0F0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=33      33      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6RVV0cmFuQ2VsbDo2N0QyMDBEMENDMjE2MDYzMTI5QzdBOUU4NDRCRjBGMA==     \N      4FBA45FB12D28F9106A09E045DE90254        \N
-30B303C19C0C8F057A1D2397105D346E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=34      34      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6RVV0cmFuQ2VsbDozMEIzMDNDMTlDMEM4RjA1N0ExRDIzOTcxMDVEMzQ2RQ==     \N      4FBA45FB12D28F9106A09E045DE90254        \N
-98037769BA85EBE942522D5C4C6CB02F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=35      35      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6RVV0cmFuQ2VsbDo5ODAzNzc2OUJBODVFQkU5NDI1MjJENUM0QzZDQjAyRg==     \N      4FBA45FB12D28F9106A09E045DE90254        \N
-B2C3516887144F66EF3F31F641737DA0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=36      36      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6RVV0cmFuQ2VsbDpCMkMzNTE2ODg3MTQ0RjY2RUYzRjMxRjY0MTczN0RBMA==     \N      4FBA45FB12D28F9106A09E045DE90254        \N
-E312426E3CEA83823D343B265B38818A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=37      37      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6RVV0cmFuQ2VsbDpFMzEyNDI2RTNDRUE4MzgyM0QzNDNCMjY1QjM4ODE4QQ==     \N      222B3B5942A23115B9C1AC2B94AF8548        \N
-A7925E8575009D0F16D185E257879770       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=38      38      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6RVV0cmFuQ2VsbDpBNzkyNUU4NTc1MDA5RDBGMTZEMTg1RTI1Nzg3OTc3MA==     \N      222B3B5942A23115B9C1AC2B94AF8548        \N
-72BC25B5613B9BC530820958F393E90C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=39      39      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6RVV0cmFuQ2VsbDo3MkJDMjVCNTYxM0I5QkM1MzA4MjA5NThGMzkzRTkwQw==     \N      222B3B5942A23115B9C1AC2B94AF8548        \N
-AAF63B5C5CE80B318F4452560C9B5E5B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=40      40      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6RVV0cmFuQ2VsbDpBQUY2M0I1QzVDRTgwQjMxOEY0NDUyNTYwQzlCNUU1Qg==     \N      222B3B5942A23115B9C1AC2B94AF8548        \N
-E0F686B41ABE51CF5C009608A1BB984F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=41      41      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6RVV0cmFuQ2VsbDpFMEY2ODZCNDFBQkU1MUNGNUMwMDk2MDhBMUJCOTg0Rg==     \N      FDB1D1C7AC573BA174781DD2DD7359FE        \N
-0AB0C425E937EE4E7B798798520F1CA3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=42      42      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6RVV0cmFuQ2VsbDowQUIwQzQyNUU5MzdFRTRFN0I3OTg3OTg1MjBGMUNBMw==     \N      FDB1D1C7AC573BA174781DD2DD7359FE        \N
-ABAC1A34D71EAE18E71987C15DED1D71       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=43      43      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6RVV0cmFuQ2VsbDpBQkFDMUEzNEQ3MUVBRTE4RTcxOTg3QzE1REVEMUQ3MQ==     \N      FDB1D1C7AC573BA174781DD2DD7359FE        \N
-BB47B85699CA2CACFF9F2011FA2D6CC2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=44      44      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6RVV0cmFuQ2VsbDpCQjQ3Qjg1Njk5Q0EyQ0FDRkY5RjIwMTFGQTJENkNDMg==     \N      FDB1D1C7AC573BA174781DD2DD7359FE        \N
-FB6CBB0CBBC6F11868B94ED977156677       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=45      45      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6RVV0cmFuQ2VsbDpGQjZDQkIwQ0JCQzZGMTE4NjhCOTRFRDk3NzE1NjY3Nw==     \N      FE3075645E2303A67B9D0BAD3CCB29BC        \N
-04288A9A95188D1F1DD59C90A49D2649       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=46      46      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6RVV0cmFuQ2VsbDowNDI4OEE5QTk1MTg4RDFGMURENTlDOTBBNDlEMjY0OQ==     \N      FE3075645E2303A67B9D0BAD3CCB29BC        \N
-2A6054CCCD7179F09BC118B2818B1ADE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=47      47      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6RVV0cmFuQ2VsbDoyQTYwNTRDQ0NENzE3OUYwOUJDMTE4QjI4MThCMUFERQ==     \N      FE3075645E2303A67B9D0BAD3CCB29BC        \N
-51C5046896461BA89744F75384ABDB93       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=48      48      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6RVV0cmFuQ2VsbDo1MUM1MDQ2ODk2NDYxQkE4OTc0NEY3NTM4NEFCREI5Mw==     \N      FE3075645E2303A67B9D0BAD3CCB29BC        \N
-7C9D2459365CC80BCEC84E4DB9713120       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=49      49      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6RVV0cmFuQ2VsbDo3QzlEMjQ1OTM2NUNDODBCQ0VDODRFNERCOTcxMzEyMA==     \N      CF6B05084CD85A8C0943B77317510652        \N
-9C4358CADC08E56A19E8FEE1C01A706F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=50      50      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6RVV0cmFuQ2VsbDo5QzQzNThDQURDMDhFNTZBMTlFOEZFRTFDMDFBNzA2Rg==     \N      CF6B05084CD85A8C0943B77317510652        \N
-F40242B0F0708E09BB07635BC7505776       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=51      51      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6RVV0cmFuQ2VsbDpGNDAyNDJCMEYwNzA4RTA5QkIwNzYzNUJDNzUwNTc3Ng==     \N      CF6B05084CD85A8C0943B77317510652        \N
-353E445EAFE3FA586D6768F72A2623A4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=52      52      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6RVV0cmFuQ2VsbDozNTNFNDQ1RUFGRTNGQTU4NkQ2NzY4RjcyQTI2MjNBNA==     \N      CF6B05084CD85A8C0943B77317510652        \N
-7DF9374EADA6885BF3CEF2318894608C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=53      53      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6RVV0cmFuQ2VsbDo3REY5Mzc0RUFEQTY4ODVCRjNDRUYyMzE4ODk0NjA4Qw==     \N      8094F5C9E30C346536F0A08A851338F6        \N
-3DA35D49D1D9C51A234035AD3A3FD37E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=54      54      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6RVV0cmFuQ2VsbDozREEzNUQ0OUQxRDlDNTFBMjM0MDM1QUQzQTNGRDM3RQ==     \N      8094F5C9E30C346536F0A08A851338F6        \N
-2A112353EC75F9AC2BA43EE708296A01       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=55      55      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6RVV0cmFuQ2VsbDoyQTExMjM1M0VDNzVGOUFDMkJBNDNFRTcwODI5NkEwMQ==     \N      8094F5C9E30C346536F0A08A851338F6        \N
-139F0AD2D641D97177702FBF5EFF30FE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=56      56      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6RVV0cmFuQ2VsbDoxMzlGMEFEMkQ2NDFEOTcxNzc3MDJGQkY1RUZGMzBGRQ==     \N      8094F5C9E30C346536F0A08A851338F6        \N
-8FF0611DA8F0CD68E3A215AA07CBB20D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=57      57      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6RVV0cmFuQ2VsbDo4RkYwNjExREE4RjBDRDY4RTNBMjE1QUEwN0NCQjIwRA==     \N      E87A72FDF835513E6BACBF730D5BA6C8        \N
-5CAC3487A85DDDD336B1F580FD5F72DD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=58      58      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6RVV0cmFuQ2VsbDo1Q0FDMzQ4N0E4NUREREQzMzZCMUY1ODBGRDVGNzJERA==     \N      E87A72FDF835513E6BACBF730D5BA6C8        \N
-73C0EC78E9DAEE5347D45F10570EC851       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=59      59      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6RVV0cmFuQ2VsbDo3M0MwRUM3OEU5REFFRTUzNDdENDVGMTA1NzBFQzg1MQ==     \N      E87A72FDF835513E6BACBF730D5BA6C8        \N
-98BDDA8B54B7B8927675E77C927D8283       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=60      60      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6RVV0cmFuQ2VsbDo5OEJEREE4QjU0QjdCODkyNzY3NUU3N0M5MjdEODI4Mw==     \N      E87A72FDF835513E6BACBF730D5BA6C8        \N
-71356FCE5C6358DAE8F8BF3F7C9BF014       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=61      61      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6RVV0cmFuQ2VsbDo3MTM1NkZDRTVDNjM1OERBRThGOEJGM0Y3QzlCRjAxNA==     \N      8E99154C3A70826BBD373F06BC1C752B        \N
-E5489E6D6CC07891F541BE41EF37AA63       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=62      62      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6RVV0cmFuQ2VsbDpFNTQ4OUU2RDZDQzA3ODkxRjU0MUJFNDFFRjM3QUE2Mw==     \N      8E99154C3A70826BBD373F06BC1C752B        \N
-D0EA58BE0AC1671B936F15C67DEA8892       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=63      63      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6RVV0cmFuQ2VsbDpEMEVBNThCRTBBQzE2NzFCOTM2RjE1QzY3REVBODg5Mg==     \N      8E99154C3A70826BBD373F06BC1C752B        \N
-9A030D9EDC0C8B04A0C5D24A3A223137       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=64      64      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6RVV0cmFuQ2VsbDo5QTAzMEQ5RURDMEM4QjA0QTBDNUQyNEEzQTIyMzEzNw==     \N      8E99154C3A70826BBD373F06BC1C752B        \N
-566B9566A40AB0CCF1684A8C75D6E8F0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=65      65      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6RVV0cmFuQ2VsbDo1NjZCOTU2NkE0MEFCMENDRjE2ODRBOEM3NUQ2RThGMA==     \N      CEE5D7B02D903A316D0A017C50FC9993        \N
-A5587D51DDB4D1AAF88075EFAFD3FF1A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=66      66      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6RVV0cmFuQ2VsbDpBNTU4N0Q1MUREQjREMUFBRjg4MDc1RUZBRkQzRkYxQQ==     \N      CEE5D7B02D903A316D0A017C50FC9993        \N
-792FC15FA3F55562373FF5B67C8979D9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=67      67      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6RVV0cmFuQ2VsbDo3OTJGQzE1RkEzRjU1NTYyMzczRkY1QjY3Qzg5NzlEOQ==     \N      CEE5D7B02D903A316D0A017C50FC9993        \N
-6FAAB53473F084DC886D1E04265EEAD1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=68      68      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6RVV0cmFuQ2VsbDo2RkFBQjUzNDczRjA4NERDODg2RDFFMDQyNjVFRUFEMQ==     \N      CEE5D7B02D903A316D0A017C50FC9993        \N
-07B3711677085E16F48AED99BEA40966       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=69      69      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6RVV0cmFuQ2VsbDowN0IzNzExNjc3MDg1RTE2RjQ4QUVEOTlCRUE0MDk2Ng==     \N      E240B26BA8EE38087134B6D22E24BBDB        \N
-B95EBE4245801D7185E1D05E5BBDA3F3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=70      70      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6RVV0cmFuQ2VsbDpCOTVFQkU0MjQ1ODAxRDcxODVFMUQwNUU1QkJEQTNGMw==     \N      E240B26BA8EE38087134B6D22E24BBDB        \N
-ABFBE9EA7673A191DB6A51439D5515D5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=71      71      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6RVV0cmFuQ2VsbDpBQkZCRTlFQTc2NzNBMTkxREI2QTUxNDM5RDU1MTVENQ==     \N      E240B26BA8EE38087134B6D22E24BBDB        \N
-62EDC7D4D6A1D361E12FEB2688E43A89       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=72      72      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6RVV0cmFuQ2VsbDo2MkVEQzdENEQ2QTFEMzYxRTEyRkVCMjY4OEU0M0E4OQ==     \N      E240B26BA8EE38087134B6D22E24BBDB        \N
-EE7B5EBAE21343E68AC197150FA2655E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=73      73      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6RVV0cmFuQ2VsbDpFRTdCNUVCQUUyMTM0M0U2OEFDMTk3MTUwRkEyNjU1RQ==     \N      FC195225D4CD060E249281C9BBDAF964        \N
-478CB1731C71BE849B0D82F3208F70CF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=74      74      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6RVV0cmFuQ2VsbDo0NzhDQjE3MzFDNzFCRTg0OUIwRDgyRjMyMDhGNzBDRg==     \N      FC195225D4CD060E249281C9BBDAF964        \N
-5D6F3B494FECE0D7BC46735D63ECA50B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=75      75      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6RVV0cmFuQ2VsbDo1RDZGM0I0OTRGRUNFMEQ3QkM0NjczNUQ2M0VDQTUwQg==     \N      FC195225D4CD060E249281C9BBDAF964        \N
-F818AA36B5E1456B32FB3B90157F15AD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=76      76      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6RVV0cmFuQ2VsbDpGODE4QUEzNkI1RTE0NTZCMzJGQjNCOTAxNTdGMTVBRA==     \N      FC195225D4CD060E249281C9BBDAF964        \N
-8EAABBB2C9D4996C8AD94154903052CC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=77      77      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6RVV0cmFuQ2VsbDo4RUFBQkJCMkM5RDQ5OTZDOEFEOTQxNTQ5MDMwNTJDQw==     \N      0C2651AB5D430123729B336E8635E0E0        \N
-CAC6EF5CC954F7A7F5294A643CD7A160       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=78      78      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6RVV0cmFuQ2VsbDpDQUM2RUY1Q0M5NTRGN0E3RjUyOTRBNjQzQ0Q3QTE2MA==     \N      0C2651AB5D430123729B336E8635E0E0        \N
-1053CE2AEBEE6B32C846C33B07E0B047       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=79      79      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6RVV0cmFuQ2VsbDoxMDUzQ0UyQUVCRUU2QjMyQzg0NkMzM0IwN0UwQjA0Nw==     \N      0C2651AB5D430123729B336E8635E0E0        \N
-803132C8AC37DED60CB9CB9986D9BC3D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/EUtranCell=80      80      456     789     123     1       FDD     urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6RVV0cmFuQ2VsbDo4MDMxMzJDOEFDMzdERUQ2MENCOUNCOTk4NkQ5QkMzRA==     \N      0C2651AB5D430123729B336E8635E0E0        \N
-\.
-
-COPY ties_data."NRCellDU" (id, fdn, "cellLocalId", "nCI", "nRPCI", "nRTAC", "REL_ODUFUNCTION_PROVIDES_NRCELLDU_EIID", "REL_SECTOR_GROUPS_NRCELLDU_EIID", "REL_ODUFUNCTION_PROVIDES_NRCELLDU", "REL_SECTOR_GROUPS_NRCELLDU") FROM stdin;
-98C3A4591A37718E1330F0294E23B62A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=1 1       1       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTo5OEMzQTQ1OTFBMzc3MThFMTMzMEYwMjk0RTIzQjYyQQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTo5OEMzQTQ1OTFBMzc3MThFMTMzMEYwMjk0RTIzQjYyQQ==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-F9546E82313AC1D5E690DCD7BE55606F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=2 2       2       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTpGOTU0NkU4MjMxM0FDMUQ1RTY5MERDRDdCRTU1NjA2Rg== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTpGOTU0NkU4MjMxM0FDMUQ1RTY5MERDRDdCRTU1NjA2Rg==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-B480427E8A0C0B8D994E437784BB382F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=3 3       3       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTpCNDgwNDI3RThBMEMwQjhEOTk0RTQzNzc4NEJCMzgyRg== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTpCNDgwNDI3RThBMEMwQjhEOTk0RTQzNzc4NEJCMzgyRg==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-484B341310A36215155122DE74EAE16A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=4 4       4       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTo0ODRCMzQxMzEwQTM2MjE1MTU1MTIyREU3NEVBRTE2QQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTo0ODRCMzQxMzEwQTM2MjE1MTU1MTIyREU3NEVBRTE2QQ==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-377AA96B4B3A8FE106C9BAF63FE8460B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=5 5       5       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTozNzdBQTk2QjRCM0E4RkUxMDZDOUJBRjYzRkU4NDYwQg== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTozNzdBQTk2QjRCM0E4RkUxMDZDOUJBRjYzRkU4NDYwQg==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-3AF2208A5956F07644D8F3ED7C62BDCF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=6 6       6       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTozQUYyMjA4QTU5NTZGMDc2NDREOEYzRUQ3QzYyQkRDRg== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTozQUYyMjA4QTU5NTZGMDc2NDREOEYzRUQ3QzYyQkRDRg==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-44ABAEE2A77A5FC2C8121B95FFA5626D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=7 7       7       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTo0NEFCQUVFMkE3N0E1RkMyQzgxMjFCOTVGRkE1NjI2RA== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTo0NEFCQUVFMkE3N0E1RkMyQzgxMjFCOTVGRkE1NjI2RA==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-4E40B4CB518D7F6C4B0288A90DB81347       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=8 8       8       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTo0RTQwQjRDQjUxOEQ3RjZDNEIwMjg4QTkwREI4MTM0Nw== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTo0RTQwQjRDQjUxOEQ3RjZDNEIwMjg4QTkwREI4MTM0Nw==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-CF729A0BBC39E5077CB5674206A67359       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=9 9       9       789     456     urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUkNlbGxEVTpDRjcyOUEwQkJDMzlFNTA3N0NCNTY3NDIwNkE2NzM1OQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTpDRjcyOUEwQkJDMzlFNTA3N0NCNTY3NDIwNkE2NzM1OQ==     D3215E08570BE58339C7463626B50E37        F5128C172A70C4FCD4739650B06DE9E2
-FB7A92ED495FE5B08EA1E32353F67608       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=10        10      10      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTpGQjdBOTJFRDQ5NUZFNUIwOEVBMUUzMjM1M0Y2NzYwOA== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTpGQjdBOTJFRDQ5NUZFNUIwOEVBMUUzMjM1M0Y2NzYwOA==     1050570EBB1315E1AE7A9FD5E1400A00        F5128C172A70C4FCD4739650B06DE9E2
-E8065644717ED15F3504B5EE71BB0894       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=11        11      11      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTpFODA2NTY0NDcxN0VEMTVGMzUwNEI1RUU3MUJCMDg5NA== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTpFODA2NTY0NDcxN0VEMTVGMzUwNEI1RUU3MUJCMDg5NA==     1050570EBB1315E1AE7A9FD5E1400A00        F5128C172A70C4FCD4739650B06DE9E2
-4463C3D2F7B388323A82105E854AEA1C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=12        12      12      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTo0NDYzQzNEMkY3QjM4ODMyM0E4MjEwNUU4NTRBRUExQw== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTo0NDYzQzNEMkY3QjM4ODMyM0E4MjEwNUU4NTRBRUExQw==     1050570EBB1315E1AE7A9FD5E1400A00        F5128C172A70C4FCD4739650B06DE9E2
-897C562A5D8EE22746AC4D4804505B69       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=13        13      13      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTo4OTdDNTYyQTVEOEVFMjI3NDZBQzRENDgwNDUwNUI2OQ== urn:base64:U2VjdG9yOkY1MTI4QzE3MkE3MEM0RkNENDczOTY1MEIwNkRFOUUyOkdST1VQUzpOUkNlbGxEVTo4OTdDNTYyQTVEOEVFMjI3NDZBQzRENDgwNDUwNUI2OQ==     1050570EBB1315E1AE7A9FD5E1400A00        F5128C172A70C4FCD4739650B06DE9E2
-84E7155DAD6793A5EBFFE72449F7749B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=14        14      14      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTo4NEU3MTU1REFENjc5M0E1RUJGRkU3MjQ0OUY3NzQ5Qg== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo4NEU3MTU1REFENjc5M0E1RUJGRkU3MjQ0OUY3NzQ5Qg==     1050570EBB1315E1AE7A9FD5E1400A00        ADB1BAAC878C0BEEFE3175C60F44BB1D
-0646A41A30151B59BC1D91073C162257       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=15        15      15      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTowNjQ2QTQxQTMwMTUxQjU5QkMxRDkxMDczQzE2MjI1Nw== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTowNjQ2QTQxQTMwMTUxQjU5QkMxRDkxMDczQzE2MjI1Nw==     1050570EBB1315E1AE7A9FD5E1400A00        ADB1BAAC878C0BEEFE3175C60F44BB1D
-45627D636D7A45357F6F23661BA77C85       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=16        16      16      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTo0NTYyN0Q2MzZEN0E0NTM1N0Y2RjIzNjYxQkE3N0M4NQ== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo0NTYyN0Q2MzZEN0E0NTM1N0Y2RjIzNjYxQkE3N0M4NQ==     1050570EBB1315E1AE7A9FD5E1400A00        ADB1BAAC878C0BEEFE3175C60F44BB1D
-D21CDF704760EE66CC67AC8C5585C4FC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=17        17      17      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTpEMjFDREY3MDQ3NjBFRTY2Q0M2N0FDOEM1NTg1QzRGQw== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTpEMjFDREY3MDQ3NjBFRTY2Q0M2N0FDOEM1NTg1QzRGQw==     1050570EBB1315E1AE7A9FD5E1400A00        ADB1BAAC878C0BEEFE3175C60F44BB1D
-8219CA8C4641376B06FE4067FEE8CDB4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=18        18      18      789     456     urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUkNlbGxEVTo4MjE5Q0E4QzQ2NDEzNzZCMDZGRTQwNjdGRUU4Q0RCNA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo4MjE5Q0E4QzQ2NDEzNzZCMDZGRTQwNjdGRUU4Q0RCNA==     1050570EBB1315E1AE7A9FD5E1400A00        ADB1BAAC878C0BEEFE3175C60F44BB1D
-5B3CC81B3284D3F665F03A477439FA98       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=19        19      19      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTo1QjNDQzgxQjMyODREM0Y2NjVGMDNBNDc3NDM5RkE5OA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo1QjNDQzgxQjMyODREM0Y2NjVGMDNBNDc3NDM5RkE5OA==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-C1944A262081F82A98CF050FEE41B8FF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=20        20      20      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTpDMTk0NEEyNjIwODFGODJBOThDRjA1MEZFRTQxQjhGRg== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTpDMTk0NEEyNjIwODFGODJBOThDRjA1MEZFRTQxQjhGRg==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-4BA799C33CDAA2C9F386060631E2FD2A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=21        21      21      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTo0QkE3OTlDMzNDREFBMkM5RjM4NjA2MDYzMUUyRkQyQQ== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo0QkE3OTlDMzNDREFBMkM5RjM4NjA2MDYzMUUyRkQyQQ==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-F73AACF2BA432B687DFD62C47C9DFF1A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=22        22      22      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTpGNzNBQUNGMkJBNDMyQjY4N0RGRDYyQzQ3QzlERkYxQQ== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTpGNzNBQUNGMkJBNDMyQjY4N0RGRDYyQzQ3QzlERkYxQQ==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-51D49922CA6CCD2CE451D96BA224011F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=23        23      23      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTo1MUQ0OTkyMkNBNkNDRDJDRTQ1MUQ5NkJBMjI0MDExRg== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo1MUQ0OTkyMkNBNkNDRDJDRTQ1MUQ5NkJBMjI0MDExRg==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-D042DE2D38F8FFE70D7387020215B254       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=24        24      24      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTpEMDQyREUyRDM4RjhGRkU3MEQ3Mzg3MDIwMjE1QjI1NA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTpEMDQyREUyRDM4RjhGRkU3MEQ3Mzg3MDIwMjE1QjI1NA==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-15E91C33BA99354EDF0A667B5CAF81A5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=25        25      25      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVToxNUU5MUMzM0JBOTkzNTRFREYwQTY2N0I1Q0FGODFBNQ== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVToxNUU5MUMzM0JBOTkzNTRFREYwQTY2N0I1Q0FGODFBNQ==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-9ED010B29BD97379B4739B6C0F318874       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=26        26      26      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTo5RUQwMTBCMjlCRDk3Mzc5QjQ3MzlCNkMwRjMxODg3NA== urn:base64:U2VjdG9yOkFEQjFCQUFDODc4QzBCRUVGRTMxNzVDNjBGNDRCQjFEOkdST1VQUzpOUkNlbGxEVTo5RUQwMTBCMjlCRDk3Mzc5QjQ3MzlCNkMwRjMxODg3NA==     B6A6DE7D0965F02D48ECA86706A4454F        ADB1BAAC878C0BEEFE3175C60F44BB1D
-4D0F5CC361F2187DFBA4E243F489EC0E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=27        27      27      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUkNlbGxEVTo0RDBGNUNDMzYxRjIxODdERkJBNEUyNDNGNDg5RUMwRQ== \N      B6A6DE7D0965F02D48ECA86706A4454F        \N
-36C251FB23A570A67C499D28F87DA94F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=28        28      28      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTozNkMyNTFGQjIzQTU3MEE2N0M0OTlEMjhGODdEQTk0Rg== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-EC786A721A064FA26BE40BE173FB92E1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=29        29      29      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTpFQzc4NkE3MjFBMDY0RkEyNkJFNDBCRTE3M0ZCOTJFMQ== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-CC6ED6DFD42AEBDE8A1F805D307622A9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=30        30      30      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTpDQzZFRDZERkQ0MkFFQkRFOEExRjgwNUQzMDc2MjJBOQ== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-C35F4A46EDE95D1BC57919C1ABA0A150       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=31        31      31      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTpDMzVGNEE0NkVERTk1RDFCQzU3OTE5QzFBQkEwQTE1MA== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-BC62404392D968AEEAFA290B6E029596       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=32        32      32      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTpCQzYyNDA0MzkyRDk2OEFFRUFGQTI5MEI2RTAyOTU5Ng== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-549AE94A5E8B74CD745AEF5648B8C524       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=33        33      33      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTo1NDlBRTk0QTVFOEI3NENENzQ1QUVGNTY0OEI4QzUyNA== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-148EB92D8802E953FF26CFD174B6D804       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=34        34      34      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVToxNDhFQjkyRDg4MDJFOTUzRkYyNkNGRDE3NEI2RDgwNA== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-4B1EE73EBD46801582B2FFA52130524F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=35        35      35      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTo0QjFFRTczRUJENDY4MDE1ODJCMkZGQTUyMTMwNTI0Rg== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-7467CEF2AC0808F3595444C7D31A1710       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=36        36      36      789     456     urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUkNlbGxEVTo3NDY3Q0VGMkFDMDgwOEYzNTk1NDQ0QzdEMzFBMTcxMA== \N      E5FD5ACD55C553A92738477ECB0465B9        \N
-49C8683059F38F7B681FF2730585F9A6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=37        37      37      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTo0OUM4NjgzMDU5RjM4RjdCNjgxRkYyNzMwNTg1RjlBNg== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-D3A0FDDC22E129C2EB7B0A5E7808CB7E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=38        38      38      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTpEM0EwRkREQzIyRTEyOUMyRUI3QjBBNUU3ODA4Q0I3RQ== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-EADFD2FF3B24BBA15103F3126C4E295D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=39        39      39      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTpFQURGRDJGRjNCMjRCQkExNTEwM0YzMTI2QzRFMjk1RA== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-72D427F5AFE7E0AB659128B4231319B4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=40        40      40      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTo3MkQ0MjdGNUFGRTdFMEFCNjU5MTI4QjQyMzEzMTlCNA== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-DE349A28FFB8BECC3957977273562130       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=41        41      41      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTpERTM0OUEyOEZGQjhCRUNDMzk1Nzk3NzI3MzU2MjEzMA== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-9A85559FD10DE19E39A83039C0AF12CD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=42        42      42      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTo5QTg1NTU5RkQxMERFMTlFMzlBODMwMzlDMEFGMTJDRA== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-476681437D680D90CF3B78E7114F7F21       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=43        43      43      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTo0NzY2ODE0MzdENjgwRDkwQ0YzQjc4RTcxMTRGN0YyMQ== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-1EF356E23A0069D6A97AD89E0D6C05F9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=44        44      44      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVToxRUYzNTZFMjNBMDA2OUQ2QTk3QUQ4OUUwRDZDMDVGOQ== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-60786DD5B89F405CA3F843E5DD2EACA6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=45        45      45      789     456     urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUkNlbGxEVTo2MDc4NkRENUI4OUY0MDVDQTNGODQzRTVERDJFQUNBNg== \N      25E690E22BDA90B9C4FEE1F083CBA597        \N
-F0F4E7335E15540F2784665D1A49AA6B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=46        46      46      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTpGMEY0RTczMzVFMTU1NDBGMjc4NDY2NUQxQTQ5QUE2Qg== \N      5A3085C3400C3096E2ED2321452766B1        \N
-58D99C6CAD0E027632C5CC2FA5C38DB4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=47        47      47      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTo1OEQ5OUM2Q0FEMEUwMjc2MzJDNUNDMkZBNUMzOERCNA== \N      5A3085C3400C3096E2ED2321452766B1        \N
-ECEC664641994704CE6A4222AA30EE78       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=48        48      48      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTpFQ0VDNjY0NjQxOTk0NzA0Q0U2QTQyMjJBQTMwRUU3OA== \N      5A3085C3400C3096E2ED2321452766B1        \N
-61C9A3B5E24424F3C21E7E702F81CC92       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=49        49      49      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTo2MUM5QTNCNUUyNDQyNEYzQzIxRTdFNzAyRjgxQ0M5Mg== \N      5A3085C3400C3096E2ED2321452766B1        \N
-340F170071D78ACA3F4E53ACEE1F2F49       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=50        50      50      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTozNDBGMTcwMDcxRDc4QUNBM0Y0RTUzQUNFRTFGMkY0OQ== \N      5A3085C3400C3096E2ED2321452766B1        \N
-32521953AA2555BCCF671FC6544F458A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=51        51      51      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTozMjUyMTk1M0FBMjU1NUJDQ0Y2NzFGQzY1NDRGNDU4QQ== \N      5A3085C3400C3096E2ED2321452766B1        \N
-7D6A4D058B4D77DA39FCDC2FC9A1B78A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=52        52      52      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTo3RDZBNEQwNThCNEQ3N0RBMzlGQ0RDMkZDOUExQjc4QQ== \N      5A3085C3400C3096E2ED2321452766B1        \N
-27F7577BCF08CE3B4F1A4011FCEE693C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=53        53      53      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVToyN0Y3NTc3QkNGMDhDRTNCNEYxQTQwMTFGQ0VFNjkzQw== \N      5A3085C3400C3096E2ED2321452766B1        \N
-0327C7F2BFB386B9C91C8F93C70F4B0F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=54        54      54      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUkNlbGxEVTowMzI3QzdGMkJGQjM4NkI5QzkxQzhGOTNDNzBGNEIwRg== \N      5A3085C3400C3096E2ED2321452766B1        \N
-4279A85A76CBB256E0E4C2BBCB78FBCB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=55        55      55      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTo0Mjc5QTg1QTc2Q0JCMjU2RTBFNEMyQkJDQjc4RkJDQg== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-22CC2F77BC0D1758E4AC90D0844EB0FA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=56        56      56      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVToyMkNDMkY3N0JDMEQxNzU4RTRBQzkwRDA4NDRFQjBGQQ== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-EBAE96C402742B4BCBA0608ADC23251A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=57        57      57      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTpFQkFFOTZDNDAyNzQyQjRCQ0JBMDYwOEFEQzIzMjUxQQ== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-B04ED4054FF124E46081CE5968B17CB9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=58        58      58      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTpCMDRFRDQwNTRGRjEyNEU0NjA4MUNFNTk2OEIxN0NCOQ== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-8EC217D228BA9175A2E73358665B5D3E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=59        59      59      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTo4RUMyMTdEMjI4QkE5MTc1QTJFNzMzNTg2NjVCNUQzRQ== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-7C9707B1EAD31687D56DFA08A7656386       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=60        60      60      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTo3Qzk3MDdCMUVBRDMxNjg3RDU2REZBMDhBNzY1NjM4Ng== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-023FC45AF540AFCA3205D846D07C048B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=61        61      61      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTowMjNGQzQ1QUY1NDBBRkNBMzIwNUQ4NDZEMDdDMDQ4Qg== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-B46558EDB1CB27186BE31D3FA54856F0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=62        62      62      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTpCNDY1NThFREIxQ0IyNzE4NkJFMzFEM0ZBNTQ4NTZGMA== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-C5CD42EF608CB93F4AEF0E47329DF417       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=63        63      63      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUkNlbGxEVTpDNUNENDJFRjYwOENCOTNGNEFFRjBFNDczMjlERjQxNw== \N      7F16F93D8816D9EBC76E52BB44A3CFF5        \N
-DA492DA1559FC7595D07DFF53ADD38AD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=64        64      64      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTpEQTQ5MkRBMTU1OUZDNzU5NUQwN0RGRjUzQUREMzhBRA== \N      5A548EA9D166341776CA0695837E55D8        \N
-8E794C3E1EEE6EF8B69C268E06553C91       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=65        65      65      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTo4RTc5NEMzRTFFRUU2RUY4QjY5QzI2OEUwNjU1M0M5MQ== \N      5A548EA9D166341776CA0695837E55D8        \N
-C2E0B9113CEAC91DF5E182B431D56788       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=66        66      66      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTpDMkUwQjkxMTNDRUFDOTFERjVFMTgyQjQzMUQ1Njc4OA== \N      5A548EA9D166341776CA0695837E55D8        \N
-8EB7BACB085F1AAC02E18EBA694AD9D9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=67        67      67      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTo4RUI3QkFDQjA4NUYxQUFDMDJFMThFQkE2OTRBRDlEOQ== \N      5A548EA9D166341776CA0695837E55D8        \N
-ECF0C7C7BDFFE39B32637C39924DA147       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=68        68      68      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTpFQ0YwQzdDN0JERkZFMzlCMzI2MzdDMzk5MjREQTE0Nw== \N      5A548EA9D166341776CA0695837E55D8        \N
-E3816013E378E928377433098CC4C49F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=69        69      69      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTpFMzgxNjAxM0UzNzhFOTI4Mzc3NDMzMDk4Q0M0QzQ5Rg== \N      5A548EA9D166341776CA0695837E55D8        \N
-CEC39AC620ED13978F78C8022E21CF9E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=70        70      70      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTpDRUMzOUFDNjIwRUQxMzk3OEY3OEM4MDIyRTIxQ0Y5RQ== \N      5A548EA9D166341776CA0695837E55D8        \N
-373721F85AC9339C517C8895C29FF62A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=71        71      71      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTozNzM3MjFGODVBQzkzMzlDNTE3Qzg4OTVDMjlGRjYyQQ== \N      5A548EA9D166341776CA0695837E55D8        \N
-07691B8D5DF7CB773B63599D118E3EFB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=72        72      72      789     456     urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUkNlbGxEVTowNzY5MUI4RDVERjdDQjc3M0I2MzU5OUQxMThFM0VGQg== \N      5A548EA9D166341776CA0695837E55D8        \N
-138CE3B21C8053675E0EBDC41C36E99D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=73        73      73      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVToxMzhDRTNCMjFDODA1MzY3NUUwRUJEQzQxQzM2RTk5RA== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-1F702800D1F7359958283DBCB45C0DD0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=74        74      74      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVToxRjcwMjgwMEQxRjczNTk5NTgyODNEQkNCNDVDMEREMA== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-0CE3320E6B41FC23B6B0FA4FD2103B2C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=75        75      75      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVTowQ0UzMzIwRTZCNDFGQzIzQjZCMEZBNEZEMjEwM0IyQw== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-92120D5EE5C0885D7E50860BD055A1EE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=76        76      76      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVTo5MjEyMEQ1RUU1QzA4ODVEN0U1MDg2MEJEMDU1QTFFRQ== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-D705554E98103411B005D2E3B4F42C87       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=77        77      77      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVTpENzA1NTU0RTk4MTAzNDExQjAwNUQyRTNCNEY0MkM4Nw== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-462EF46AA1C7641A8510C7C61D60C8B1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=78        78      78      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVTo0NjJFRjQ2QUExQzc2NDFBODUxMEM3QzYxRDYwQzhCMQ== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-26825D9CAA91BAC389DEBDF3572EF408       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=79        79      79      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVToyNjgyNUQ5Q0FBOTFCQUMzODlERUJERjM1NzJFRjQwOA== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-33F82DE9186F1539D2ED98818F41A0C2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=80        80      80      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVTozM0Y4MkRFOTE4NkYxNTM5RDJFRDk4ODE4RjQxQTBDMg== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-40175AF00A522213BA60537519A71978       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=81        81      81      789     456     urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUkNlbGxEVTo0MDE3NUFGMDBBNTIyMjEzQkE2MDUzNzUxOUE3MTk3OA== \N      7D80E5C6E0C9EC246370E86B7E524F8C        \N
-EA86088454B7491FB3BEFDDCA5FE097D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=82        82      82      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVTpFQTg2MDg4NDU0Qjc0OTFGQjNCRUZERENBNUZFMDk3RA== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-9BC6998B88BA4C1081CD5F211681C9CF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=83        83      83      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVTo5QkM2OTk4Qjg4QkE0QzEwODFDRDVGMjExNjgxQzlDRg== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-8377ECA137FF018C9716C0587F617182       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=84        84      84      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVTo4Mzc3RUNBMTM3RkYwMThDOTcxNkMwNTg3RjYxNzE4Mg== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-15890EF6D2196D9E21D70BDCE2AA3A77       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=85        85      85      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVToxNTg5MEVGNkQyMTk2RDlFMjFENzBCRENFMkFBM0E3Nw== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-F60F5BD54FA9842979790B4BBF80B8D9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=86        86      86      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVTpGNjBGNUJENTRGQTk4NDI5Nzk3OTBCNEJCRjgwQjhEOQ== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-2642586085120058DF59670F33FA5098       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=87        87      87      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVToyNjQyNTg2MDg1MTIwMDU4REY1OTY3MEYzM0ZBNTA5OA== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-A39C73D2879D86EF4184B605C0AE016F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=88        88      88      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVTpBMzlDNzNEMjg3OUQ4NkVGNDE4NEI2MDVDMEFFMDE2Rg== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-EEC85A7F76017260F9721B65A144D18E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=89        89      89      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVTpFRUM4NUE3Rjc2MDE3MjYwRjk3MjFCNjVBMTQ0RDE4RQ== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-1D825881F378E0735378D40BDECAC3EC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=90        90      90      789     456     urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUkNlbGxEVToxRDgyNTg4MUYzNzhFMDczNTM3OEQ0MEJERUNBQzNFQw== \N      BBB3C42A4F8AC94091B297DF708DD50B        \N
-76E9F605D4F37330BF0B505E94F64F11       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=91        91      91      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTo3NkU5RjYwNUQ0RjM3MzMwQkYwQjUwNUU5NEY2NEYxMQ== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-67A1BDA10B5AF43028D07C7BE5CB1AE2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=92        92      92      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTo2N0ExQkRBMTBCNUFGNDMwMjhEMDdDN0JFNUNCMUFFMg== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-B3B0A1939EFCA654A37005B6A7F24BD7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=93        93      93      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTpCM0IwQTE5MzlFRkNBNjU0QTM3MDA1QjZBN0YyNEJENw== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-F26F279E91D0941DB4F646E707EA403A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=94        94      94      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTpGMjZGMjc5RTkxRDA5NDFEQjRGNjQ2RTcwN0VBNDAzQQ== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-24379146FE349FBF04BA3B3018077214       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=95        95      95      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVToyNDM3OTE0NkZFMzQ5RkJGMDRCQTNCMzAxODA3NzIxNA== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-5E7EA1D6380C21D2C024524C2A198A5A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=96        96      96      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTo1RTdFQTFENjM4MEMyMUQyQzAyNDUyNEMyQTE5OEE1QQ== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-5DC3A11A69D8CDB175FC9D49D9E0E720       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=97        97      97      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTo1REMzQTExQTY5RDhDREIxNzVGQzlENDlEOUUwRTcyMA== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-9840AC1566774545CBD7FD44015EFFA5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=98        98      98      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTo5ODQwQUMxNTY2Nzc0NTQ1Q0JEN0ZENDQwMTVFRkZBNQ== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-F4531C31205F28BC8830CAD7A7C2FDA1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRCellDU=99        99      99      789     456     urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUkNlbGxEVTpGNDUzMUMzMTIwNUYyOEJDODgzMENBRDdBN0MyRkRBMQ== \N      4CFF136200A2DE36205A13559C55DB2A        \N
-\.
-
-COPY ties_data."LTESectorCarrier" (id, fdn, "essScLocalId", "sectorCarrierType", "REL_EUTRANCELL_USES_LTESECTORCARRIER_EIID", "REL_LTESECTORCARRIER_USES_ANTENNACAPABILITY_EIID", "REL_ENODEBFUNCTION_PROVIDES_LTESECTORCARRIER_EIID", "REL_EUTRANCELL_USES_LTESECTORCARRIER", "REL_LTESECTORCARRIER_USES_ANTENNACAPABILITY", "REL_ENODEBFUNCTION_PROVIDES_LTESECTORCARRIER") FROM stdin;
-6A71D2FA97A7798E13AE68DF144C18D2       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=1 1       MO      urn:base64:RVV0cmFuQ2VsbDoxMkFFM0FBQjMzMkI3Q0JBNzVGNUI2MUEzRTExRDlENzpVU0VTOkxURVNlY3RvckNhcnJpZXI6NkE3MUQyRkE5N0E3Nzk4RTEzQUU2OERGMTQ0QzE4RDI= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo2QTcxRDJGQTk3QTc3OThFMTNBRTY4REYxNDRDMThEMjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjA0MjczRkM2NDQzNkRBNTIzODY1Q0Y4NDlFNUY3Q0M5 urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo2QTcxRDJGQTk3QTc3OThFMTNBRTY4REYxNDRDMThEMg==     12AE3AAB332B7CBA75F5B61A3E11D9D7        04273FC64436DA523865CF849E5F7CC9        8EFAD2F305499DCD360040BD6F57B54E
-96FEEADB8F638A1D4BE56258CBC7F670       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=2 2       MO      urn:base64:RVV0cmFuQ2VsbDoyMTIxMkI1MjI0NkE4N0Y5MjIzMzc2NTk0OTE0MjRFMjpVU0VTOkxURVNlY3RvckNhcnJpZXI6OTZGRUVBREI4RjYzOEExRDRCRTU2MjU4Q0JDN0Y2NzA= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5NkZFRUFEQjhGNjM4QTFENEJFNTYyNThDQkM3RjY3MDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkQ1QjkwOTBFM0I2QTEwREJEQzI0M0VEMTRFRjI5NEJG urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5NkZFRUFEQjhGNjM4QTFENEJFNTYyNThDQkM3RjY3MA==     21212B52246A87F922337659491424E2        D5B9090E3B6A10DBDC243ED14EF294BF        8EFAD2F305499DCD360040BD6F57B54E
-78C2DACF26B995F7F6E14A1224A3814E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=3 3       MO      urn:base64:RVV0cmFuQ2VsbDpDOURENzMzQTE4QkM5Q0E2NkVBRTBBQTU2ODhFRTY4NTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NzhDMkRBQ0YyNkI5OTVGN0Y2RTE0QTEyMjRBMzgxNEU= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3OEMyREFDRjI2Qjk5NUY3RjZFMTRBMTIyNEEzODE0RTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjAyNDQzREUwODA3RDgwMUQ2NjE0OTVEOUVGQjhEODM2 urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3OEMyREFDRjI2Qjk5NUY3RjZFMTRBMTIyNEEzODE0RQ==     C9DD733A18BC9CA66EAE0AA5688EE685        02443DE0807D801D661495D9EFB8D836        8EFAD2F305499DCD360040BD6F57B54E
-936106877FE31C47ACF2782952735A99       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=4 4       MO      urn:base64:RVV0cmFuQ2VsbDo2M0U4ODkzNTc0NEQ2QzNFQjU5RUZFMDJDREFCQzA2MzpVU0VTOkxURVNlY3RvckNhcnJpZXI6OTM2MTA2ODc3RkUzMUM0N0FDRjI3ODI5NTI3MzVBOTk= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5MzYxMDY4NzdGRTMxQzQ3QUNGMjc4Mjk1MjczNUE5OTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkM2ODIzRDJCN0FGQTA2NENFNzc0Nzk1RTAxRDYyMjhC urn:base64:RU5vZGVCRnVuY3Rpb246OEVGQUQyRjMwNTQ5OURDRDM2MDA0MEJENkY1N0I1NEU6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5MzYxMDY4NzdGRTMxQzQ3QUNGMjc4Mjk1MjczNUE5OQ==     63E88935744D6C3EB59EFE02CDABC063        C6823D2B7AFA064CE774795E01D6228B        8EFAD2F305499DCD360040BD6F57B54E
-ED4FCDD3318288DDB2614193E2EDFE63       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=5 5       MO      urn:base64:RVV0cmFuQ2VsbDo1OUEyMjA0OTI0QzRDMTYwMUExOUFDODg0N0QzMDJFODpVU0VTOkxURVNlY3RvckNhcnJpZXI6RUQ0RkNERDMzMTgyODhEREIyNjE0MTkzRTJFREZFNjM= urn:base64:TFRFU2VjdG9yQ2FycmllcjpFRDRGQ0REMzMxODI4OEREQjI2MTQxOTNFMkVERkU2MzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkRGMjZBRTQ0MjExMERCMDI4MURBRDQ1NDU0MzZCNzIw urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpFRDRGQ0REMzMxODI4OEREQjI2MTQxOTNFMkVERkU2Mw==     59A2204924C4C1601A19AC8847D302E8        DF26AE442110DB0281DAD4545436B720        C6694F03768AF9EE83DC293C10473076
-BED58D11C363D2CB5FD962657C57B202       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=6 6       MO      urn:base64:RVV0cmFuQ2VsbDo4OTI2NjkxNTk5ODkyNzYxQzlGRjhDRjNGMzI1MDY4RTpVU0VTOkxURVNlY3RvckNhcnJpZXI6QkVENThEMTFDMzYzRDJDQjVGRDk2MjY1N0M1N0IyMDI= urn:base64:TFRFU2VjdG9yQ2FycmllcjpCRUQ1OEQxMUMzNjNEMkNCNUZEOTYyNjU3QzU3QjIwMjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjdBMUM2RkU5MzUxMDA4QjNENTM5MTY2RDk0MjIyNzYy urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpCRUQ1OEQxMUMzNjNEMkNCNUZEOTYyNjU3QzU3QjIwMg==     8926691599892761C9FF8CF3F325068E        7A1C6FE9351008B3D539166D94222762        C6694F03768AF9EE83DC293C10473076
-D3C3BA1DB89377D7662B27F6F9D2C882       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=7 7       MO      urn:base64:RVV0cmFuQ2VsbDo2ODlCNkJCRkRENUI0MjZGRURBNkIxQ0U0NkY4Qjg5MzpVU0VTOkxURVNlY3RvckNhcnJpZXI6RDNDM0JBMURCODkzNzdENzY2MkIyN0Y2RjlEMkM4ODI= urn:base64:TFRFU2VjdG9yQ2FycmllcjpEM0MzQkExREI4OTM3N0Q3NjYyQjI3RjZGOUQyQzg4MjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjcwQTFGMTI5RTEwRUU3RDMxREZFMUUxQUE2Qzc0MzdE urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpEM0MzQkExREI4OTM3N0Q3NjYyQjI3RjZGOUQyQzg4Mg==     689B6BBFDD5B426FEDA6B1CE46F8B893        70A1F129E10EE7D31DFE1E1AA6C7437D        C6694F03768AF9EE83DC293C10473076
-422374EAB41474FDE8CFB932B2422802       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=8 8       MO      urn:base64:RVV0cmFuQ2VsbDpBMjc1RDE3MDY1MzZBNzdEN0FCQTZCQTJBM0M1NkRGRTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NDIyMzc0RUFCNDE0NzRGREU4Q0ZCOTMyQjI0MjI4MDI= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo0MjIzNzRFQUI0MTQ3NEZERThDRkI5MzJCMjQyMjgwMjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjdERTkxQzc4RjhEQ0U0MjkyRjJGMEMzQjM0REVBQ0FC urn:base64:RU5vZGVCRnVuY3Rpb246QzY2OTRGMDM3NjhBRjlFRTgzREMyOTNDMTA0NzMwNzY6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo0MjIzNzRFQUI0MTQ3NEZERThDRkI5MzJCMjQyMjgwMg==     A275D1706536A77D7ABA6BA2A3C56DFE        7DE91C78F8DCE4292F2F0C3B34DEACAB        C6694F03768AF9EE83DC293C10473076
-DDB43D4A95BA11C5FDF3D19514F628BD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=9 9       MO      urn:base64:RVV0cmFuQ2VsbDowOEFCQzczRDg2QzVCODM4MEJCQzVCNTI0Q0NFQzg2MjpVU0VTOkxURVNlY3RvckNhcnJpZXI6RERCNDNENEE5NUJBMTFDNUZERjNEMTk1MTRGNjI4QkQ= urn:base64:TFRFU2VjdG9yQ2FycmllcjpEREI0M0Q0QTk1QkExMUM1RkRGM0QxOTUxNEY2MjhCRDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjE0NUExQkY1NjFEQjI5N0YyNUZEM0YxMjQxN0QyQTUw urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpEREI0M0Q0QTk1QkExMUM1RkRGM0QxOTUxNEY2MjhCRA==     08ABC73D86C5B8380BBC5B524CCEC862        145A1BF561DB297F25FD3F12417D2A50        54D62577A2B3ED373FA47BBD89A67473
-BE8FD2B159EE7D5D47EFE8A2FD4313C8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=10        10      MO      urn:base64:RVV0cmFuQ2VsbDpCNjExRjYzREU3N0ZDNUMzMzNBMTdFQzA0N0U1RUY0MzpVU0VTOkxURVNlY3RvckNhcnJpZXI6QkU4RkQyQjE1OUVFN0Q1RDQ3RUZFOEEyRkQ0MzEzQzg= urn:base64:TFRFU2VjdG9yQ2FycmllcjpCRThGRDJCMTU5RUU3RDVENDdFRkU4QTJGRDQzMTNDODpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjkxODhEOTc1RDgzN0ExRTAzOTcxNjdBMjNFNzIxQjBD urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpCRThGRDJCMTU5RUU3RDVENDdFRkU4QTJGRDQzMTNDOA==     B611F63DE77FC5C333A17EC047E5EF43        9188D975D837A1E0397167A23E721B0C        54D62577A2B3ED373FA47BBD89A67473
-BAE5942A7A4B6C49AB04C0ABC064EB28       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=11        11      MO      urn:base64:RVV0cmFuQ2VsbDpDRjgzNDRGNzk1QjEzMzUwMDUwRTUyQzgzQjk3RENCOTpVU0VTOkxURVNlY3RvckNhcnJpZXI6QkFFNTk0MkE3QTRCNkM0OUFCMDRDMEFCQzA2NEVCMjg= urn:base64:TFRFU2VjdG9yQ2FycmllcjpCQUU1OTQyQTdBNEI2QzQ5QUIwNEMwQUJDMDY0RUIyODpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkQzMTREQURBRkEzRDg5NjQ0NUU3OEVCQ0MxNUExNkY3 urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpCQUU1OTQyQTdBNEI2QzQ5QUIwNEMwQUJDMDY0RUIyOA==     CF8344F795B13350050E52C83B97DCB9        D314DADAFA3D896445E78EBCC15A16F7        54D62577A2B3ED373FA47BBD89A67473
-7D75F65DCEE7745E5E89EA5CBC8A477D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=12        12      MO      urn:base64:RVV0cmFuQ2VsbDo1OUEyRTdFODUwNDEyNUVCOERGMzc2NUZBRUJBQTUzQjpVU0VTOkxURVNlY3RvckNhcnJpZXI6N0Q3NUY2NURDRUU3NzQ1RTVFODlFQTVDQkM4QTQ3N0Q= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3RDc1RjY1RENFRTc3NDVFNUU4OUVBNUNCQzhBNDc3RDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjI4QUQzRUU4NDQ3NjZERjUwOEY2Mjg3Q0QxQ0UxOEE0 urn:base64:RU5vZGVCRnVuY3Rpb246NTRENjI1NzdBMkIzRUQzNzNGQTQ3QkJEODlBNjc0NzM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3RDc1RjY1RENFRTc3NDVFNUU4OUVBNUNCQzhBNDc3RA==     59A2E7E8504125EB8DF3765FAEBAA53B        28AD3EE844766DF508F6287CD1CE18A4        54D62577A2B3ED373FA47BBD89A67473
-E8BF5D975B6ECED3AC3C1E7DFAF569D6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=13        13      MO      urn:base64:RVV0cmFuQ2VsbDpEQkE4MzIzMEMwRkE3MTk5M0Y4RkREODM2MzU0MjIzRTpVU0VTOkxURVNlY3RvckNhcnJpZXI6RThCRjVEOTc1QjZFQ0VEM0FDM0MxRTdERkFGNTY5RDY= urn:base64:TFRFU2VjdG9yQ2FycmllcjpFOEJGNUQ5NzVCNkVDRUQzQUMzQzFFN0RGQUY1NjlENjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkMzOThENkM2NzMyNjdBMDgxQzc4MUQ4NDQzOEY0Qjc0 urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpFOEJGNUQ5NzVCNkVDRUQzQUMzQzFFN0RGQUY1NjlENg==     DBA83230C0FA71993F8FDD836354223E        C398D6C673267A081C781D84438F4B74        3B603CD3E74F0F9053DEF063EFAF2012
-72AF5544AF527B2DADD2BCE04BF7504C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=14        14      MO      urn:base64:RVV0cmFuQ2VsbDpFMEZFQ0I2QjUxQzY5OTMyNTYyQjZDMTk0MzYyQ0M4RTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NzJBRjU1NDRBRjUyN0IyREFERDJCQ0UwNEJGNzUwNEM= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3MkFGNTU0NEFGNTI3QjJEQUREMkJDRTA0QkY3NTA0QzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjBCREFENUREQzE5QTY5NjI0NDUzNjQyMUU2RDI2RkUz urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3MkFGNTU0NEFGNTI3QjJEQUREMkJDRTA0QkY3NTA0Qw==     E0FECB6B51C69932562B6C194362CC8E        0BDAD5DDC19A696244536421E6D26FE3        3B603CD3E74F0F9053DEF063EFAF2012
-7A84CA220F5912B668B9902A82422847       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=15        15      MO      urn:base64:RVV0cmFuQ2VsbDoyMjdFQzU4QkU5Mjc3QTk5OUI2NkI1M0U2QzYxNkNGODpVU0VTOkxURVNlY3RvckNhcnJpZXI6N0E4NENBMjIwRjU5MTJCNjY4Qjk5MDJBODI0MjI4NDc= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3QTg0Q0EyMjBGNTkxMkI2NjhCOTkwMkE4MjQyMjg0NzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjQ5MjA1ODgxQzkxMjFGMjA4QkQ3OTE0OUZBNzk5ODc3 urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3QTg0Q0EyMjBGNTkxMkI2NjhCOTkwMkE4MjQyMjg0Nw==     227EC58BE9277A999B66B53E6C616CF8        49205881C9121F208BD79149FA799877        3B603CD3E74F0F9053DEF063EFAF2012
-11DE95BBE63D51804C165BE428C562FC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=16        16      MO      urn:base64:RVV0cmFuQ2VsbDpBNUQyMjBCMURGRUE5MjhDMTdCOEJCOTJERjEyNjQ4ODpVU0VTOkxURVNlY3RvckNhcnJpZXI6MTFERTk1QkJFNjNENTE4MDRDMTY1QkU0MjhDNTYyRkM= urn:base64:TFRFU2VjdG9yQ2FycmllcjoxMURFOTVCQkU2M0Q1MTgwNEMxNjVCRTQyOEM1NjJGQzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkEzMkRCOUUyNzhGQzFERTQxRkI0QTNCNTBGODAyNjUw urn:base64:RU5vZGVCRnVuY3Rpb246M0I2MDNDRDNFNzRGMEY5MDUzREVGMDYzRUZBRjIwMTI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoxMURFOTVCQkU2M0Q1MTgwNEMxNjVCRTQyOEM1NjJGQw==     A5D220B1DFEA928C17B8BB92DF126488        A32DB9E278FC1DE41FB4A3B50F802650        3B603CD3E74F0F9053DEF063EFAF2012
-40B28B706B0288149A3366C8EA774C41       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=17        17      MO      urn:base64:RVV0cmFuQ2VsbDo2N0ZGQzdGNzVBMkVGMENBQUM4Q0U3MEFBRjcyQjEwNTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NDBCMjhCNzA2QjAyODgxNDlBMzM2NkM4RUE3NzRDNDE= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo0MEIyOEI3MDZCMDI4ODE0OUEzMzY2QzhFQTc3NEM0MTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkJERTM4MUJBQ0M2NzI5MEU0NDdCQzAxNzdFMDM4QUVC urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo0MEIyOEI3MDZCMDI4ODE0OUEzMzY2QzhFQTc3NEM0MQ==     67FFC7F75A2EF0CAAC8CE70AAF72B105        BDE381BACC67290E447BC0177E038AEB        1D9917590E5F75F44DF7EF626592C2C7
-CA4AFE762559AE791A12FDC893E9AE9C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=18        18      MO      urn:base64:RVV0cmFuQ2VsbDpCQjE4NDNEMjYwMUFFNzA1RjM0QkYxMkQyQTQyMjAzMzpVU0VTOkxURVNlY3RvckNhcnJpZXI6Q0E0QUZFNzYyNTU5QUU3OTFBMTJGREM4OTNFOUFFOUM= urn:base64:TFRFU2VjdG9yQ2FycmllcjpDQTRBRkU3NjI1NTlBRTc5MUExMkZEQzg5M0U5QUU5QzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkI0QkM0RDFCMTNFQjY1MTY5MEYzMTk1RTYyMkNDNEJE urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpDQTRBRkU3NjI1NTlBRTc5MUExMkZEQzg5M0U5QUU5Qw==     BB1843D2601AE705F34BF12D2A422033        B4BC4D1B13EB651690F3195E622CC4BD        1D9917590E5F75F44DF7EF626592C2C7
-7F10AA7C396CDE4F86B47D48B2E13D72       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=19        19      MO      urn:base64:RVV0cmFuQ2VsbDo4RjZFMjMwQ0YyNjVGOEM1QTE0NzkyQzA5QTY2ODY5MDpVU0VTOkxURVNlY3RvckNhcnJpZXI6N0YxMEFBN0MzOTZDREU0Rjg2QjQ3RDQ4QjJFMTNENzI= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3RjEwQUE3QzM5NkNERTRGODZCNDdENDhCMkUxM0Q3MjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjMyRUUzODVFQUNEMjZBMDA0NkJBRDVDQzg0OTA1RUNC urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3RjEwQUE3QzM5NkNERTRGODZCNDdENDhCMkUxM0Q3Mg==     8F6E230CF265F8C5A14792C09A668690        32EE385EACD26A0046BAD5CC84905ECB        1D9917590E5F75F44DF7EF626592C2C7
-88572A3196793B103445E4ACE68AEA49       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=20        20      MO      urn:base64:RVV0cmFuQ2VsbDo2NUE3QkI3MkFCQzM0RTdEMkM5RDIwQkQyMkIwM0Y2MDpVU0VTOkxURVNlY3RvckNhcnJpZXI6ODg1NzJBMzE5Njc5M0IxMDM0NDVFNEFDRTY4QUVBNDk= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo4ODU3MkEzMTk2NzkzQjEwMzQ0NUU0QUNFNjhBRUE0OTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjQzQjYzMTA2QjI3RkIwNUM2MTg0MDBFRTVBRTkxNjM3 urn:base64:RU5vZGVCRnVuY3Rpb246MUQ5OTE3NTkwRTVGNzVGNDRERjdFRjYyNjU5MkMyQzc6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo4ODU3MkEzMTk2NzkzQjEwMzQ0NUU0QUNFNjhBRUE0OQ==     65A7BB72ABC34E7D2C9D20BD22B03F60        43B63106B27FB05C618400EE5AE91637        1D9917590E5F75F44DF7EF626592C2C7
-CEE3234BB6A7A468B503C964448FD72B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=21        21      MO      urn:base64:RVV0cmFuQ2VsbDo0NzUxODc3NTM5OUNFOUY3NEJBMjk5RkM3QzAzMzczMjpVU0VTOkxURVNlY3RvckNhcnJpZXI6Q0VFMzIzNEJCNkE3QTQ2OEI1MDNDOTY0NDQ4RkQ3MkI= urn:base64:TFRFU2VjdG9yQ2FycmllcjpDRUUzMjM0QkI2QTdBNDY4QjUwM0M5NjQ0NDhGRDcyQjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkM4MTNFMTg2NTdDMkM1ODM3QTNGMjM3QkFENTU3OTQ0 urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpDRUUzMjM0QkI2QTdBNDY4QjUwM0M5NjQ0NDhGRDcyQg==     47518775399CE9F74BA299FC7C033732        C813E18657C2C5837A3F237BAD557944        B3B3845E7D8910D6906B5EB41A8E0696
-77671BA896E46F12644F64A3696AACED       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=22        22      MO      urn:base64:RVV0cmFuQ2VsbDpGNEM3RDM0ODI0MEI5RTJBRTFDMzBEQkE4QTgyMjVGQzpVU0VTOkxURVNlY3RvckNhcnJpZXI6Nzc2NzFCQTg5NkU0NkYxMjY0NEY2NEEzNjk2QUFDRUQ= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3NzY3MUJBODk2RTQ2RjEyNjQ0RjY0QTM2OTZBQUNFRDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjQ2MkRDQ0RFQTVBMjg5MkI4Qzg2MzA3MjQ2NzlCNjc2 urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3NzY3MUJBODk2RTQ2RjEyNjQ0RjY0QTM2OTZBQUNFRA==     F4C7D348240B9E2AE1C30DBA8A8225FC        462DCCDEA5A2892B8C8630724679B676        B3B3845E7D8910D6906B5EB41A8E0696
-D5ECCA0DC8E6539EEF5E3E80F2440FF8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=23        23      MO      urn:base64:RVV0cmFuQ2VsbDowMTU3MDU2QUFEN0Q3MDBBQjc0NjQ5QUQyM0FCMzUxNjpVU0VTOkxURVNlY3RvckNhcnJpZXI6RDVFQ0NBMERDOEU2NTM5RUVGNUUzRTgwRjI0NDBGRjg= urn:base64:TFRFU2VjdG9yQ2FycmllcjpENUVDQ0EwREM4RTY1MzlFRUY1RTNFODBGMjQ0MEZGODpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkY2RDBGRjIwNjlGMDM4RkY2NEQwNzJDODE4REQ5QkZE urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpENUVDQ0EwREM4RTY1MzlFRUY1RTNFODBGMjQ0MEZGOA==     0157056AAD7D700AB74649AD23AB3516        F6D0FF2069F038FF64D072C818DD9BFD        B3B3845E7D8910D6906B5EB41A8E0696
-F909E803B0F36A260820BDB8F9DED641       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=24        24      MO      urn:base64:RVV0cmFuQ2VsbDpCNDA2NkU3NDNEQ0Y0OEYwMjQzM0EzMDA0NUIyQkQ2NzpVU0VTOkxURVNlY3RvckNhcnJpZXI6RjkwOUU4MDNCMEYzNkEyNjA4MjBCREI4RjlERUQ2NDE= urn:base64:TFRFU2VjdG9yQ2FycmllcjpGOTA5RTgwM0IwRjM2QTI2MDgyMEJEQjhGOURFRDY0MTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkM1QzU5ODUxMUM3NTE0MDYxRTg2REEyNEY4REIzNTlE urn:base64:RU5vZGVCRnVuY3Rpb246QjNCMzg0NUU3RDg5MTBENjkwNkI1RUI0MUE4RTA2OTY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpGOTA5RTgwM0IwRjM2QTI2MDgyMEJEQjhGOURFRDY0MQ==     B4066E743DCF48F02433A30045B2BD67        C5C598511C7514061E86DA24F8DB359D        B3B3845E7D8910D6906B5EB41A8E0696
-7B6CED12C445EBC5402060C76AABD35E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=25        25      MO      urn:base64:RVV0cmFuQ2VsbDo5NDgxRkU1RUU3MDI3RThGRkM1RjZDNTA1NEUwNDU4RDpVU0VTOkxURVNlY3RvckNhcnJpZXI6N0I2Q0VEMTJDNDQ1RUJDNTQwMjA2MEM3NkFBQkQzNUU= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3QjZDRUQxMkM0NDVFQkM1NDAyMDYwQzc2QUFCRDM1RTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjEzODc2RkVDRUVERjQ1QUU0RENBOEMzOTNFNDc4MjM3 urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3QjZDRUQxMkM0NDVFQkM1NDAyMDYwQzc2QUFCRDM1RQ==     9481FE5EE7027E8FFC5F6C5054E0458D        13876FECEEDF45AE4DCA8C393E478237        4C8B24AC011A734A5FEBF321C77289AB
-A7755961EE174E532DDBEA5572858CDA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=26        26      MO      urn:base64:RVV0cmFuQ2VsbDo2NDJFMUJCRTg3MjNBQzlDNDU5MEY2NzAzRURDNDRGMTpVU0VTOkxURVNlY3RvckNhcnJpZXI6QTc3NTU5NjFFRTE3NEU1MzJEREJFQTU1NzI4NThDREE= urn:base64:TFRFU2VjdG9yQ2FycmllcjpBNzc1NTk2MUVFMTc0RTUzMkREQkVBNTU3Mjg1OENEQTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjAwODMzOTAzODkxRDA3RDA2MjhFMDNGRjQ0NjNBMTRB urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpBNzc1NTk2MUVFMTc0RTUzMkREQkVBNTU3Mjg1OENEQQ==     642E1BBE8723AC9C4590F6703EDC44F1        00833903891D07D0628E03FF4463A14A        4C8B24AC011A734A5FEBF321C77289AB
-F4A7A456CCCA0DEF8CB045E219B5AE17       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=27        27      MO      urn:base64:RVV0cmFuQ2VsbDoxMjMzNDVERkQ3NDU2MjdFNTFGOEUxNDA5OTMzMjlCMTpVU0VTOkxURVNlY3RvckNhcnJpZXI6RjRBN0E0NTZDQ0NBMERFRjhDQjA0NUUyMTlCNUFFMTc= urn:base64:TFRFU2VjdG9yQ2FycmllcjpGNEE3QTQ1NkNDQ0EwREVGOENCMDQ1RTIxOUI1QUUxNzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkM0QTI4M0VFRkQ1RjE0NjNCN0VFMENBNzgyNDA5REZC urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpGNEE3QTQ1NkNDQ0EwREVGOENCMDQ1RTIxOUI1QUUxNw==     123345DFD745627E51F8E140993329B1        C4A283EEFD5F1463B7EE0CA782409DFB        4C8B24AC011A734A5FEBF321C77289AB
-186269ADB75707F93FD6960BB47E8B52       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=28        28      MO      urn:base64:RVV0cmFuQ2VsbDoyMDREQTU0MDlGRjgwRTk3NTg2NDhEQjc1QTYzOUZCMzpVU0VTOkxURVNlY3RvckNhcnJpZXI6MTg2MjY5QURCNzU3MDdGOTNGRDY5NjBCQjQ3RThCNTI= urn:base64:TFRFU2VjdG9yQ2FycmllcjoxODYyNjlBREI3NTcwN0Y5M0ZENjk2MEJCNDdFOEI1MjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkFGRkVBRjFEMEYyRDMwNTI0QzQ5QkE4NkQ1MkYzOUVF urn:base64:RU5vZGVCRnVuY3Rpb246NEM4QjI0QUMwMTFBNzM0QTVGRUJGMzIxQzc3Mjg5QUI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoxODYyNjlBREI3NTcwN0Y5M0ZENjk2MEJCNDdFOEI1Mg==     204DA5409FF80E9758648DB75A639FB3        AFFEAF1D0F2D30524C49BA86D52F39EE        4C8B24AC011A734A5FEBF321C77289AB
-51FACE199A356B553FD949E28EA80899       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=29        29      MO      urn:base64:RVV0cmFuQ2VsbDowMkQ2MjdFRTY5MzU0QzMyNDRDRjNDRTg4N0JFNTBGMzpVU0VTOkxURVNlY3RvckNhcnJpZXI6NTFGQUNFMTk5QTM1NkI1NTNGRDk0OUUyOEVBODA4OTk= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo1MUZBQ0UxOTlBMzU2QjU1M0ZEOTQ5RTI4RUE4MDg5OTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkUyQTEzQ0Y1NkMwRTE4N0M2MkZGOTcxNkJCMEZDRUQ2 urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo1MUZBQ0UxOTlBMzU2QjU1M0ZEOTQ5RTI4RUE4MDg5OQ==     02D627EE69354C3244CF3CE887BE50F3        E2A13CF56C0E187C62FF9716BB0FCED6        96220B64D4A4C6F6B17DF30B12B841D3
-0A70F059568E5C79D8476781A019354F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=30        30      MO      urn:base64:RVV0cmFuQ2VsbDpFNzk3MEFBODA2ODg2REQzREQyMjhEOUFEOTM5RThCNTpVU0VTOkxURVNlY3RvckNhcnJpZXI6MEE3MEYwNTk1NjhFNUM3OUQ4NDc2NzgxQTAxOTM1NEY= urn:base64:TFRFU2VjdG9yQ2FycmllcjowQTcwRjA1OTU2OEU1Qzc5RDg0NzY3ODFBMDE5MzU0RjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkUzRTFGQjMxRkI1RjRGQjFDQTgwODAzNjQ3NEJERDk1 urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjowQTcwRjA1OTU2OEU1Qzc5RDg0NzY3ODFBMDE5MzU0Rg==     E7970AA806886DD3DD228D9AD939E8B5        E3E1FB31FB5F4FB1CA808036474BDD95        96220B64D4A4C6F6B17DF30B12B841D3
-D9DF1EDA6D0EB2BED37D785171CB5BBA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=31        31      MO      urn:base64:RVV0cmFuQ2VsbDpDNjc3MDU0QjJBQTgzMzlFMDBCQ0QyMzBFMzc4NURBMzpVU0VTOkxURVNlY3RvckNhcnJpZXI6RDlERjFFREE2RDBFQjJCRUQzN0Q3ODUxNzFDQjVCQkE= urn:base64:TFRFU2VjdG9yQ2FycmllcjpEOURGMUVEQTZEMEVCMkJFRDM3RDc4NTE3MUNCNUJCQTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjU3NjlDMDI2RDc5OTNDNjY2QzQ1NTM1RUREOEMzRUFE urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpEOURGMUVEQTZEMEVCMkJFRDM3RDc4NTE3MUNCNUJCQQ==     C677054B2AA8339E00BCD230E3785DA3        5769C026D7993C666C45535EDD8C3EAD        96220B64D4A4C6F6B17DF30B12B841D3
-9E8083A413565C5DE5B5535AA31B085C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=32        32      MO      urn:base64:RVV0cmFuQ2VsbDo3RkFFNTFGNTJFQ0FDNzkxQjI0MDdCREI2OEI1QTdGNzpVU0VTOkxURVNlY3RvckNhcnJpZXI6OUU4MDgzQTQxMzU2NUM1REU1QjU1MzVBQTMxQjA4NUM= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5RTgwODNBNDEzNTY1QzVERTVCNTUzNUFBMzFCMDg1QzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjJBMzI0NzVFRjRGNEFCNDE5MDRCNUFBQUE4RkYyQ0Ex urn:base64:RU5vZGVCRnVuY3Rpb246OTYyMjBCNjRENEE0QzZGNkIxN0RGMzBCMTJCODQxRDM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5RTgwODNBNDEzNTY1QzVERTVCNTUzNUFBMzFCMDg1Qw==     7FAE51F52ECAC791B2407BDB68B5A7F7        2A32475EF4F4AB41904B5AAAA8FF2CA1        96220B64D4A4C6F6B17DF30B12B841D3
-6B521DED56A52F90CFF76052044EC486       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=33        33      MO      urn:base64:RVV0cmFuQ2VsbDo2N0QyMDBEMENDMjE2MDYzMTI5QzdBOUU4NDRCRjBGMDpVU0VTOkxURVNlY3RvckNhcnJpZXI6NkI1MjFERUQ1NkE1MkY5MENGRjc2MDUyMDQ0RUM0ODY= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo2QjUyMURFRDU2QTUyRjkwQ0ZGNzYwNTIwNDRFQzQ4NjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkVCMTMwMUJBMjJFMDY5MTExNEEyMzQ0NTMyM0I2NDlC urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo2QjUyMURFRDU2QTUyRjkwQ0ZGNzYwNTIwNDRFQzQ4Ng==     67D200D0CC216063129C7A9E844BF0F0        EB1301BA22E0691114A23445323B649B        4FBA45FB12D28F9106A09E045DE90254
-97BEC990400A914D9032932447582A39       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=34        34      MO      urn:base64:RVV0cmFuQ2VsbDozMEIzMDNDMTlDMEM4RjA1N0ExRDIzOTcxMDVEMzQ2RTpVU0VTOkxURVNlY3RvckNhcnJpZXI6OTdCRUM5OTA0MDBBOTE0RDkwMzI5MzI0NDc1ODJBMzk= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5N0JFQzk5MDQwMEE5MTREOTAzMjkzMjQ0NzU4MkEzOTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjI4NUE3NTkwQ0VDMEJDNDZGMEMxQThBM0QxQUEyQkE1 urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5N0JFQzk5MDQwMEE5MTREOTAzMjkzMjQ0NzU4MkEzOQ==     30B303C19C0C8F057A1D2397105D346E        285A7590CEC0BC46F0C1A8A3D1AA2BA5        4FBA45FB12D28F9106A09E045DE90254
-EB4BBFA85B1D9A9EE8F7D406FC8BD444       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=35        35      MO      urn:base64:RVV0cmFuQ2VsbDo5ODAzNzc2OUJBODVFQkU5NDI1MjJENUM0QzZDQjAyRjpVU0VTOkxURVNlY3RvckNhcnJpZXI6RUI0QkJGQTg1QjFEOUE5RUU4RjdENDA2RkM4QkQ0NDQ= urn:base64:TFRFU2VjdG9yQ2FycmllcjpFQjRCQkZBODVCMUQ5QTlFRThGN0Q0MDZGQzhCRDQ0NDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkM2MDZBRjFBMUFDNUE5NkE0M0IwQjhFQkZDMUIwNDdD urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpFQjRCQkZBODVCMUQ5QTlFRThGN0Q0MDZGQzhCRDQ0NA==     98037769BA85EBE942522D5C4C6CB02F        C606AF1A1AC5A96A43B0B8EBFC1B047C        4FBA45FB12D28F9106A09E045DE90254
-7C0D0AF440C912BE5BD10DE4F5587270       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=36        36      MO      urn:base64:RVV0cmFuQ2VsbDpCMkMzNTE2ODg3MTQ0RjY2RUYzRjMxRjY0MTczN0RBMDpVU0VTOkxURVNlY3RvckNhcnJpZXI6N0MwRDBBRjQ0MEM5MTJCRTVCRDEwREU0RjU1ODcyNzA= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3QzBEMEFGNDQwQzkxMkJFNUJEMTBERTRGNTU4NzI3MDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjQwRkI1NDgxNDAyRENFOEFENkIzQjAzNTdCMDBDRjgy urn:base64:RU5vZGVCRnVuY3Rpb246NEZCQTQ1RkIxMkQyOEY5MTA2QTA5RTA0NURFOTAyNTQ6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3QzBEMEFGNDQwQzkxMkJFNUJEMTBERTRGNTU4NzI3MA==     B2C3516887144F66EF3F31F641737DA0        40FB5481402DCE8AD6B3B0357B00CF82        4FBA45FB12D28F9106A09E045DE90254
-E024800BB0240D7DB418E03DAF763FC9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=37        37      MO      urn:base64:RVV0cmFuQ2VsbDpFMzEyNDI2RTNDRUE4MzgyM0QzNDNCMjY1QjM4ODE4QTpVU0VTOkxURVNlY3RvckNhcnJpZXI6RTAyNDgwMEJCMDI0MEQ3REI0MThFMDNEQUY3NjNGQzk= urn:base64:TFRFU2VjdG9yQ2FycmllcjpFMDI0ODAwQkIwMjQwRDdEQjQxOEUwM0RBRjc2M0ZDOTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkZEOEYzREU4QjhBRjJGRDEwMkYzOUQwRUQ4OUIzNzE0 urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpFMDI0ODAwQkIwMjQwRDdEQjQxOEUwM0RBRjc2M0ZDOQ==     E312426E3CEA83823D343B265B38818A        FD8F3DE8B8AF2FD102F39D0ED89B3714        222B3B5942A23115B9C1AC2B94AF8548
-3D9825BBFDDA56F41FA800A56C052E2E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=38        38      MO      urn:base64:RVV0cmFuQ2VsbDpBNzkyNUU4NTc1MDA5RDBGMTZEMTg1RTI1Nzg3OTc3MDpVU0VTOkxURVNlY3RvckNhcnJpZXI6M0Q5ODI1QkJGRERBNTZGNDFGQTgwMEE1NkMwNTJFMkU= urn:base64:TFRFU2VjdG9yQ2FycmllcjozRDk4MjVCQkZEREE1NkY0MUZBODAwQTU2QzA1MkUyRTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjVDRUEyNDcwRDk5QThBMkJCM0VEOTBCQzE1REIxMTQw urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjozRDk4MjVCQkZEREE1NkY0MUZBODAwQTU2QzA1MkUyRQ==     A7925E8575009D0F16D185E257879770        5CEA2470D99A8A2BB3ED90BC15DB1140        222B3B5942A23115B9C1AC2B94AF8548
-8B44859EE12633357CA3E9A5C8395FF0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=39        39      MO      urn:base64:RVV0cmFuQ2VsbDo3MkJDMjVCNTYxM0I5QkM1MzA4MjA5NThGMzkzRTkwQzpVU0VTOkxURVNlY3RvckNhcnJpZXI6OEI0NDg1OUVFMTI2MzMzNTdDQTNFOUE1QzgzOTVGRjA= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo4QjQ0ODU5RUUxMjYzMzM1N0NBM0U5QTVDODM5NUZGMDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjZBMjNBOEI4QjVBQ0VBNzc1RDZFOThCQUMxNTM0Mzcz urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo4QjQ0ODU5RUUxMjYzMzM1N0NBM0U5QTVDODM5NUZGMA==     72BC25B5613B9BC530820958F393E90C        6A23A8B8B5ACEA775D6E98BAC1534373        222B3B5942A23115B9C1AC2B94AF8548
-B73523501090D7CE4D8EF71252D4F52D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=40        40      MO      urn:base64:RVV0cmFuQ2VsbDpBQUY2M0I1QzVDRTgwQjMxOEY0NDUyNTYwQzlCNUU1QjpVU0VTOkxURVNlY3RvckNhcnJpZXI6QjczNTIzNTAxMDkwRDdDRTREOEVGNzEyNTJENEY1MkQ= urn:base64:TFRFU2VjdG9yQ2FycmllcjpCNzM1MjM1MDEwOTBEN0NFNEQ4RUY3MTI1MkQ0RjUyRDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjFEMjczRkRENDU2MThDQkQ0MzhEMDA4Mzg3MzMxNEQ1 urn:base64:RU5vZGVCRnVuY3Rpb246MjIyQjNCNTk0MkEyMzExNUI5QzFBQzJCOTRBRjg1NDg6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpCNzM1MjM1MDEwOTBEN0NFNEQ4RUY3MTI1MkQ0RjUyRA==     AAF63B5C5CE80B318F4452560C9B5E5B        1D273FDD45618CBD438D0083873314D5        222B3B5942A23115B9C1AC2B94AF8548
-FE5BB2828B02BDC7FC82D2F0738F5CE5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=41        41      MO      urn:base64:RVV0cmFuQ2VsbDpFMEY2ODZCNDFBQkU1MUNGNUMwMDk2MDhBMUJCOTg0RjpVU0VTOkxURVNlY3RvckNhcnJpZXI6RkU1QkIyODI4QjAyQkRDN0ZDODJEMkYwNzM4RjVDRTU= urn:base64:TFRFU2VjdG9yQ2FycmllcjpGRTVCQjI4MjhCMDJCREM3RkM4MkQyRjA3MzhGNUNFNTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkUwN0Y3NkVFRkEzRjZEMUE1MDgzQzk5RjNEMjAyQ0NE urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpGRTVCQjI4MjhCMDJCREM3RkM4MkQyRjA3MzhGNUNFNQ==     E0F686B41ABE51CF5C009608A1BB984F        E07F76EEFA3F6D1A5083C99F3D202CCD        FDB1D1C7AC573BA174781DD2DD7359FE
-0D019FB9076AA61D73956DAF4D98913F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=42        42      MO      urn:base64:RVV0cmFuQ2VsbDowQUIwQzQyNUU5MzdFRTRFN0I3OTg3OTg1MjBGMUNBMzpVU0VTOkxURVNlY3RvckNhcnJpZXI6MEQwMTlGQjkwNzZBQTYxRDczOTU2REFGNEQ5ODkxM0Y= urn:base64:TFRFU2VjdG9yQ2FycmllcjowRDAxOUZCOTA3NkFBNjFENzM5NTZEQUY0RDk4OTEzRjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjE3MzM4ODc4NUNCNDc2MUIxNTRGNDQ4QUU2MzcyQURD urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjowRDAxOUZCOTA3NkFBNjFENzM5NTZEQUY0RDk4OTEzRg==     0AB0C425E937EE4E7B798798520F1CA3        173388785CB4761B154F448AE6372ADC        FDB1D1C7AC573BA174781DD2DD7359FE
-DAA8B97101D41F3E9D8BF8977250625D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=43        43      MO      urn:base64:RVV0cmFuQ2VsbDpBQkFDMUEzNEQ3MUVBRTE4RTcxOTg3QzE1REVEMUQ3MTpVU0VTOkxURVNlY3RvckNhcnJpZXI6REFBOEI5NzEwMUQ0MUYzRTlEOEJGODk3NzI1MDYyNUQ= urn:base64:TFRFU2VjdG9yQ2FycmllcjpEQUE4Qjk3MTAxRDQxRjNFOUQ4QkY4OTc3MjUwNjI1RDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkFBMTdDRTE1MDRDRDQ1MTIxMjEyNjdDMjIwMzQ2MjBB urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpEQUE4Qjk3MTAxRDQxRjNFOUQ4QkY4OTc3MjUwNjI1RA==     ABAC1A34D71EAE18E71987C15DED1D71        AA17CE1504CD4512121267C22034620A        FDB1D1C7AC573BA174781DD2DD7359FE
-1A777650C4E9B8075977354FDE860824       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=44        44      MO      urn:base64:RVV0cmFuQ2VsbDpCQjQ3Qjg1Njk5Q0EyQ0FDRkY5RjIwMTFGQTJENkNDMjpVU0VTOkxURVNlY3RvckNhcnJpZXI6MUE3Nzc2NTBDNEU5QjgwNzU5NzczNTRGREU4NjA4MjQ= urn:base64:TFRFU2VjdG9yQ2FycmllcjoxQTc3NzY1MEM0RTlCODA3NTk3NzM1NEZERTg2MDgyNDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjU0MkQ1NjJFNzJDODAyNURENTYwRDcxOEZGREUxRDQ1 urn:base64:RU5vZGVCRnVuY3Rpb246RkRCMUQxQzdBQzU3M0JBMTc0NzgxREQyREQ3MzU5RkU6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoxQTc3NzY1MEM0RTlCODA3NTk3NzM1NEZERTg2MDgyNA==     BB47B85699CA2CACFF9F2011FA2D6CC2        542D562E72C8025DD560D718FFDE1D45        FDB1D1C7AC573BA174781DD2DD7359FE
-CA63AD754710B31CCE770A71BBAFA823       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=45        45      MO      urn:base64:RVV0cmFuQ2VsbDpGQjZDQkIwQ0JCQzZGMTE4NjhCOTRFRDk3NzE1NjY3NzpVU0VTOkxURVNlY3RvckNhcnJpZXI6Q0E2M0FENzU0NzEwQjMxQ0NFNzcwQTcxQkJBRkE4MjM= urn:base64:TFRFU2VjdG9yQ2FycmllcjpDQTYzQUQ3NTQ3MTBCMzFDQ0U3NzBBNzFCQkFGQTgyMzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkUzQzk2QkE1RDdDMDc1NUEzMDExRDEyQTMyOTcxQkEx urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpDQTYzQUQ3NTQ3MTBCMzFDQ0U3NzBBNzFCQkFGQTgyMw==     FB6CBB0CBBC6F11868B94ED977156677        E3C96BA5D7C0755A3011D12A32971BA1        FE3075645E2303A67B9D0BAD3CCB29BC
-D686F8AE6CC4C8A588400AB752322CCA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=46        46      MO      urn:base64:RVV0cmFuQ2VsbDowNDI4OEE5QTk1MTg4RDFGMURENTlDOTBBNDlEMjY0OTpVU0VTOkxURVNlY3RvckNhcnJpZXI6RDY4NkY4QUU2Q0M0QzhBNTg4NDAwQUI3NTIzMjJDQ0E= urn:base64:TFRFU2VjdG9yQ2FycmllcjpENjg2RjhBRTZDQzRDOEE1ODg0MDBBQjc1MjMyMkNDQTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkI0QzMzM0VDRDkyQTczNTFBMzhFRTNCQzUxMEI1REE3 urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpENjg2RjhBRTZDQzRDOEE1ODg0MDBBQjc1MjMyMkNDQQ==     04288A9A95188D1F1DD59C90A49D2649        B4C333ECD92A7351A38EE3BC510B5DA7        FE3075645E2303A67B9D0BAD3CCB29BC
-DFE953449C7E184AC614BB9B2625997F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=47        47      MO      urn:base64:RVV0cmFuQ2VsbDoyQTYwNTRDQ0NENzE3OUYwOUJDMTE4QjI4MThCMUFERTpVU0VTOkxURVNlY3RvckNhcnJpZXI6REZFOTUzNDQ5QzdFMTg0QUM2MTRCQjlCMjYyNTk5N0Y= urn:base64:TFRFU2VjdG9yQ2FycmllcjpERkU5NTM0NDlDN0UxODRBQzYxNEJCOUIyNjI1OTk3RjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjZGNzUxMTZCQjI4OUVDRDhFQjFBOTYyNTJGRDhGN0Mw urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpERkU5NTM0NDlDN0UxODRBQzYxNEJCOUIyNjI1OTk3Rg==     2A6054CCCD7179F09BC118B2818B1ADE        6F75116BB289ECD8EB1A96252FD8F7C0        FE3075645E2303A67B9D0BAD3CCB29BC
-89E516889722A65325C1E5428EEC167C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=48        48      MO      urn:base64:RVV0cmFuQ2VsbDo1MUM1MDQ2ODk2NDYxQkE4OTc0NEY3NTM4NEFCREI5MzpVU0VTOkxURVNlY3RvckNhcnJpZXI6ODlFNTE2ODg5NzIyQTY1MzI1QzFFNTQyOEVFQzE2N0M= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo4OUU1MTY4ODk3MjJBNjUzMjVDMUU1NDI4RUVDMTY3QzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjE2Qjg3MDUxMUZBQUYxMTgzRkM5MkU2NDFCMkMzODA0 urn:base64:RU5vZGVCRnVuY3Rpb246RkUzMDc1NjQ1RTIzMDNBNjdCOUQwQkFEM0NDQjI5QkM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo4OUU1MTY4ODk3MjJBNjUzMjVDMUU1NDI4RUVDMTY3Qw==     51C5046896461BA89744F75384ABDB93        16B870511FAAF1183FC92E641B2C3804        FE3075645E2303A67B9D0BAD3CCB29BC
-A7650696F038E8A8D20654C1E88BF765       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=49        49      MO      urn:base64:RVV0cmFuQ2VsbDo3QzlEMjQ1OTM2NUNDODBCQ0VDODRFNERCOTcxMzEyMDpVU0VTOkxURVNlY3RvckNhcnJpZXI6QTc2NTA2OTZGMDM4RThBOEQyMDY1NEMxRTg4QkY3NjU= urn:base64:TFRFU2VjdG9yQ2FycmllcjpBNzY1MDY5NkYwMzhFOEE4RDIwNjU0QzFFODhCRjc2NTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjJDN0FBODA5Q0QxQTkyRkQ3NEVDNDE1MUQ3QzE2QThE urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpBNzY1MDY5NkYwMzhFOEE4RDIwNjU0QzFFODhCRjc2NQ==     7C9D2459365CC80BCEC84E4DB9713120        2C7AA809CD1A92FD74EC4151D7C16A8D        CF6B05084CD85A8C0943B77317510652
-2AAB010B2406F422886BA8BD080DE1F3       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=50        50      MO      urn:base64:RVV0cmFuQ2VsbDo5QzQzNThDQURDMDhFNTZBMTlFOEZFRTFDMDFBNzA2RjpVU0VTOkxURVNlY3RvckNhcnJpZXI6MkFBQjAxMEIyNDA2RjQyMjg4NkJBOEJEMDgwREUxRjM= urn:base64:TFRFU2VjdG9yQ2FycmllcjoyQUFCMDEwQjI0MDZGNDIyODg2QkE4QkQwODBERTFGMzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjJDMjFEMTA2OTQ2MEYzNUZGMzg5NTJGMTA1MERGN0ND urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoyQUFCMDEwQjI0MDZGNDIyODg2QkE4QkQwODBERTFGMw==     9C4358CADC08E56A19E8FEE1C01A706F        2C21D1069460F35FF38952F1050DF7CC        CF6B05084CD85A8C0943B77317510652
-6AB2E20188362ADB23025E6F882690EC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=51        51      MO      urn:base64:RVV0cmFuQ2VsbDpGNDAyNDJCMEYwNzA4RTA5QkIwNzYzNUJDNzUwNTc3NjpVU0VTOkxURVNlY3RvckNhcnJpZXI6NkFCMkUyMDE4ODM2MkFEQjIzMDI1RTZGODgyNjkwRUM= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo2QUIyRTIwMTg4MzYyQURCMjMwMjVFNkY4ODI2OTBFQzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkFBM0VEMEM4MkE5RkU2RDc0MTJCN0M1NThBOTZDREE1 urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo2QUIyRTIwMTg4MzYyQURCMjMwMjVFNkY4ODI2OTBFQw==     F40242B0F0708E09BB07635BC7505776        AA3ED0C82A9FE6D7412B7C558A96CDA5        CF6B05084CD85A8C0943B77317510652
-86CCA39D5D6AD1E1A8FB05ED06738695       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=52        52      MO      urn:base64:RVV0cmFuQ2VsbDozNTNFNDQ1RUFGRTNGQTU4NkQ2NzY4RjcyQTI2MjNBNDpVU0VTOkxURVNlY3RvckNhcnJpZXI6ODZDQ0EzOUQ1RDZBRDFFMUE4RkIwNUVEMDY3Mzg2OTU= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo4NkNDQTM5RDVENkFEMUUxQThGQjA1RUQwNjczODY5NTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkI1RDM2OTA1Qzg3REE2MzY2MTFDMTM3MTU5NzI3Q0VF urn:base64:RU5vZGVCRnVuY3Rpb246Q0Y2QjA1MDg0Q0Q4NUE4QzA5NDNCNzczMTc1MTA2NTI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo4NkNDQTM5RDVENkFEMUUxQThGQjA1RUQwNjczODY5NQ==     353E445EAFE3FA586D6768F72A2623A4        B5D36905C87DA636611C137159727CEE        CF6B05084CD85A8C0943B77317510652
-4FB92C02ABE546943360E18F5447919F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=53        53      MO      urn:base64:RVV0cmFuQ2VsbDo3REY5Mzc0RUFEQTY4ODVCRjNDRUYyMzE4ODk0NjA4QzpVU0VTOkxURVNlY3RvckNhcnJpZXI6NEZCOTJDMDJBQkU1NDY5NDMzNjBFMThGNTQ0NzkxOUY= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo0RkI5MkMwMkFCRTU0Njk0MzM2MEUxOEY1NDQ3OTE5RjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjNFRjRDNzEzNTRFQzUyN0FCMDMzQTNGQjgyMEY0OEU0 urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo0RkI5MkMwMkFCRTU0Njk0MzM2MEUxOEY1NDQ3OTE5Rg==     7DF9374EADA6885BF3CEF2318894608C        3EF4C71354EC527AB033A3FB820F48E4        8094F5C9E30C346536F0A08A851338F6
-A35530885A44AFFD76DDA542C2F47228       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=54        54      MO      urn:base64:RVV0cmFuQ2VsbDozREEzNUQ0OUQxRDlDNTFBMjM0MDM1QUQzQTNGRDM3RTpVU0VTOkxURVNlY3RvckNhcnJpZXI6QTM1NTMwODg1QTQ0QUZGRDc2RERBNTQyQzJGNDcyMjg= urn:base64:TFRFU2VjdG9yQ2FycmllcjpBMzU1MzA4ODVBNDRBRkZENzZEREE1NDJDMkY0NzIyODpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjBCMzY4MUYxOTU1ODRFRjEwNTFCOTE0RUI2M0VCQkNC urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpBMzU1MzA4ODVBNDRBRkZENzZEREE1NDJDMkY0NzIyOA==     3DA35D49D1D9C51A234035AD3A3FD37E        0B3681F195584EF1051B914EB63EBBCB        8094F5C9E30C346536F0A08A851338F6
-5707466E24D325B597E24A3AB3A8A02E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=55        55      MO      urn:base64:RVV0cmFuQ2VsbDoyQTExMjM1M0VDNzVGOUFDMkJBNDNFRTcwODI5NkEwMTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NTcwNzQ2NkUyNEQzMjVCNTk3RTI0QTNBQjNBOEEwMkU= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo1NzA3NDY2RTI0RDMyNUI1OTdFMjRBM0FCM0E4QTAyRTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjU5QTc3RkJCREM4RTE4MTk3NDFFNDcyODU5NkM0MzVD urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo1NzA3NDY2RTI0RDMyNUI1OTdFMjRBM0FCM0E4QTAyRQ==     2A112353EC75F9AC2BA43EE708296A01        59A77FBBDC8E1819741E4728596C435C        8094F5C9E30C346536F0A08A851338F6
-069EBFDB8A379462AC82DA1958706C4F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=56        56      MO      urn:base64:RVV0cmFuQ2VsbDoxMzlGMEFEMkQ2NDFEOTcxNzc3MDJGQkY1RUZGMzBGRTpVU0VTOkxURVNlY3RvckNhcnJpZXI6MDY5RUJGREI4QTM3OTQ2MkFDODJEQTE5NTg3MDZDNEY= urn:base64:TFRFU2VjdG9yQ2FycmllcjowNjlFQkZEQjhBMzc5NDYyQUM4MkRBMTk1ODcwNkM0RjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkJEQzhFNEVBQzUzQzlDMzk4MDBCNEJEQzAzMDlDOEJC urn:base64:RU5vZGVCRnVuY3Rpb246ODA5NEY1QzlFMzBDMzQ2NTM2RjBBMDhBODUxMzM4RjY6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjowNjlFQkZEQjhBMzc5NDYyQUM4MkRBMTk1ODcwNkM0Rg==     139F0AD2D641D97177702FBF5EFF30FE        BDC8E4EAC53C9C39800B4BDC0309C8BB        8094F5C9E30C346536F0A08A851338F6
-DDA0517CB1E49F2ED5D60534F073D8A6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=57        57      MO      urn:base64:RVV0cmFuQ2VsbDo4RkYwNjExREE4RjBDRDY4RTNBMjE1QUEwN0NCQjIwRDpVU0VTOkxURVNlY3RvckNhcnJpZXI6RERBMDUxN0NCMUU0OUYyRUQ1RDYwNTM0RjA3M0Q4QTY= urn:base64:TFRFU2VjdG9yQ2FycmllcjpEREEwNTE3Q0IxRTQ5RjJFRDVENjA1MzRGMDczRDhBNjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjM3MzMyMjk5QkUxMzk4MTkzRjdCNzQ1MkMxNjUyMUY4 urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpEREEwNTE3Q0IxRTQ5RjJFRDVENjA1MzRGMDczRDhBNg==     8FF0611DA8F0CD68E3A215AA07CBB20D        37332299BE1398193F7B7452C16521F8        E87A72FDF835513E6BACBF730D5BA6C8
-95F1D3E029E2573B6506E0C492AE9494       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=58        58      MO      urn:base64:RVV0cmFuQ2VsbDo1Q0FDMzQ4N0E4NUREREQzMzZCMUY1ODBGRDVGNzJERDpVU0VTOkxURVNlY3RvckNhcnJpZXI6OTVGMUQzRTAyOUUyNTczQjY1MDZFMEM0OTJBRTk0OTQ= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5NUYxRDNFMDI5RTI1NzNCNjUwNkUwQzQ5MkFFOTQ5NDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjgzQjhGQzM0MDlFOUUzNEY4RDRCMjJDRDUxNENDMDc4 urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5NUYxRDNFMDI5RTI1NzNCNjUwNkUwQzQ5MkFFOTQ5NA==     5CAC3487A85DDDD336B1F580FD5F72DD        83B8FC3409E9E34F8D4B22CD514CC078        E87A72FDF835513E6BACBF730D5BA6C8
-C897D4111ADAF80E4B37B1EE0B2C3E46       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=59        59      MO      urn:base64:RVV0cmFuQ2VsbDo3M0MwRUM3OEU5REFFRTUzNDdENDVGMTA1NzBFQzg1MTpVU0VTOkxURVNlY3RvckNhcnJpZXI6Qzg5N0Q0MTExQURBRjgwRTRCMzdCMUVFMEIyQzNFNDY= urn:base64:TFRFU2VjdG9yQ2FycmllcjpDODk3RDQxMTFBREFGODBFNEIzN0IxRUUwQjJDM0U0NjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjU4N0FEQkQ0NkZBMEE3NzBFMUMzQUJBMjEwREI1N0VE urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpDODk3RDQxMTFBREFGODBFNEIzN0IxRUUwQjJDM0U0Ng==     73C0EC78E9DAEE5347D45F10570EC851        587ADBD46FA0A770E1C3ABA210DB57ED        E87A72FDF835513E6BACBF730D5BA6C8
-9131BBD1EB82C0D91E0988B1C7C7F067       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=60        60      MO      urn:base64:RVV0cmFuQ2VsbDo5OEJEREE4QjU0QjdCODkyNzY3NUU3N0M5MjdEODI4MzpVU0VTOkxURVNlY3RvckNhcnJpZXI6OTEzMUJCRDFFQjgyQzBEOTFFMDk4OEIxQzdDN0YwNjc= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5MTMxQkJEMUVCODJDMEQ5MUUwOTg4QjFDN0M3RjA2NzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjYwNEEyMkJGQzcyQTk2MDExNUQ2QjIxQzNGMTg2ODQx urn:base64:RU5vZGVCRnVuY3Rpb246RTg3QTcyRkRGODM1NTEzRTZCQUNCRjczMEQ1QkE2Qzg6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5MTMxQkJEMUVCODJDMEQ5MUUwOTg4QjFDN0M3RjA2Nw==     98BDDA8B54B7B8927675E77C927D8283        604A22BFC72A960115D6B21C3F186841        E87A72FDF835513E6BACBF730D5BA6C8
-6001993A468525D8F81744175E1DFD84       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=61        61      MO      urn:base64:RVV0cmFuQ2VsbDo3MTM1NkZDRTVDNjM1OERBRThGOEJGM0Y3QzlCRjAxNDpVU0VTOkxURVNlY3RvckNhcnJpZXI6NjAwMTk5M0E0Njg1MjVEOEY4MTc0NDE3NUUxREZEODQ= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo2MDAxOTkzQTQ2ODUyNUQ4RjgxNzQ0MTc1RTFERkQ4NDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjFENENCQzQzRDYyQTAxQjI3RkEwQzc0NDJGOUFEMEQ4 urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo2MDAxOTkzQTQ2ODUyNUQ4RjgxNzQ0MTc1RTFERkQ4NA==     71356FCE5C6358DAE8F8BF3F7C9BF014        1D4CBC43D62A01B27FA0C7442F9AD0D8        8E99154C3A70826BBD373F06BC1C752B
-157FC984BC10AE290A8EF99151B03354       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=62        62      MO      urn:base64:RVV0cmFuQ2VsbDpFNTQ4OUU2RDZDQzA3ODkxRjU0MUJFNDFFRjM3QUE2MzpVU0VTOkxURVNlY3RvckNhcnJpZXI6MTU3RkM5ODRCQzEwQUUyOTBBOEVGOTkxNTFCMDMzNTQ= urn:base64:TFRFU2VjdG9yQ2FycmllcjoxNTdGQzk4NEJDMTBBRTI5MEE4RUY5OTE1MUIwMzM1NDpVU0VTOkFudGVubmFDYXBhYmlsaXR5Ojg5MkJBRTBCNDU4NjVEM0Y0REM3NzY2NjJCQjM3NjU0 urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoxNTdGQzk4NEJDMTBBRTI5MEE4RUY5OTE1MUIwMzM1NA==     E5489E6D6CC07891F541BE41EF37AA63        892BAE0B45865D3F4DC776662BB37654        8E99154C3A70826BBD373F06BC1C752B
-BAED17ED9DE215B3A977B4A40C471498       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=63        63      MO      urn:base64:RVV0cmFuQ2VsbDpEMEVBNThCRTBBQzE2NzFCOTM2RjE1QzY3REVBODg5MjpVU0VTOkxURVNlY3RvckNhcnJpZXI6QkFFRDE3RUQ5REUyMTVCM0E5NzdCNEE0MEM0NzE0OTg= urn:base64:TFRFU2VjdG9yQ2FycmllcjpCQUVEMTdFRDlERTIxNUIzQTk3N0I0QTQwQzQ3MTQ5ODpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkVFMUVBQUZEQjg1MjA2MjU5QUE5RDlENEJBMDFCREEy urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpCQUVEMTdFRDlERTIxNUIzQTk3N0I0QTQwQzQ3MTQ5OA==     D0EA58BE0AC1671B936F15C67DEA8892        EE1EAAFDB85206259AA9D9D4BA01BDA2        8E99154C3A70826BBD373F06BC1C752B
-5A6A2B3D21767F1BF0F2405AC06D01B0       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=64        64      MO      urn:base64:RVV0cmFuQ2VsbDo5QTAzMEQ5RURDMEM4QjA0QTBDNUQyNEEzQTIyMzEzNzpVU0VTOkxURVNlY3RvckNhcnJpZXI6NUE2QTJCM0QyMTc2N0YxQkYwRjI0MDVBQzA2RDAxQjA= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo1QTZBMkIzRDIxNzY3RjFCRjBGMjQwNUFDMDZEMDFCMDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjExMUJEMTIzRENBMUI5MzdGMEUxNUU1QkVGREUwOEU5 urn:base64:RU5vZGVCRnVuY3Rpb246OEU5OTE1NEMzQTcwODI2QkJEMzczRjA2QkMxQzc1MkI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo1QTZBMkIzRDIxNzY3RjFCRjBGMjQwNUFDMDZEMDFCMA==     9A030D9EDC0C8B04A0C5D24A3A223137        111BD123DCA1B937F0E15E5BEFDE08E9        8E99154C3A70826BBD373F06BC1C752B
-5155EA305406300383C95C1D8F59C43C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=65        65      MO      urn:base64:RVV0cmFuQ2VsbDo1NjZCOTU2NkE0MEFCMENDRjE2ODRBOEM3NUQ2RThGMDpVU0VTOkxURVNlY3RvckNhcnJpZXI6NTE1NUVBMzA1NDA2MzAwMzgzQzk1QzFEOEY1OUM0M0M= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo1MTU1RUEzMDU0MDYzMDAzODNDOTVDMUQ4RjU5QzQzQzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkRGNzgzN0VFQUI2NUEwNjg1OTExMDM2NkU1RjQ1Mjk3 urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo1MTU1RUEzMDU0MDYzMDAzODNDOTVDMUQ4RjU5QzQzQw==     566B9566A40AB0CCF1684A8C75D6E8F0        DF7837EEAB65A06859110366E5F45297        CEE5D7B02D903A316D0A017C50FC9993
-536765CD4046DCD78CF3933FB856E77C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=66        66      MO      urn:base64:RVV0cmFuQ2VsbDpBNTU4N0Q1MUREQjREMUFBRjg4MDc1RUZBRkQzRkYxQTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NTM2NzY1Q0Q0MDQ2RENENzhDRjM5MzNGQjg1NkU3N0M= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo1MzY3NjVDRDQwNDZEQ0Q3OENGMzkzM0ZCODU2RTc3QzpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkQwQUFFOTYzMUFGMTU1NEI4RjM5MDkzMkUzNzdFQTE5 urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo1MzY3NjVDRDQwNDZEQ0Q3OENGMzkzM0ZCODU2RTc3Qw==     A5587D51DDB4D1AAF88075EFAFD3FF1A        D0AAE9631AF1554B8F390932E377EA19        CEE5D7B02D903A316D0A017C50FC9993
-3C04934E350AF691DFD0E93E9C43B9AB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=67        67      MO      urn:base64:RVV0cmFuQ2VsbDo3OTJGQzE1RkEzRjU1NTYyMzczRkY1QjY3Qzg5NzlEOTpVU0VTOkxURVNlY3RvckNhcnJpZXI6M0MwNDkzNEUzNTBBRjY5MURGRDBFOTNFOUM0M0I5QUI= urn:base64:TFRFU2VjdG9yQ2FycmllcjozQzA0OTM0RTM1MEFGNjkxREZEMEU5M0U5QzQzQjlBQjpVU0VTOkFudGVubmFDYXBhYmlsaXR5Ojg5QjlGRTVEMkQ0QTA3Q0NENTRFNzA1QkZFMkQxMEYw urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjozQzA0OTM0RTM1MEFGNjkxREZEMEU5M0U5QzQzQjlBQg==     792FC15FA3F55562373FF5B67C8979D9        89B9FE5D2D4A07CCD54E705BFE2D10F0        CEE5D7B02D903A316D0A017C50FC9993
-6828F136D4173CB3409095959B5C8B8B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=68        68      MO      urn:base64:RVV0cmFuQ2VsbDo2RkFBQjUzNDczRjA4NERDODg2RDFFMDQyNjVFRUFEMTpVU0VTOkxURVNlY3RvckNhcnJpZXI6NjgyOEYxMzZENDE3M0NCMzQwOTA5NTk1OUI1QzhCOEI= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo2ODI4RjEzNkQ0MTczQ0IzNDA5MDk1OTU5QjVDOEI4QjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkE2RTk3QkEzMDgzMkMxQjdBQzM2RjRENzlERDM4Qjcx urn:base64:RU5vZGVCRnVuY3Rpb246Q0VFNUQ3QjAyRDkwM0EzMTZEMEEwMTdDNTBGQzk5OTM6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo2ODI4RjEzNkQ0MTczQ0IzNDA5MDk1OTU5QjVDOEI4Qg==     6FAAB53473F084DC886D1E04265EEAD1        A6E97BA30832C1B7AC36F4D79DD38B71        CEE5D7B02D903A316D0A017C50FC9993
-9E6667504F7CBDD9D2AE117219A1F501       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=69        69      MO      urn:base64:RVV0cmFuQ2VsbDowN0IzNzExNjc3MDg1RTE2RjQ4QUVEOTlCRUE0MDk2NjpVU0VTOkxURVNlY3RvckNhcnJpZXI6OUU2NjY3NTA0RjdDQkREOUQyQUUxMTcyMTlBMUY1MDE= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5RTY2Njc1MDRGN0NCREQ5RDJBRTExNzIxOUExRjUwMTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkRGQTYyMDJGRjk2REQ0MThFQUQ0QzkzMEYyN0YwQzc4 urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5RTY2Njc1MDRGN0NCREQ5RDJBRTExNzIxOUExRjUwMQ==     07B3711677085E16F48AED99BEA40966        DFA6202FF96DD418EAD4C930F27F0C78        E240B26BA8EE38087134B6D22E24BBDB
-A7C40C6432DB775E67780AA0060CA7DB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=70        70      MO      urn:base64:RVV0cmFuQ2VsbDpCOTVFQkU0MjQ1ODAxRDcxODVFMUQwNUU1QkJEQTNGMzpVU0VTOkxURVNlY3RvckNhcnJpZXI6QTdDNDBDNjQzMkRCNzc1RTY3NzgwQUEwMDYwQ0E3REI= urn:base64:TFRFU2VjdG9yQ2FycmllcjpBN0M0MEM2NDMyREI3NzVFNjc3ODBBQTAwNjBDQTdEQjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjAxOTQ1RDdCN0QyQUZCMEIzREZFMjM4MjJEMkM5Q0NC urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpBN0M0MEM2NDMyREI3NzVFNjc3ODBBQTAwNjBDQTdEQg==     B95EBE4245801D7185E1D05E5BBDA3F3        01945D7B7D2AFB0B3DFE23822D2C9CCB        E240B26BA8EE38087134B6D22E24BBDB
-CF0284C3C21BEFE7AB248D65680A80EA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=71        71      MO      urn:base64:RVV0cmFuQ2VsbDpBQkZCRTlFQTc2NzNBMTkxREI2QTUxNDM5RDU1MTVENTpVU0VTOkxURVNlY3RvckNhcnJpZXI6Q0YwMjg0QzNDMjFCRUZFN0FCMjQ4RDY1NjgwQTgwRUE= urn:base64:TFRFU2VjdG9yQ2FycmllcjpDRjAyODRDM0MyMUJFRkU3QUIyNDhENjU2ODBBODBFQTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkJFNTBBQzU3QUIxRkFFNzM1MzFBREQxODEzMjQwNjdG urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpDRjAyODRDM0MyMUJFRkU3QUIyNDhENjU2ODBBODBFQQ==     ABFBE9EA7673A191DB6A51439D5515D5        BE50AC57AB1FAE73531ADD181324067F        E240B26BA8EE38087134B6D22E24BBDB
-15DF19B0C1FAE1610E970C154A10B219       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=72        72      MO      urn:base64:RVV0cmFuQ2VsbDo2MkVEQzdENEQ2QTFEMzYxRTEyRkVCMjY4OEU0M0E4OTpVU0VTOkxURVNlY3RvckNhcnJpZXI6MTVERjE5QjBDMUZBRTE2MTBFOTcwQzE1NEExMEIyMTk= urn:base64:TFRFU2VjdG9yQ2FycmllcjoxNURGMTlCMEMxRkFFMTYxMEU5NzBDMTU0QTEwQjIxOTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjgyRDA1NURFMTVCOTdDRDg2NkNGNDU0QTk2ODhGNERC urn:base64:RU5vZGVCRnVuY3Rpb246RTI0MEIyNkJBOEVFMzgwODcxMzRCNkQyMkUyNEJCREI6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoxNURGMTlCMEMxRkFFMTYxMEU5NzBDMTU0QTEwQjIxOQ==     62EDC7D4D6A1D361E12FEB2688E43A89        82D055DE15B97CD866CF454A9688F4DB        E240B26BA8EE38087134B6D22E24BBDB
-8D65835759F555E8B99E68767BB35ACA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=73        73      MO      urn:base64:RVV0cmFuQ2VsbDpFRTdCNUVCQUUyMTM0M0U2OEFDMTk3MTUwRkEyNjU1RTpVU0VTOkxURVNlY3RvckNhcnJpZXI6OEQ2NTgzNTc1OUY1NTVFOEI5OUU2ODc2N0JCMzVBQ0E= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo4RDY1ODM1NzU5RjU1NUU4Qjk5RTY4NzY3QkIzNUFDQTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjM2MkVDM0I3NzU4RDg3M0RGOThBRTJBOUVDMjQ3MkI1 urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo4RDY1ODM1NzU5RjU1NUU4Qjk5RTY4NzY3QkIzNUFDQQ==     EE7B5EBAE21343E68AC197150FA2655E        362EC3B7758D873DF98AE2A9EC2472B5        FC195225D4CD060E249281C9BBDAF964
-22CC8313F3514E848D51B40B889B3752       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=74        74      MO      urn:base64:RVV0cmFuQ2VsbDo0NzhDQjE3MzFDNzFCRTg0OUIwRDgyRjMyMDhGNzBDRjpVU0VTOkxURVNlY3RvckNhcnJpZXI6MjJDQzgzMTNGMzUxNEU4NDhENTFCNDBCODg5QjM3NTI= urn:base64:TFRFU2VjdG9yQ2FycmllcjoyMkNDODMxM0YzNTE0RTg0OEQ1MUI0MEI4ODlCMzc1MjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkRBNUQ4QTNEMUNEQzNENTU0NDdGN0M4NkVERDhGRTUw urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjoyMkNDODMxM0YzNTE0RTg0OEQ1MUI0MEI4ODlCMzc1Mg==     478CB1731C71BE849B0D82F3208F70CF        DA5D8A3D1CDC3D55447F7C86EDD8FE50        FC195225D4CD060E249281C9BBDAF964
-6031B371CA7E568237A3DFA04A80FE4B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=75        75      MO      urn:base64:RVV0cmFuQ2VsbDo1RDZGM0I0OTRGRUNFMEQ3QkM0NjczNUQ2M0VDQTUwQjpVU0VTOkxURVNlY3RvckNhcnJpZXI6NjAzMUIzNzFDQTdFNTY4MjM3QTNERkEwNEE4MEZFNEI= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo2MDMxQjM3MUNBN0U1NjgyMzdBM0RGQTA0QTgwRkU0QjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjZBMzlCMTUxQzUwRjczRjAyOUI1NzcyMjk5RENGMjg5 urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo2MDMxQjM3MUNBN0U1NjgyMzdBM0RGQTA0QTgwRkU0Qg==     5D6F3B494FECE0D7BC46735D63ECA50B        6A39B151C50F73F029B5772299DCF289        FC195225D4CD060E249281C9BBDAF964
-BF6A9895F0DA4A0328FAA8E33F372D3F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=76        76      MO      urn:base64:RVV0cmFuQ2VsbDpGODE4QUEzNkI1RTE0NTZCMzJGQjNCOTAxNTdGMTVBRDpVU0VTOkxURVNlY3RvckNhcnJpZXI6QkY2QTk4OTVGMERBNEEwMzI4RkFBOEUzM0YzNzJEM0Y= urn:base64:TFRFU2VjdG9yQ2FycmllcjpCRjZBOTg5NUYwREE0QTAzMjhGQUE4RTMzRjM3MkQzRjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkIwRkU4ODBERjk0NzRBQTI5QzdBNEJBQUE5NDZFNTVE urn:base64:RU5vZGVCRnVuY3Rpb246RkMxOTUyMjVENENEMDYwRTI0OTI4MUM5QkJEQUY5NjQ6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjpCRjZBOTg5NUYwREE0QTAzMjhGQUE4RTMzRjM3MkQzRg==     F818AA36B5E1456B32FB3B90157F15AD        B0FE880DF9474AA29C7A4BAAA946E55D        FC195225D4CD060E249281C9BBDAF964
-7E4545AFAD3F792814FB8F010D5CF9FD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=77        77      MO      urn:base64:RVV0cmFuQ2VsbDo4RUFBQkJCMkM5RDQ5OTZDOEFEOTQxNTQ5MDMwNTJDQzpVU0VTOkxURVNlY3RvckNhcnJpZXI6N0U0NTQ1QUZBRDNGNzkyODE0RkI4RjAxMEQ1Q0Y5RkQ= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo3RTQ1NDVBRkFEM0Y3OTI4MTRGQjhGMDEwRDVDRjlGRDpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkMyM0Q5RDA4MDdFNDVFRjU1REM2QjdEMzVFRUIwOEIx urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo3RTQ1NDVBRkFEM0Y3OTI4MTRGQjhGMDEwRDVDRjlGRA==     8EAABBB2C9D4996C8AD94154903052CC        C23D9D0807E45EF55DC6B7D35EEB08B1        0C2651AB5D430123729B336E8635E0E0
-938CE5FDE447302290320C8C01424B05       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=78        78      MO      urn:base64:RVV0cmFuQ2VsbDpDQUM2RUY1Q0M5NTRGN0E3RjUyOTRBNjQzQ0Q3QTE2MDpVU0VTOkxURVNlY3RvckNhcnJpZXI6OTM4Q0U1RkRFNDQ3MzAyMjkwMzIwQzhDMDE0MjRCMDU= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo5MzhDRTVGREU0NDczMDIyOTAzMjBDOEMwMTQyNEIwNTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkNGOEVGNzIzQkI0NkM2MTcwREIwNDkwRDFGQTI2Qjg1 urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo5MzhDRTVGREU0NDczMDIyOTAzMjBDOEMwMTQyNEIwNQ==     CAC6EF5CC954F7A7F5294A643CD7A160        CF8EF723BB46C6170DB0490D1FA26B85        0C2651AB5D430123729B336E8635E0E0
-329617C4BD9599181D6F7FE06C40C1FF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=79        79      MO      urn:base64:RVV0cmFuQ2VsbDoxMDUzQ0UyQUVCRUU2QjMyQzg0NkMzM0IwN0UwQjA0NzpVU0VTOkxURVNlY3RvckNhcnJpZXI6MzI5NjE3QzRCRDk1OTkxODFENkY3RkUwNkM0MEMxRkY= urn:base64:TFRFU2VjdG9yQ2FycmllcjozMjk2MTdDNEJEOTU5OTE4MUQ2RjdGRTA2QzQwQzFGRjpVU0VTOkFudGVubmFDYXBhYmlsaXR5OkUxQzM0MERGMEZGQTUxMjExRERCNUY4MjlFMkEyN0VF urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6TFRFU2VjdG9yQ2FycmllcjozMjk2MTdDNEJEOTU5OTE4MUQ2RjdGRTA2QzQwQzFGRg==     1053CE2AEBEE6B32C846C33B07E0B047        E1C340DF0FFA51211DDB5F829E2A27EE        0C2651AB5D430123729B336E8635E0E0
-5C2B860A2AE8149A46531B69F2252301       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/LTESectorCarrier=80        80      MO      urn:base64:RVV0cmFuQ2VsbDo4MDMxMzJDOEFDMzdERUQ2MENCOUNCOTk4NkQ5QkMzRDpVU0VTOkxURVNlY3RvckNhcnJpZXI6NUMyQjg2MEEyQUU4MTQ5QTQ2NTMxQjY5RjIyNTIzMDE= urn:base64:TFRFU2VjdG9yQ2Fycmllcjo1QzJCODYwQTJBRTgxNDlBNDY1MzFCNjlGMjI1MjMwMTpVU0VTOkFudGVubmFDYXBhYmlsaXR5OjU5RTM5QUVCMkNEOEVDMDAxODg1M0Q3RUY3NUU0RTc3 urn:base64:RU5vZGVCRnVuY3Rpb246MEMyNjUxQUI1RDQzMDEyMzcyOUIzMzZFODYzNUUwRTA6UFJPVklERVM6TFRFU2VjdG9yQ2Fycmllcjo1QzJCODYwQTJBRTgxNDlBNDY1MzFCNjlGMjI1MjMwMQ==     803132C8AC37DED60CB9CB9986D9BC3D        59E39AEB2CD8EC0018853D7EF75E4E77        0C2651AB5D430123729B336E8635E0E0
-\.
-
-COPY ties_data."NRSectorCarrier" (id, fdn, "arfcnDL", "arfcnUL", "essScLocalId", "frequencyDL", "frequencyUL", "REL_NRCELLDU_USES_NRSECTORCARRIER_EIID", "REL_NRSECTORCARRIER_USES_ANTENNACAPABILITY_EIID", "REL_ODUFUNCTION_PROVIDES_NRSECTORCARRIER_EIID", "REL_NRCELLDU_USES_NRSECTORCARRIER", "REL_NRSECTORCARRIER_USES_ANTENNACAPABILITY", "REL_ODUFUNCTION_PROVIDES_NRSECTORCARRIER") FROM stdin;
-280DC38868CEE3ED4A6BA9149ABE7A6C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=1  1000    20      1       20      20      urn:base64:TlJDZWxsRFU6OThDM0E0NTkxQTM3NzE4RTEzMzBGMDI5NEUyM0I2MkE6VVNFUzpOUlNlY3RvckNhcnJpZXI6MjgwREMzODg2OENFRTNFRDRBNkJBOTE0OUFCRTdBNkM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjI4MERDMzg4NjhDRUUzRUQ0QTZCQTkxNDlBQkU3QTZDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NTgzNUY3N0JFOUQ0RTEwMjMxNkJENTkxOTVGNjM3MEI= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MjgwREMzODg2OENFRTNFRDRBNkJBOTE0OUFCRTdBNkM= 98C3A4591A37718E1330F0294E23B62A        5835F77BE9D4E102316BD59195F6370B        D3215E08570BE58339C7463626B50E37
-5C5B83AAB9E669D3138091E9AAC19405       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=2  1000    20      2       20      20      urn:base64:TlJDZWxsRFU6Rjk1NDZFODIzMTNBQzFENUU2OTBEQ0Q3QkU1NTYwNkY6VVNFUzpOUlNlY3RvckNhcnJpZXI6NUM1QjgzQUFCOUU2NjlEMzEzODA5MUU5QUFDMTk0MDU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjVDNUI4M0FBQjlFNjY5RDMxMzgwOTFFOUFBQzE5NDA1OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MDRGMzlFQkFCNzI0NTRFNEQzMzMxRDZDMzM2N0I0NUY= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NUM1QjgzQUFCOUU2NjlEMzEzODA5MUU5QUFDMTk0MDU= F9546E82313AC1D5E690DCD7BE55606F        04F39EBAB72454E4D3331D6C3367B45F        D3215E08570BE58339C7463626B50E37
-E49D942C16E0364E1E0788138916D70C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=3  1000    20      3       20      20      urn:base64:TlJDZWxsRFU6QjQ4MDQyN0U4QTBDMEI4RDk5NEU0Mzc3ODRCQjM4MkY6VVNFUzpOUlNlY3RvckNhcnJpZXI6RTQ5RDk0MkMxNkUwMzY0RTFFMDc4ODEzODkxNkQ3MEM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkU0OUQ5NDJDMTZFMDM2NEUxRTA3ODgxMzg5MTZENzBDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QTc3QjIzN0E1NDFCMkQzMjI1QjRCNjFEMzA5OEU0QUE= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RTQ5RDk0MkMxNkUwMzY0RTFFMDc4ODEzODkxNkQ3MEM= B480427E8A0C0B8D994E437784BB382F        A77B237A541B2D3225B4B61D3098E4AA        D3215E08570BE58339C7463626B50E37
-2A6FF9967B960E0238CD1C402A352ADF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=4  1000    20      4       20      20      urn:base64:TlJDZWxsRFU6NDg0QjM0MTMxMEEzNjIxNTE1NTEyMkRFNzRFQUUxNkE6VVNFUzpOUlNlY3RvckNhcnJpZXI6MkE2RkY5OTY3Qjk2MEUwMjM4Q0QxQzQwMkEzNTJBREY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjJBNkZGOTk2N0I5NjBFMDIzOENEMUM0MDJBMzUyQURGOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzMwOTgxQTQ4OUE0NUJFNEJGNzA2NjdGQzY2OTkyQ0Y= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MkE2RkY5OTY3Qjk2MEUwMjM4Q0QxQzQwMkEzNTJBREY= 484B341310A36215155122DE74EAE16A        C30981A489A45BE4BF70667FC66992CF        D3215E08570BE58339C7463626B50E37
-7E0CE0F2BA06341920140FB7DF29CF6A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=5  1000    20      5       20      20      urn:base64:TlJDZWxsRFU6Mzc3QUE5NkI0QjNBOEZFMTA2QzlCQUY2M0ZFODQ2MEI6VVNFUzpOUlNlY3RvckNhcnJpZXI6N0UwQ0UwRjJCQTA2MzQxOTIwMTQwRkI3REYyOUNGNkE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjdFMENFMEYyQkEwNjM0MTkyMDE0MEZCN0RGMjlDRjZBOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NEE4NTBGOTlFQkEwOTM1QjdDREU2RUY0NDZDMDQ5OUM= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6N0UwQ0UwRjJCQTA2MzQxOTIwMTQwRkI3REYyOUNGNkE= 377AA96B4B3A8FE106C9BAF63FE8460B        4A850F99EBA0935B7CDE6EF446C0499C        D3215E08570BE58339C7463626B50E37
-B4EDE862A525DCA5BC9ED5B22CC3721B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=6  1000    20      6       20      20      urn:base64:TlJDZWxsRFU6M0FGMjIwOEE1OTU2RjA3NjQ0RDhGM0VEN0M2MkJEQ0Y6VVNFUzpOUlNlY3RvckNhcnJpZXI6QjRFREU4NjJBNTI1RENBNUJDOUVENUIyMkNDMzcyMUI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkI0RURFODYyQTUyNURDQTVCQzlFRDVCMjJDQzM3MjFCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzgzRTA4QTUzNDM4RUY5Njc4RDUxNUU3M0RCNjY3Rjc= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QjRFREU4NjJBNTI1RENBNUJDOUVENUIyMkNDMzcyMUI= 3AF2208A5956F07644D8F3ED7C62BDCF        C83E08A53438EF9678D515E73DB667F7        D3215E08570BE58339C7463626B50E37
-D89136FB5F8E6E485B94C21660C259A8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=7  1000    20      7       20      20      urn:base64:TlJDZWxsRFU6NDRBQkFFRTJBNzdBNUZDMkM4MTIxQjk1RkZBNTYyNkQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6RDg5MTM2RkI1RjhFNkU0ODVCOTRDMjE2NjBDMjU5QTg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkQ4OTEzNkZCNUY4RTZFNDg1Qjk0QzIxNjYwQzI1OUE4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NUUxQzYzQTNGMzJBODYyNUE1RjI4MjcyN0QzNkIwQzg= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RDg5MTM2RkI1RjhFNkU0ODVCOTRDMjE2NjBDMjU5QTg= 44ABAEE2A77A5FC2C8121B95FFA5626D        5E1C63A3F32A8625A5F282727D36B0C8        D3215E08570BE58339C7463626B50E37
-3F31CBFD6B09D4DA17907FEB840F4AE4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=8  1000    20      8       20      20      urn:base64:TlJDZWxsRFU6NEU0MEI0Q0I1MThEN0Y2QzRCMDI4OEE5MERCODEzNDc6VVNFUzpOUlNlY3RvckNhcnJpZXI6M0YzMUNCRkQ2QjA5RDREQTE3OTA3RkVCODQwRjRBRTQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjNGMzFDQkZENkIwOUQ0REExNzkwN0ZFQjg0MEY0QUU0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MUIzMzhGNDc4MDg3RjkzQzkxRTAyODdDQzg3Q0RDNTY= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6M0YzMUNCRkQ2QjA5RDREQTE3OTA3RkVCODQwRjRBRTQ= 4E40B4CB518D7F6C4B0288A90DB81347        1B338F478087F93C91E0287CC87CDC56        D3215E08570BE58339C7463626B50E37
-0D8E5CF2A936251A352A26590109C2C7       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=9  1000    20      9       20      20      urn:base64:TlJDZWxsRFU6Q0Y3MjlBMEJCQzM5RTUwNzdDQjU2NzQyMDZBNjczNTk6VVNFUzpOUlNlY3RvckNhcnJpZXI6MEQ4RTVDRjJBOTM2MjUxQTM1MkEyNjU5MDEwOUMyQzc=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjBEOEU1Q0YyQTkzNjI1MUEzNTJBMjY1OTAxMDlDMkM3OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NTk5MzEzQ0REMzVGNDk4RUU4OTlDRjUxQzlBMDlCRjU= urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MEQ4RTVDRjJBOTM2MjUxQTM1MkEyNjU5MDEwOUMyQzc= CF729A0BBC39E5077CB5674206A67359        599313CDD35F498EE899CF51C9A09BF5        D3215E08570BE58339C7463626B50E37
-EFD2B059FAA79B1CFAA94D5A06AC952D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=10 1000    20      10      20      20      urn:base64:TlJDZWxsRFU6RkI3QTkyRUQ0OTVGRTVCMDhFQTFFMzIzNTNGNjc2MDg6VVNFUzpOUlNlY3RvckNhcnJpZXI6RUZEMkIwNTlGQUE3OUIxQ0ZBQTk0RDVBMDZBQzk1MkQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkVGRDJCMDU5RkFBNzlCMUNGQUE5NEQ1QTA2QUM5NTJEOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QjA0RTIyMzMzN0YyNzVDMEJGNTlCNDU5QTA2RUU2QzM= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RUZEMkIwNTlGQUE3OUIxQ0ZBQTk0RDVBMDZBQzk1MkQ= FB7A92ED495FE5B08EA1E32353F67608        B04E223337F275C0BF59B459A06EE6C3        1050570EBB1315E1AE7A9FD5E1400A00
-C9FB21B897B6308924C000940A6B6256       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=11 1000    20      11      20      20      urn:base64:TlJDZWxsRFU6RTgwNjU2NDQ3MTdFRDE1RjM1MDRCNUVFNzFCQjA4OTQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6QzlGQjIxQjg5N0I2MzA4OTI0QzAwMDk0MEE2QjYyNTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkM5RkIyMUI4OTdCNjMwODkyNEMwMDA5NDBBNkI2MjU2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MkQ3MUY2Q0RDQzVERkQxRDcxMkQ5QUIwMUJBQTQ3MDY= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QzlGQjIxQjg5N0I2MzA4OTI0QzAwMDk0MEE2QjYyNTY= E8065644717ED15F3504B5EE71BB0894        2D71F6CDCC5DFD1D712D9AB01BAA4706        1050570EBB1315E1AE7A9FD5E1400A00
-95970B1B7C1EF775A24D900B84653AD1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=12 1000    20      12      20      20      urn:base64:TlJDZWxsRFU6NDQ2M0MzRDJGN0IzODgzMjNBODIxMDVFODU0QUVBMUM6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTU5NzBCMUI3QzFFRjc3NUEyNEQ5MDBCODQ2NTNBRDE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjk1OTcwQjFCN0MxRUY3NzVBMjREOTAwQjg0NjUzQUQxOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RDc0MTcyMzU4QUQ0QkE0MThFMjQyM0EzRDU0MTUxRUQ= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTU5NzBCMUI3QzFFRjc3NUEyNEQ5MDBCODQ2NTNBRDE= 4463C3D2F7B388323A82105E854AEA1C        D74172358AD4BA418E2423A3D54151ED        1050570EBB1315E1AE7A9FD5E1400A00
-B77E2DCF02094E0D4F400FFB1F915CA6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=13 1000    20      13      20      20      urn:base64:TlJDZWxsRFU6ODk3QzU2MkE1RDhFRTIyNzQ2QUM0RDQ4MDQ1MDVCNjk6VVNFUzpOUlNlY3RvckNhcnJpZXI6Qjc3RTJEQ0YwMjA5NEUwRDRGNDAwRkZCMUY5MTVDQTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkI3N0UyRENGMDIwOTRFMEQ0RjQwMEZGQjFGOTE1Q0E2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MTE0QkQ3QkQ0NkQyRUE2QkY4NTEyNTEyODdGMkNGOTU= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6Qjc3RTJEQ0YwMjA5NEUwRDRGNDAwRkZCMUY5MTVDQTY= 897C562A5D8EE22746AC4D4804505B69        114BD7BD46D2EA6BF851251287F2CF95        1050570EBB1315E1AE7A9FD5E1400A00
-82D362D75CFF3D3222298BC197EBBECD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=14 1000    20      14      20      20      urn:base64:TlJDZWxsRFU6ODRFNzE1NURBRDY3OTNBNUVCRkZFNzI0NDlGNzc0OUI6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODJEMzYyRDc1Q0ZGM0QzMjIyMjk4QkMxOTdFQkJFQ0Q=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjgyRDM2MkQ3NUNGRjNEMzIyMjI5OEJDMTk3RUJCRUNEOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QjAwNjk5QjVFQTMzQzg2N0VFRTdFMDQ0RUU4NDREMzQ= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODJEMzYyRDc1Q0ZGM0QzMjIyMjk4QkMxOTdFQkJFQ0Q= 84E7155DAD6793A5EBFFE72449F7749B        B00699B5EA33C867EEE7E044EE844D34        1050570EBB1315E1AE7A9FD5E1400A00
-529F6B2AC76DE9E8775BAEBA97890201       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=15 1000    20      15      20      20      urn:base64:TlJDZWxsRFU6MDY0NkE0MUEzMDE1MUI1OUJDMUQ5MTA3M0MxNjIyNTc6VVNFUzpOUlNlY3RvckNhcnJpZXI6NTI5RjZCMkFDNzZERTlFODc3NUJBRUJBOTc4OTAyMDE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjUyOUY2QjJBQzc2REU5RTg3NzVCQUVCQTk3ODkwMjAxOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QTUzN0Q3QTlFRkRFRTBDNDdCM0ZCNENGM0IxRjA2QTc= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NTI5RjZCMkFDNzZERTlFODc3NUJBRUJBOTc4OTAyMDE= 0646A41A30151B59BC1D91073C162257        A537D7A9EFDEE0C47B3FB4CF3B1F06A7        1050570EBB1315E1AE7A9FD5E1400A00
-62B1A8C49EC219C2F0F3D56F495EC4CC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=16 1000    20      16      20      20      urn:base64:TlJDZWxsRFU6NDU2MjdENjM2RDdBNDUzNTdGNkYyMzY2MUJBNzdDODU6VVNFUzpOUlNlY3RvckNhcnJpZXI6NjJCMUE4QzQ5RUMyMTlDMkYwRjNENTZGNDk1RUM0Q0M=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjYyQjFBOEM0OUVDMjE5QzJGMEYzRDU2RjQ5NUVDNENDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RTFDM0U5NTk0NDk0MkY0QUQxODMxNzE5MjAzQTE2NzI= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NjJCMUE4QzQ5RUMyMTlDMkYwRjNENTZGNDk1RUM0Q0M= 45627D636D7A45357F6F23661BA77C85        E1C3E95944942F4AD1831719203A1672        1050570EBB1315E1AE7A9FD5E1400A00
-DC88BC70E9A8DC86D8315C794215E2AD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=17 1000    20      17      20      20      urn:base64:TlJDZWxsRFU6RDIxQ0RGNzA0NzYwRUU2NkNDNjdBQzhDNTU4NUM0RkM6VVNFUzpOUlNlY3RvckNhcnJpZXI6REM4OEJDNzBFOUE4REM4NkQ4MzE1Qzc5NDIxNUUyQUQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkRDODhCQzcwRTlBOERDODZEODMxNUM3OTQyMTVFMkFEOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6OTI1MkUzQ0NBODhBRTU1OUJDQjFDODM4RkZEQTFDMjc= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6REM4OEJDNzBFOUE4REM4NkQ4MzE1Qzc5NDIxNUUyQUQ= D21CDF704760EE66CC67AC8C5585C4FC        9252E3CCA88AE559BCB1C838FFDA1C27        1050570EBB1315E1AE7A9FD5E1400A00
-5BDCDFC664C467684309134FD386F182       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=18 1000    20      18      20      20      urn:base64:TlJDZWxsRFU6ODIxOUNBOEM0NjQxMzc2QjA2RkU0MDY3RkVFOENEQjQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6NUJEQ0RGQzY2NEM0Njc2ODQzMDkxMzRGRDM4NkYxODI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjVCRENERkM2NjRDNDY3Njg0MzA5MTM0RkQzODZGMTgyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RjI4M0YxOUY0RjA4NDJFNzI0QkE3MkU5NzE4RUE1Q0I= urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NUJEQ0RGQzY2NEM0Njc2ODQzMDkxMzRGRDM4NkYxODI= 8219CA8C4641376B06FE4067FEE8CDB4        F283F19F4F0842E724BA72E9718EA5CB        1050570EBB1315E1AE7A9FD5E1400A00
-969DF432ED7F9A9E6607D475D11E6863       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=19 1000    20      19      20      20      urn:base64:TlJDZWxsRFU6NUIzQ0M4MUIzMjg0RDNGNjY1RjAzQTQ3NzQzOUZBOTg6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTY5REY0MzJFRDdGOUE5RTY2MDdENDc1RDExRTY4NjM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjk2OURGNDMyRUQ3RjlBOUU2NjA3RDQ3NUQxMUU2ODYzOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6Qjc0Qjg5Mjk1NEU5NzExMkRENEI0RTVBRjlEM0E0Rjc= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTY5REY0MzJFRDdGOUE5RTY2MDdENDc1RDExRTY4NjM= 5B3CC81B3284D3F665F03A477439FA98        B74B892954E97112DD4B4E5AF9D3A4F7        B6A6DE7D0965F02D48ECA86706A4454F
-8242C20440EEE441ABA2DE3F143845DE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=20 1000    20      20      20      20      urn:base64:TlJDZWxsRFU6QzE5NDRBMjYyMDgxRjgyQTk4Q0YwNTBGRUU0MUI4RkY6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODI0MkMyMDQ0MEVFRTQ0MUFCQTJERTNGMTQzODQ1REU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjgyNDJDMjA0NDBFRUU0NDFBQkEyREUzRjE0Mzg0NURFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6ODdDQzRFN0Y3NDI5MkZFODUzNDBGMjgwQTMyRUVCMkQ= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODI0MkMyMDQ0MEVFRTQ0MUFCQTJERTNGMTQzODQ1REU= C1944A262081F82A98CF050FEE41B8FF        87CC4E7F74292FE85340F280A32EEB2D        B6A6DE7D0965F02D48ECA86706A4454F
-725257083C17CB17DF38C4961FC55C54       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=21 1000    20      21      20      20      urn:base64:TlJDZWxsRFU6NEJBNzk5QzMzQ0RBQTJDOUYzODYwNjA2MzFFMkZEMkE6VVNFUzpOUlNlY3RvckNhcnJpZXI6NzI1MjU3MDgzQzE3Q0IxN0RGMzhDNDk2MUZDNTVDNTQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjcyNTI1NzA4M0MxN0NCMTdERjM4QzQ5NjFGQzU1QzU0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MDQyNzNGQzY0NDM2REE1MjM4NjVDRjg0OUU1RjdDQzk= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NzI1MjU3MDgzQzE3Q0IxN0RGMzhDNDk2MUZDNTVDNTQ= 4BA799C33CDAA2C9F386060631E2FD2A        04273FC64436DA523865CF849E5F7CC9        B6A6DE7D0965F02D48ECA86706A4454F
-92000BD14FF2FCAABF9F4565B22488A5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=22 1000    20      22      20      20      urn:base64:TlJDZWxsRFU6RjczQUFDRjJCQTQzMkI2ODdERkQ2MkM0N0M5REZGMUE6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTIwMDBCRDE0RkYyRkNBQUJGOUY0NTY1QjIyNDg4QTU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjkyMDAwQkQxNEZGMkZDQUFCRjlGNDU2NUIyMjQ4OEE1OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RDVCOTA5MEUzQjZBMTBEQkRDMjQzRUQxNEVGMjk0QkY= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTIwMDBCRDE0RkYyRkNBQUJGOUY0NTY1QjIyNDg4QTU= F73AACF2BA432B687DFD62C47C9DFF1A        D5B9090E3B6A10DBDC243ED14EF294BF        B6A6DE7D0965F02D48ECA86706A4454F
-3A79CB3F5B4CCD179A08DC196CC2FC91       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=23 1000    20      23      20      20      urn:base64:TlJDZWxsRFU6NTFENDk5MjJDQTZDQ0QyQ0U0NTFEOTZCQTIyNDAxMUY6VVNFUzpOUlNlY3RvckNhcnJpZXI6M0E3OUNCM0Y1QjRDQ0QxNzlBMDhEQzE5NkNDMkZDOTE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjNBNzlDQjNGNUI0Q0NEMTc5QTA4REMxOTZDQzJGQzkxOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MDI0NDNERTA4MDdEODAxRDY2MTQ5NUQ5RUZCOEQ4MzY= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6M0E3OUNCM0Y1QjRDQ0QxNzlBMDhEQzE5NkNDMkZDOTE= 51D49922CA6CCD2CE451D96BA224011F        02443DE0807D801D661495D9EFB8D836        B6A6DE7D0965F02D48ECA86706A4454F
-0BFA280C5BA850500084E30B612A3753       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=24 1000    20      24      20      20      urn:base64:TlJDZWxsRFU6RDA0MkRFMkQzOEY4RkZFNzBENzM4NzAyMDIxNUIyNTQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6MEJGQTI4MEM1QkE4NTA1MDAwODRFMzBCNjEyQTM3NTM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjBCRkEyODBDNUJBODUwNTAwMDg0RTMwQjYxMkEzNzUzOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzY4MjNEMkI3QUZBMDY0Q0U3NzQ3OTVFMDFENjIyOEI= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MEJGQTI4MEM1QkE4NTA1MDAwODRFMzBCNjEyQTM3NTM= D042DE2D38F8FFE70D7387020215B254        C6823D2B7AFA064CE774795E01D6228B        B6A6DE7D0965F02D48ECA86706A4454F
-04186460C606475B2535287BC9CD5EDA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=25 1000    20      25      20      20      urn:base64:TlJDZWxsRFU6MTVFOTFDMzNCQTk5MzU0RURGMEE2NjdCNUNBRjgxQTU6VVNFUzpOUlNlY3RvckNhcnJpZXI6MDQxODY0NjBDNjA2NDc1QjI1MzUyODdCQzlDRDVFREE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjA0MTg2NDYwQzYwNjQ3NUIyNTM1Mjg3QkM5Q0Q1RURBOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6REYyNkFFNDQyMTEwREIwMjgxREFENDU0NTQzNkI3MjA= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MDQxODY0NjBDNjA2NDc1QjI1MzUyODdCQzlDRDVFREE= 15E91C33BA99354EDF0A667B5CAF81A5        DF26AE442110DB0281DAD4545436B720        B6A6DE7D0965F02D48ECA86706A4454F
-640837A9312B9168202E457BDA67E3AB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=26 1000    20      26      20      20      urn:base64:TlJDZWxsRFU6OUVEMDEwQjI5QkQ5NzM3OUI0NzM5QjZDMEYzMTg4NzQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6NjQwODM3QTkzMTJCOTE2ODIwMkU0NTdCREE2N0UzQUI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjY0MDgzN0E5MzEyQjkxNjgyMDJFNDU3QkRBNjdFM0FCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6N0ExQzZGRTkzNTEwMDhCM0Q1MzkxNjZEOTQyMjI3NjI= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NjQwODM3QTkzMTJCOTE2ODIwMkU0NTdCREE2N0UzQUI= 9ED010B29BD97379B4739B6C0F318874        7A1C6FE9351008B3D539166D94222762        B6A6DE7D0965F02D48ECA86706A4454F
-CC7F67B0939882240419A867FB75BD5B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=27 1000    20      27      20      20      urn:base64:TlJDZWxsRFU6NEQwRjVDQzM2MUYyMTg3REZCQTRFMjQzRjQ4OUVDMEU6VVNFUzpOUlNlY3RvckNhcnJpZXI6Q0M3RjY3QjA5Mzk4ODIyNDA0MTlBODY3RkI3NUJENUI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkNDN0Y2N0IwOTM5ODgyMjQwNDE5QTg2N0ZCNzVCRDVCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NzBBMUYxMjlFMTBFRTdEMzFERkUxRTFBQTZDNzQzN0Q= urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6Q0M3RjY3QjA5Mzk4ODIyNDA0MTlBODY3RkI3NUJENUI= 4D0F5CC361F2187DFBA4E243F489EC0E        70A1F129E10EE7D31DFE1E1AA6C7437D        B6A6DE7D0965F02D48ECA86706A4454F
-9C1FC1BA3A08D95288448538CABB2FED       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=28 1000    20      28      20      20      urn:base64:TlJDZWxsRFU6MzZDMjUxRkIyM0E1NzBBNjdDNDk5RDI4Rjg3REE5NEY6VVNFUzpOUlNlY3RvckNhcnJpZXI6OUMxRkMxQkEzQTA4RDk1Mjg4NDQ4NTM4Q0FCQjJGRUQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjlDMUZDMUJBM0EwOEQ5NTI4ODQ0ODUzOENBQkIyRkVEOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6N0RFOTFDNzhGOERDRTQyOTJGMkYwQzNCMzRERUFDQUI= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OUMxRkMxQkEzQTA4RDk1Mjg4NDQ4NTM4Q0FCQjJGRUQ= 36C251FB23A570A67C499D28F87DA94F        7DE91C78F8DCE4292F2F0C3B34DEACAB        E5FD5ACD55C553A92738477ECB0465B9
-1636D2C97404CC1951A26B242280992E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=29 1000    20      29      20      20      urn:base64:TlJDZWxsRFU6RUM3ODZBNzIxQTA2NEZBMjZCRTQwQkUxNzNGQjkyRTE6VVNFUzpOUlNlY3RvckNhcnJpZXI6MTYzNkQyQzk3NDA0Q0MxOTUxQTI2QjI0MjI4MDk5MkU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjE2MzZEMkM5NzQwNENDMTk1MUEyNkIyNDIyODA5OTJFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MTQ1QTFCRjU2MURCMjk3RjI1RkQzRjEyNDE3RDJBNTA= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MTYzNkQyQzk3NDA0Q0MxOTUxQTI2QjI0MjI4MDk5MkU= EC786A721A064FA26BE40BE173FB92E1        145A1BF561DB297F25FD3F12417D2A50        E5FD5ACD55C553A92738477ECB0465B9
-E2BE0197590AA8391179A2A78F8B7B3E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=30 1000    20      30      20      20      urn:base64:TlJDZWxsRFU6Q0M2RUQ2REZENDJBRUJERThBMUY4MDVEMzA3NjIyQTk6VVNFUzpOUlNlY3RvckNhcnJpZXI6RTJCRTAxOTc1OTBBQTgzOTExNzlBMkE3OEY4QjdCM0U=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkUyQkUwMTk3NTkwQUE4MzkxMTc5QTJBNzhGOEI3QjNFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6OTE4OEQ5NzVEODM3QTFFMDM5NzE2N0EyM0U3MjFCMEM= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RTJCRTAxOTc1OTBBQTgzOTExNzlBMkE3OEY4QjdCM0U= CC6ED6DFD42AEBDE8A1F805D307622A9        9188D975D837A1E0397167A23E721B0C        E5FD5ACD55C553A92738477ECB0465B9
-8BB9FC8DC8AF2821CF0AFF8E31520862       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=31 1000    20      31      20      20      urn:base64:TlJDZWxsRFU6QzM1RjRBNDZFREU5NUQxQkM1NzkxOUMxQUJBMEExNTA6VVNFUzpOUlNlY3RvckNhcnJpZXI6OEJCOUZDOERDOEFGMjgyMUNGMEFGRjhFMzE1MjA4NjI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjhCQjlGQzhEQzhBRjI4MjFDRjBBRkY4RTMxNTIwODYyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RDMxNERBREFGQTNEODk2NDQ1RTc4RUJDQzE1QTE2Rjc= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OEJCOUZDOERDOEFGMjgyMUNGMEFGRjhFMzE1MjA4NjI= C35F4A46EDE95D1BC57919C1ABA0A150        D314DADAFA3D896445E78EBCC15A16F7        E5FD5ACD55C553A92738477ECB0465B9
-C0FE68D810F57154B913E056BC1B4305       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=32 1000    20      32      20      20      urn:base64:TlJDZWxsRFU6QkM2MjQwNDM5MkQ5NjhBRUVBRkEyOTBCNkUwMjk1OTY6VVNFUzpOUlNlY3RvckNhcnJpZXI6QzBGRTY4RDgxMEY1NzE1NEI5MTNFMDU2QkMxQjQzMDU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkMwRkU2OEQ4MTBGNTcxNTRCOTEzRTA1NkJDMUI0MzA1OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MjhBRDNFRTg0NDc2NkRGNTA4RjYyODdDRDFDRTE4QTQ= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QzBGRTY4RDgxMEY1NzE1NEI5MTNFMDU2QkMxQjQzMDU= BC62404392D968AEEAFA290B6E029596        28AD3EE844766DF508F6287CD1CE18A4        E5FD5ACD55C553A92738477ECB0465B9
-2548E12457EDEFCD4119460CFD302977       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=33 1000    20      33      20      20      urn:base64:TlJDZWxsRFU6NTQ5QUU5NEE1RThCNzRDRDc0NUFFRjU2NDhCOEM1MjQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6MjU0OEUxMjQ1N0VERUZDRDQxMTk0NjBDRkQzMDI5Nzc=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjI1NDhFMTI0NTdFREVGQ0Q0MTE5NDYwQ0ZEMzAyOTc3OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzM5OEQ2QzY3MzI2N0EwODFDNzgxRDg0NDM4RjRCNzQ= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MjU0OEUxMjQ1N0VERUZDRDQxMTk0NjBDRkQzMDI5Nzc= 549AE94A5E8B74CD745AEF5648B8C524        C398D6C673267A081C781D84438F4B74        E5FD5ACD55C553A92738477ECB0465B9
-6DF1BB3C1B04A2AFF8FCFAE6B9E6C059       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=34 1000    20      34      20      20      urn:base64:TlJDZWxsRFU6MTQ4RUI5MkQ4ODAyRTk1M0ZGMjZDRkQxNzRCNkQ4MDQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6NkRGMUJCM0MxQjA0QTJBRkY4RkNGQUU2QjlFNkMwNTk=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjZERjFCQjNDMUIwNEEyQUZGOEZDRkFFNkI5RTZDMDU5OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MEJEQUQ1RERDMTlBNjk2MjQ0NTM2NDIxRTZEMjZGRTM= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NkRGMUJCM0MxQjA0QTJBRkY4RkNGQUU2QjlFNkMwNTk= 148EB92D8802E953FF26CFD174B6D804        0BDAD5DDC19A696244536421E6D26FE3        E5FD5ACD55C553A92738477ECB0465B9
-49C7F3D0A74534A1DD284353BA721340       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=35 1000    20      35      20      20      urn:base64:TlJDZWxsRFU6NEIxRUU3M0VCRDQ2ODAxNTgyQjJGRkE1MjEzMDUyNEY6VVNFUzpOUlNlY3RvckNhcnJpZXI6NDlDN0YzRDBBNzQ1MzRBMUREMjg0MzUzQkE3MjEzNDA=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjQ5QzdGM0QwQTc0NTM0QTFERDI4NDM1M0JBNzIxMzQwOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NDkyMDU4ODFDOTEyMUYyMDhCRDc5MTQ5RkE3OTk4Nzc= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NDlDN0YzRDBBNzQ1MzRBMUREMjg0MzUzQkE3MjEzNDA= 4B1EE73EBD46801582B2FFA52130524F        49205881C9121F208BD79149FA799877        E5FD5ACD55C553A92738477ECB0465B9
-AA66002C42C823375606A6793855D3FC       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=36 1000    20      36      20      20      urn:base64:TlJDZWxsRFU6NzQ2N0NFRjJBQzA4MDhGMzU5NTQ0NEM3RDMxQTE3MTA6VVNFUzpOUlNlY3RvckNhcnJpZXI6QUE2NjAwMkM0MkM4MjMzNzU2MDZBNjc5Mzg1NUQzRkM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkFBNjYwMDJDNDJDODIzMzc1NjA2QTY3OTM4NTVEM0ZDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QTMyREI5RTI3OEZDMURFNDFGQjRBM0I1MEY4MDI2NTA= urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QUE2NjAwMkM0MkM4MjMzNzU2MDZBNjc5Mzg1NUQzRkM= 7467CEF2AC0808F3595444C7D31A1710        A32DB9E278FC1DE41FB4A3B50F802650        E5FD5ACD55C553A92738477ECB0465B9
-1C8C22D9065F1139C7CCA45EEF8C61EF       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=37 1000    20      37      20      20      urn:base64:TlJDZWxsRFU6NDlDODY4MzA1OUYzOEY3QjY4MUZGMjczMDU4NUY5QTY6VVNFUzpOUlNlY3RvckNhcnJpZXI6MUM4QzIyRDkwNjVGMTEzOUM3Q0NBNDVFRUY4QzYxRUY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjFDOEMyMkQ5MDY1RjExMzlDN0NDQTQ1RUVGOEM2MUVGOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QkRFMzgxQkFDQzY3MjkwRTQ0N0JDMDE3N0UwMzhBRUI= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MUM4QzIyRDkwNjVGMTEzOUM3Q0NBNDVFRUY4QzYxRUY= 49C8683059F38F7B681FF2730585F9A6        BDE381BACC67290E447BC0177E038AEB        25E690E22BDA90B9C4FEE1F083CBA597
-D266E324A64EC29530E026DD07A50720       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=38 1000    20      38      20      20      urn:base64:TlJDZWxsRFU6RDNBMEZEREMyMkUxMjlDMkVCN0IwQTVFNzgwOENCN0U6VVNFUzpOUlNlY3RvckNhcnJpZXI6RDI2NkUzMjRBNjRFQzI5NTMwRTAyNkREMDdBNTA3MjA=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkQyNjZFMzI0QTY0RUMyOTUzMEUwMjZERDA3QTUwNzIwOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QjRCQzREMUIxM0VCNjUxNjkwRjMxOTVFNjIyQ0M0QkQ= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RDI2NkUzMjRBNjRFQzI5NTMwRTAyNkREMDdBNTA3MjA= D3A0FDDC22E129C2EB7B0A5E7808CB7E        B4BC4D1B13EB651690F3195E622CC4BD        25E690E22BDA90B9C4FEE1F083CBA597
-875DAAED20D2AC563357371DFFCDC86D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=39 1000    20      39      20      20      urn:base64:TlJDZWxsRFU6RUFERkQyRkYzQjI0QkJBMTUxMDNGMzEyNkM0RTI5NUQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODc1REFBRUQyMEQyQUM1NjMzNTczNzFERkZDREM4NkQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjg3NURBQUVEMjBEMkFDNTYzMzU3MzcxREZGQ0RDODZEOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MzJFRTM4NUVBQ0QyNkEwMDQ2QkFENUNDODQ5MDVFQ0I= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODc1REFBRUQyMEQyQUM1NjMzNTczNzFERkZDREM4NkQ= EADFD2FF3B24BBA15103F3126C4E295D        32EE385EACD26A0046BAD5CC84905ECB        25E690E22BDA90B9C4FEE1F083CBA597
-E073BB0603BCA819D7537384AB62B902       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=40 1000    20      40      20      20      urn:base64:TlJDZWxsRFU6NzJENDI3RjVBRkU3RTBBQjY1OTEyOEI0MjMxMzE5QjQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6RTA3M0JCMDYwM0JDQTgxOUQ3NTM3Mzg0QUI2MkI5MDI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkUwNzNCQjA2MDNCQ0E4MTlENzUzNzM4NEFCNjJCOTAyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NDNCNjMxMDZCMjdGQjA1QzYxODQwMEVFNUFFOTE2Mzc= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RTA3M0JCMDYwM0JDQTgxOUQ3NTM3Mzg0QUI2MkI5MDI= 72D427F5AFE7E0AB659128B4231319B4        43B63106B27FB05C618400EE5AE91637        25E690E22BDA90B9C4FEE1F083CBA597
-F0C1F478850C438AE4A55B916706D319       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=41 1000    20      41      20      20      urn:base64:TlJDZWxsRFU6REUzNDlBMjhGRkI4QkVDQzM5NTc5NzcyNzM1NjIxMzA6VVNFUzpOUlNlY3RvckNhcnJpZXI6RjBDMUY0Nzg4NTBDNDM4QUU0QTU1QjkxNjcwNkQzMTk=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkYwQzFGNDc4ODUwQzQzOEFFNEE1NUI5MTY3MDZEMzE5OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzgxM0UxODY1N0MyQzU4MzdBM0YyMzdCQUQ1NTc5NDQ= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RjBDMUY0Nzg4NTBDNDM4QUU0QTU1QjkxNjcwNkQzMTk= DE349A28FFB8BECC3957977273562130        C813E18657C2C5837A3F237BAD557944        25E690E22BDA90B9C4FEE1F083CBA597
-6459BBB9E31E42DD1BA64F183EE6D4D1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=42 1000    20      42      20      20      urn:base64:TlJDZWxsRFU6OUE4NTU1OUZEMTBERTE5RTM5QTgzMDM5QzBBRjEyQ0Q6VVNFUzpOUlNlY3RvckNhcnJpZXI6NjQ1OUJCQjlFMzFFNDJERDFCQTY0RjE4M0VFNkQ0RDE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjY0NTlCQkI5RTMxRTQyREQxQkE2NEYxODNFRTZENEQxOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NDYyRENDREVBNUEyODkyQjhDODYzMDcyNDY3OUI2NzY= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NjQ1OUJCQjlFMzFFNDJERDFCQTY0RjE4M0VFNkQ0RDE= 9A85559FD10DE19E39A83039C0AF12CD        462DCCDEA5A2892B8C8630724679B676        25E690E22BDA90B9C4FEE1F083CBA597
-B0A6F73C534723853CBDF21B0CFA2642       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=43 1000    20      43      20      20      urn:base64:TlJDZWxsRFU6NDc2NjgxNDM3RDY4MEQ5MENGM0I3OEU3MTE0RjdGMjE6VVNFUzpOUlNlY3RvckNhcnJpZXI6QjBBNkY3M0M1MzQ3MjM4NTNDQkRGMjFCMENGQTI2NDI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkIwQTZGNzNDNTM0NzIzODUzQ0JERjIxQjBDRkEyNjQyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RjZEMEZGMjA2OUYwMzhGRjY0RDA3MkM4MThERDlCRkQ= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QjBBNkY3M0M1MzQ3MjM4NTNDQkRGMjFCMENGQTI2NDI= 476681437D680D90CF3B78E7114F7F21        F6D0FF2069F038FF64D072C818DD9BFD        25E690E22BDA90B9C4FEE1F083CBA597
-BCC9DC05304B61096FEDEB9C0FCDBF32       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=44 1000    20      44      20      20      urn:base64:TlJDZWxsRFU6MUVGMzU2RTIzQTAwNjlENkE5N0FEODlFMEQ2QzA1Rjk6VVNFUzpOUlNlY3RvckNhcnJpZXI6QkNDOURDMDUzMDRCNjEwOTZGRURFQjlDMEZDREJGMzI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkJDQzlEQzA1MzA0QjYxMDk2RkVERUI5QzBGQ0RCRjMyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzVDNTk4NTExQzc1MTQwNjFFODZEQTI0RjhEQjM1OUQ= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QkNDOURDMDUzMDRCNjEwOTZGRURFQjlDMEZDREJGMzI= 1EF356E23A0069D6A97AD89E0D6C05F9        C5C598511C7514061E86DA24F8DB359D        25E690E22BDA90B9C4FEE1F083CBA597
-85207C734C32180D07026CD931FDB7F6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=45 1000    20      45      20      20      urn:base64:TlJDZWxsRFU6NjA3ODZERDVCODlGNDA1Q0EzRjg0M0U1REQyRUFDQTY6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODUyMDdDNzM0QzMyMTgwRDA3MDI2Q0Q5MzFGREI3RjY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjg1MjA3QzczNEMzMjE4MEQwNzAyNkNEOTMxRkRCN0Y2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MTM4NzZGRUNFRURGNDVBRTREQ0E4QzM5M0U0NzgyMzc= urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODUyMDdDNzM0QzMyMTgwRDA3MDI2Q0Q5MzFGREI3RjY= 60786DD5B89F405CA3F843E5DD2EACA6        13876FECEEDF45AE4DCA8C393E478237        25E690E22BDA90B9C4FEE1F083CBA597
-038A46775C277265E4EACF0E7790F7B4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=46 1000    20      46      20      20      urn:base64:TlJDZWxsRFU6RjBGNEU3MzM1RTE1NTQwRjI3ODQ2NjVEMUE0OUFBNkI6VVNFUzpOUlNlY3RvckNhcnJpZXI6MDM4QTQ2Nzc1QzI3NzI2NUU0RUFDRjBFNzc5MEY3QjQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjAzOEE0Njc3NUMyNzcyNjVFNEVBQ0YwRTc3OTBGN0I0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MDA4MzM5MDM4OTFEMDdEMDYyOEUwM0ZGNDQ2M0ExNEE= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MDM4QTQ2Nzc1QzI3NzI2NUU0RUFDRjBFNzc5MEY3QjQ= F0F4E7335E15540F2784665D1A49AA6B        00833903891D07D0628E03FF4463A14A        5A3085C3400C3096E2ED2321452766B1
-C28615FC40FD89A29BC257C53846EC1B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=47 1000    20      47      20      20      urn:base64:TlJDZWxsRFU6NThEOTlDNkNBRDBFMDI3NjMyQzVDQzJGQTVDMzhEQjQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6QzI4NjE1RkM0MEZEODlBMjlCQzI1N0M1Mzg0NkVDMUI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkMyODYxNUZDNDBGRDg5QTI5QkMyNTdDNTM4NDZFQzFCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzRBMjgzRUVGRDVGMTQ2M0I3RUUwQ0E3ODI0MDlERkI= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QzI4NjE1RkM0MEZEODlBMjlCQzI1N0M1Mzg0NkVDMUI= 58D99C6CAD0E027632C5CC2FA5C38DB4        C4A283EEFD5F1463B7EE0CA782409DFB        5A3085C3400C3096E2ED2321452766B1
-BF3233CB2F106EC2E4C25BDCFB30D7EE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=48 1000    20      48      20      20      urn:base64:TlJDZWxsRFU6RUNFQzY2NDY0MTk5NDcwNENFNkE0MjIyQUEzMEVFNzg6VVNFUzpOUlNlY3RvckNhcnJpZXI6QkYzMjMzQ0IyRjEwNkVDMkU0QzI1QkRDRkIzMEQ3RUU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkJGMzIzM0NCMkYxMDZFQzJFNEMyNUJEQ0ZCMzBEN0VFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QUZGRUFGMUQwRjJEMzA1MjRDNDlCQTg2RDUyRjM5RUU= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QkYzMjMzQ0IyRjEwNkVDMkU0QzI1QkRDRkIzMEQ3RUU= ECEC664641994704CE6A4222AA30EE78        AFFEAF1D0F2D30524C49BA86D52F39EE        5A3085C3400C3096E2ED2321452766B1
-22361310BFA331208A86E1F995A14DA8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=49 1000    20      49      20      20      urn:base64:TlJDZWxsRFU6NjFDOUEzQjVFMjQ0MjRGM0MyMUU3RTcwMkY4MUNDOTI6VVNFUzpOUlNlY3RvckNhcnJpZXI6MjIzNjEzMTBCRkEzMzEyMDhBODZFMUY5OTVBMTREQTg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjIyMzYxMzEwQkZBMzMxMjA4QTg2RTFGOTk1QTE0REE4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RTJBMTNDRjU2QzBFMTg3QzYyRkY5NzE2QkIwRkNFRDY= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MjIzNjEzMTBCRkEzMzEyMDhBODZFMUY5OTVBMTREQTg= 61C9A3B5E24424F3C21E7E702F81CC92        E2A13CF56C0E187C62FF9716BB0FCED6        5A3085C3400C3096E2ED2321452766B1
-93F359E5525EC94925936A3E372E7D9B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=50 1000    20      50      20      20      urn:base64:TlJDZWxsRFU6MzQwRjE3MDA3MUQ3OEFDQTNGNEU1M0FDRUUxRjJGNDk6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTNGMzU5RTU1MjVFQzk0OTI1OTM2QTNFMzcyRTdEOUI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjkzRjM1OUU1NTI1RUM5NDkyNTkzNkEzRTM3MkU3RDlCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RTNFMUZCMzFGQjVGNEZCMUNBODA4MDM2NDc0QkREOTU= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTNGMzU5RTU1MjVFQzk0OTI1OTM2QTNFMzcyRTdEOUI= 340F170071D78ACA3F4E53ACEE1F2F49        E3E1FB31FB5F4FB1CA808036474BDD95        5A3085C3400C3096E2ED2321452766B1
-95C1DFA87C196F8C4DD47D0F3EFF53CA       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=51 1000    20      51      20      20      urn:base64:TlJDZWxsRFU6MzI1MjE5NTNBQTI1NTVCQ0NGNjcxRkM2NTQ0RjQ1OEE6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTVDMURGQTg3QzE5NkY4QzRERDQ3RDBGM0VGRjUzQ0E=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjk1QzFERkE4N0MxOTZGOEM0REQ0N0QwRjNFRkY1M0NBOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NTc2OUMwMjZENzk5M0M2NjZDNDU1MzVFREQ4QzNFQUQ= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTVDMURGQTg3QzE5NkY4QzRERDQ3RDBGM0VGRjUzQ0E= 32521953AA2555BCCF671FC6544F458A        5769C026D7993C666C45535EDD8C3EAD        5A3085C3400C3096E2ED2321452766B1
-3FF49FD0BB880CA73E8C9116E3B61EE6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=52 1000    20      52      20      20      urn:base64:TlJDZWxsRFU6N0Q2QTREMDU4QjRENzdEQTM5RkNEQzJGQzlBMUI3OEE6VVNFUzpOUlNlY3RvckNhcnJpZXI6M0ZGNDlGRDBCQjg4MENBNzNFOEM5MTE2RTNCNjFFRTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjNGRjQ5RkQwQkI4ODBDQTczRThDOTExNkUzQjYxRUU2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MkEzMjQ3NUVGNEY0QUI0MTkwNEI1QUFBQThGRjJDQTE= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6M0ZGNDlGRDBCQjg4MENBNzNFOEM5MTE2RTNCNjFFRTY= 7D6A4D058B4D77DA39FCDC2FC9A1B78A        2A32475EF4F4AB41904B5AAAA8FF2CA1        5A3085C3400C3096E2ED2321452766B1
-762BE1E7378F160158F6FF5D7052BAB4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=53 1000    20      53      20      20      urn:base64:TlJDZWxsRFU6MjdGNzU3N0JDRjA4Q0UzQjRGMUE0MDExRkNFRTY5M0M6VVNFUzpOUlNlY3RvckNhcnJpZXI6NzYyQkUxRTczNzhGMTYwMTU4RjZGRjVENzA1MkJBQjQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjc2MkJFMUU3Mzc4RjE2MDE1OEY2RkY1RDcwNTJCQUI0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RUIxMzAxQkEyMkUwNjkxMTE0QTIzNDQ1MzIzQjY0OUI= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NzYyQkUxRTczNzhGMTYwMTU4RjZGRjVENzA1MkJBQjQ= 27F7577BCF08CE3B4F1A4011FCEE693C        EB1301BA22E0691114A23445323B649B        5A3085C3400C3096E2ED2321452766B1
-60B08A9ECA8793B724689C58B535A512       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=54 1000    20      54      20      20      urn:base64:TlJDZWxsRFU6MDMyN0M3RjJCRkIzODZCOUM5MUM4RjkzQzcwRjRCMEY6VVNFUzpOUlNlY3RvckNhcnJpZXI6NjBCMDhBOUVDQTg3OTNCNzI0Njg5QzU4QjUzNUE1MTI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjYwQjA4QTlFQ0E4NzkzQjcyNDY4OUM1OEI1MzVBNTEyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6Mjg1QTc1OTBDRUMwQkM0NkYwQzFBOEEzRDFBQTJCQTU= urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NjBCMDhBOUVDQTg3OTNCNzI0Njg5QzU4QjUzNUE1MTI= 0327C7F2BFB386B9C91C8F93C70F4B0F        285A7590CEC0BC46F0C1A8A3D1AA2BA5        5A3085C3400C3096E2ED2321452766B1
-9EBF76D73DA1DBD1A03B2767260AFB68       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=55 1000    20      55      20      20      urn:base64:TlJDZWxsRFU6NDI3OUE4NUE3NkNCQjI1NkUwRTRDMkJCQ0I3OEZCQ0I6VVNFUzpOUlNlY3RvckNhcnJpZXI6OUVCRjc2RDczREExREJEMUEwM0IyNzY3MjYwQUZCNjg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjlFQkY3NkQ3M0RBMURCRDFBMDNCMjc2NzI2MEFGQjY4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzYwNkFGMUExQUM1QTk2QTQzQjBCOEVCRkMxQjA0N0M= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OUVCRjc2RDczREExREJEMUEwM0IyNzY3MjYwQUZCNjg= 4279A85A76CBB256E0E4C2BBCB78FBCB        C606AF1A1AC5A96A43B0B8EBFC1B047C        7F16F93D8816D9EBC76E52BB44A3CFF5
-C8642E19317492BB0B99A217414605BE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=56 1000    20      56      20      20      urn:base64:TlJDZWxsRFU6MjJDQzJGNzdCQzBEMTc1OEU0QUM5MEQwODQ0RUIwRkE6VVNFUzpOUlNlY3RvckNhcnJpZXI6Qzg2NDJFMTkzMTc0OTJCQjBCOTlBMjE3NDE0NjA1QkU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkM4NjQyRTE5MzE3NDkyQkIwQjk5QTIxNzQxNDYwNUJFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NDBGQjU0ODE0MDJEQ0U4QUQ2QjNCMDM1N0IwMENGODI= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6Qzg2NDJFMTkzMTc0OTJCQjBCOTlBMjE3NDE0NjA1QkU= 22CC2F77BC0D1758E4AC90D0844EB0FA        40FB5481402DCE8AD6B3B0357B00CF82        7F16F93D8816D9EBC76E52BB44A3CFF5
-002FF41FF01735718EFB3F7171B39D81       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=57 1000    20      57      20      20      urn:base64:TlJDZWxsRFU6RUJBRTk2QzQwMjc0MkI0QkNCQTA2MDhBREMyMzI1MUE6VVNFUzpOUlNlY3RvckNhcnJpZXI6MDAyRkY0MUZGMDE3MzU3MThFRkIzRjcxNzFCMzlEODE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjAwMkZGNDFGRjAxNzM1NzE4RUZCM0Y3MTcxQjM5RDgxOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RkQ4RjNERThCOEFGMkZEMTAyRjM5RDBFRDg5QjM3MTQ= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MDAyRkY0MUZGMDE3MzU3MThFRkIzRjcxNzFCMzlEODE= EBAE96C402742B4BCBA0608ADC23251A        FD8F3DE8B8AF2FD102F39D0ED89B3714        7F16F93D8816D9EBC76E52BB44A3CFF5
-CB9E427C06705864073AA7D78A7A3B02       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=58 1000    20      58      20      20      urn:base64:TlJDZWxsRFU6QjA0RUQ0MDU0RkYxMjRFNDYwODFDRTU5NjhCMTdDQjk6VVNFUzpOUlNlY3RvckNhcnJpZXI6Q0I5RTQyN0MwNjcwNTg2NDA3M0FBN0Q3OEE3QTNCMDI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkNCOUU0MjdDMDY3MDU4NjQwNzNBQTdENzhBN0EzQjAyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NUNFQTI0NzBEOTlBOEEyQkIzRUQ5MEJDMTVEQjExNDA= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6Q0I5RTQyN0MwNjcwNTg2NDA3M0FBN0Q3OEE3QTNCMDI= B04ED4054FF124E46081CE5968B17CB9        5CEA2470D99A8A2BB3ED90BC15DB1140        7F16F93D8816D9EBC76E52BB44A3CFF5
-60EA4CECF73A4A866DDD77235AA9D79C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=59 1000    20      59      20      20      urn:base64:TlJDZWxsRFU6OEVDMjE3RDIyOEJBOTE3NUEyRTczMzU4NjY1QjVEM0U6VVNFUzpOUlNlY3RvckNhcnJpZXI6NjBFQTRDRUNGNzNBNEE4NjZEREQ3NzIzNUFBOUQ3OUM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjYwRUE0Q0VDRjczQTRBODY2RERENzcyMzVBQTlENzlDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NkEyM0E4QjhCNUFDRUE3NzVENkU5OEJBQzE1MzQzNzM= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NjBFQTRDRUNGNzNBNEE4NjZEREQ3NzIzNUFBOUQ3OUM= 8EC217D228BA9175A2E73358665B5D3E        6A23A8B8B5ACEA775D6E98BAC1534373        7F16F93D8816D9EBC76E52BB44A3CFF5
-D79B52CD8D1C0534158B2DF8C68D25D4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=60 1000    20      60      20      20      urn:base64:TlJDZWxsRFU6N0M5NzA3QjFFQUQzMTY4N0Q1NkRGQTA4QTc2NTYzODY6VVNFUzpOUlNlY3RvckNhcnJpZXI6RDc5QjUyQ0Q4RDFDMDUzNDE1OEIyREY4QzY4RDI1RDQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkQ3OUI1MkNEOEQxQzA1MzQxNThCMkRGOEM2OEQyNUQ0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MUQyNzNGREQ0NTYxOENCRDQzOEQwMDgzODczMzE0RDU= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RDc5QjUyQ0Q4RDFDMDUzNDE1OEIyREY4QzY4RDI1RDQ= 7C9707B1EAD31687D56DFA08A7656386        1D273FDD45618CBD438D0083873314D5        7F16F93D8816D9EBC76E52BB44A3CFF5
-9504ECC61014E4CC3B7D59B2419EC7F5       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=61 1000    20      61      20      20      urn:base64:TlJDZWxsRFU6MDIzRkM0NUFGNTQwQUZDQTMyMDVEODQ2RDA3QzA0OEI6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTUwNEVDQzYxMDE0RTRDQzNCN0Q1OUIyNDE5RUM3RjU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjk1MDRFQ0M2MTAxNEU0Q0MzQjdENTlCMjQxOUVDN0Y1OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RTA3Rjc2RUVGQTNGNkQxQTUwODNDOTlGM0QyMDJDQ0Q= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTUwNEVDQzYxMDE0RTRDQzNCN0Q1OUIyNDE5RUM3RjU= 023FC45AF540AFCA3205D846D07C048B        E07F76EEFA3F6D1A5083C99F3D202CCD        7F16F93D8816D9EBC76E52BB44A3CFF5
-C118C7F37F4D6DD5269518496F58278B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=62 1000    20      62      20      20      urn:base64:TlJDZWxsRFU6QjQ2NTU4RURCMUNCMjcxODZCRTMxRDNGQTU0ODU2RjA6VVNFUzpOUlNlY3RvckNhcnJpZXI6QzExOEM3RjM3RjRENkRENTI2OTUxODQ5NkY1ODI3OEI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkMxMThDN0YzN0Y0RDZERDUyNjk1MTg0OTZGNTgyNzhCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MTczMzg4Nzg1Q0I0NzYxQjE1NEY0NDhBRTYzNzJBREM= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QzExOEM3RjM3RjRENkRENTI2OTUxODQ5NkY1ODI3OEI= B46558EDB1CB27186BE31D3FA54856F0        173388785CB4761B154F448AE6372ADC        7F16F93D8816D9EBC76E52BB44A3CFF5
-F50176FD7602FBD61BB1783C39F32337       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=63 1000    20      63      20      20      urn:base64:TlJDZWxsRFU6QzVDRDQyRUY2MDhDQjkzRjRBRUYwRTQ3MzI5REY0MTc6VVNFUzpOUlNlY3RvckNhcnJpZXI6RjUwMTc2RkQ3NjAyRkJENjFCQjE3ODNDMzlGMzIzMzc=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkY1MDE3NkZENzYwMkZCRDYxQkIxNzgzQzM5RjMyMzM3OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QUExN0NFMTUwNENENDUxMjEyMTI2N0MyMjAzNDYyMEE= urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RjUwMTc2RkQ3NjAyRkJENjFCQjE3ODNDMzlGMzIzMzc= C5CD42EF608CB93F4AEF0E47329DF417        AA17CE1504CD4512121267C22034620A        7F16F93D8816D9EBC76E52BB44A3CFF5
-5A4EEB021CBB4A07BBE87E795CF81B7A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=64 1000    20      64      20      20      urn:base64:TlJDZWxsRFU6REE0OTJEQTE1NTlGQzc1OTVEMDdERkY1M0FERDM4QUQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6NUE0RUVCMDIxQ0JCNEEwN0JCRTg3RTc5NUNGODFCN0E=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjVBNEVFQjAyMUNCQjRBMDdCQkU4N0U3OTVDRjgxQjdBOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NTQyRDU2MkU3MkM4MDI1REQ1NjBENzE4RkZERTFENDU= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NUE0RUVCMDIxQ0JCNEEwN0JCRTg3RTc5NUNGODFCN0E= DA492DA1559FC7595D07DFF53ADD38AD        542D562E72C8025DD560D718FFDE1D45        5A548EA9D166341776CA0695837E55D8
-E27E9E45BDB39E54A28C868A0A5ACD09       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=65 1000    20      65      20      20      urn:base64:TlJDZWxsRFU6OEU3OTRDM0UxRUVFNkVGOEI2OUMyNjhFMDY1NTNDOTE6VVNFUzpOUlNlY3RvckNhcnJpZXI6RTI3RTlFNDVCREIzOUU1NEEyOEM4NjhBMEE1QUNEMDk=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkUyN0U5RTQ1QkRCMzlFNTRBMjhDODY4QTBBNUFDRDA5OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RTNDOTZCQTVEN0MwNzU1QTMwMTFEMTJBMzI5NzFCQTE= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RTI3RTlFNDVCREIzOUU1NEEyOEM4NjhBMEE1QUNEMDk= 8E794C3E1EEE6EF8B69C268E06553C91        E3C96BA5D7C0755A3011D12A32971BA1        5A548EA9D166341776CA0695837E55D8
-115E21696AADCAA2F2B2E30861861796       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=66 1000    20      66      20      20      urn:base64:TlJDZWxsRFU6QzJFMEI5MTEzQ0VBQzkxREY1RTE4MkI0MzFENTY3ODg6VVNFUzpOUlNlY3RvckNhcnJpZXI6MTE1RTIxNjk2QUFEQ0FBMkYyQjJFMzA4NjE4NjE3OTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjExNUUyMTY5NkFBRENBQTJGMkIyRTMwODYxODYxNzk2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QjRDMzMzRUNEOTJBNzM1MUEzOEVFM0JDNTEwQjVEQTc= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MTE1RTIxNjk2QUFEQ0FBMkYyQjJFMzA4NjE4NjE3OTY= C2E0B9113CEAC91DF5E182B431D56788        B4C333ECD92A7351A38EE3BC510B5DA7        5A548EA9D166341776CA0695837E55D8
-8D48BFDE1001B30AE5DBD567A0977E28       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=67 1000    20      67      20      20      urn:base64:TlJDZWxsRFU6OEVCN0JBQ0IwODVGMUFBQzAyRTE4RUJBNjk0QUQ5RDk6VVNFUzpOUlNlY3RvckNhcnJpZXI6OEQ0OEJGREUxMDAxQjMwQUU1REJENTY3QTA5NzdFMjg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjhENDhCRkRFMTAwMUIzMEFFNURCRDU2N0EwOTc3RTI4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NkY3NTExNkJCMjg5RUNEOEVCMUE5NjI1MkZEOEY3QzA= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OEQ0OEJGREUxMDAxQjMwQUU1REJENTY3QTA5NzdFMjg= 8EB7BACB085F1AAC02E18EBA694AD9D9        6F75116BB289ECD8EB1A96252FD8F7C0        5A548EA9D166341776CA0695837E55D8
-1C1B57F8771B4B4ABA9BB6AE99D3432A       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=68 1000    20      68      20      20      urn:base64:TlJDZWxsRFU6RUNGMEM3QzdCREZGRTM5QjMyNjM3QzM5OTI0REExNDc6VVNFUzpOUlNlY3RvckNhcnJpZXI6MUMxQjU3Rjg3NzFCNEI0QUJBOUJCNkFFOTlEMzQzMkE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjFDMUI1N0Y4NzcxQjRCNEFCQTlCQjZBRTk5RDM0MzJBOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MTZCODcwNTExRkFBRjExODNGQzkyRTY0MUIyQzM4MDQ= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MUMxQjU3Rjg3NzFCNEI0QUJBOUJCNkFFOTlEMzQzMkE= ECF0C7C7BDFFE39B32637C39924DA147        16B870511FAAF1183FC92E641B2C3804        5A548EA9D166341776CA0695837E55D8
-EE48951D6D57E40EF435A9768D332F90       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=69 1000    20      69      20      20      urn:base64:TlJDZWxsRFU6RTM4MTYwMTNFMzc4RTkyODM3NzQzMzA5OENDNEM0OUY6VVNFUzpOUlNlY3RvckNhcnJpZXI6RUU0ODk1MUQ2RDU3RTQwRUY0MzVBOTc2OEQzMzJGOTA=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkVFNDg5NTFENkQ1N0U0MEVGNDM1QTk3NjhEMzMyRjkwOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MkM3QUE4MDlDRDFBOTJGRDc0RUM0MTUxRDdDMTZBOEQ= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RUU0ODk1MUQ2RDU3RTQwRUY0MzVBOTc2OEQzMzJGOTA= E3816013E378E928377433098CC4C49F        2C7AA809CD1A92FD74EC4151D7C16A8D        5A548EA9D166341776CA0695837E55D8
-C28F7CEE3CB0BBFBF0C6F719FEC211BB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=70 1000    20      70      20      20      urn:base64:TlJDZWxsRFU6Q0VDMzlBQzYyMEVEMTM5NzhGNzhDODAyMkUyMUNGOUU6VVNFUzpOUlNlY3RvckNhcnJpZXI6QzI4RjdDRUUzQ0IwQkJGQkYwQzZGNzE5RkVDMjExQkI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkMyOEY3Q0VFM0NCMEJCRkJGMEM2RjcxOUZFQzIxMUJCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MkMyMUQxMDY5NDYwRjM1RkYzODk1MkYxMDUwREY3Q0M= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QzI4RjdDRUUzQ0IwQkJGQkYwQzZGNzE5RkVDMjExQkI= CEC39AC620ED13978F78C8022E21CF9E        2C21D1069460F35FF38952F1050DF7CC        5A548EA9D166341776CA0695837E55D8
-C5CF3C623988E715923D7886CB2466A6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=71 1000    20      71      20      20      urn:base64:TlJDZWxsRFU6MzczNzIxRjg1QUM5MzM5QzUxN0M4ODk1QzI5RkY2MkE6VVNFUzpOUlNlY3RvckNhcnJpZXI6QzVDRjNDNjIzOTg4RTcxNTkyM0Q3ODg2Q0IyNDY2QTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkM1Q0YzQzYyMzk4OEU3MTU5MjNENzg4NkNCMjQ2NkE2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QUEzRUQwQzgyQTlGRTZENzQxMkI3QzU1OEE5NkNEQTU= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QzVDRjNDNjIzOTg4RTcxNTkyM0Q3ODg2Q0IyNDY2QTY= 373721F85AC9339C517C8895C29FF62A        AA3ED0C82A9FE6D7412B7C558A96CDA5        5A548EA9D166341776CA0695837E55D8
-6F3BF87603496381A0AA401D9AC6B915       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=72 1000    20      72      20      20      urn:base64:TlJDZWxsRFU6MDc2OTFCOEQ1REY3Q0I3NzNCNjM1OTlEMTE4RTNFRkI6VVNFUzpOUlNlY3RvckNhcnJpZXI6NkYzQkY4NzYwMzQ5NjM4MUEwQUE0MDFEOUFDNkI5MTU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjZGM0JGODc2MDM0OTYzODFBMEFBNDAxRDlBQzZCOTE1OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QjVEMzY5MDVDODdEQTYzNjYxMUMxMzcxNTk3MjdDRUU= urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NkYzQkY4NzYwMzQ5NjM4MUEwQUE0MDFEOUFDNkI5MTU= 07691B8D5DF7CB773B63599D118E3EFB        B5D36905C87DA636611C137159727CEE        5A548EA9D166341776CA0695837E55D8
-5ECA43F7689D63684649BD90D40B79DD       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=73 1000    20      73      20      20      urn:base64:TlJDZWxsRFU6MTM4Q0UzQjIxQzgwNTM2NzVFMEVCREM0MUMzNkU5OUQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6NUVDQTQzRjc2ODlENjM2ODQ2NDlCRDkwRDQwQjc5REQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjVFQ0E0M0Y3Njg5RDYzNjg0NjQ5QkQ5MEQ0MEI3OUREOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6M0VGNEM3MTM1NEVDNTI3QUIwMzNBM0ZCODIwRjQ4RTQ= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NUVDQTQzRjc2ODlENjM2ODQ2NDlCRDkwRDQwQjc5REQ= 138CE3B21C8053675E0EBDC41C36E99D        3EF4C71354EC527AB033A3FB820F48E4        7D80E5C6E0C9EC246370E86B7E524F8C
-FF661FEC250A16BBE36D49880E4C2429       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=74 1000    20      74      20      20      urn:base64:TlJDZWxsRFU6MUY3MDI4MDBEMUY3MzU5OTU4MjgzREJDQjQ1QzBERDA6VVNFUzpOUlNlY3RvckNhcnJpZXI6RkY2NjFGRUMyNTBBMTZCQkUzNkQ0OTg4MEU0QzI0Mjk=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkZGNjYxRkVDMjUwQTE2QkJFMzZENDk4ODBFNEMyNDI5OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MEIzNjgxRjE5NTU4NEVGMTA1MUI5MTRFQjYzRUJCQ0I= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RkY2NjFGRUMyNTBBMTZCQkUzNkQ0OTg4MEU0QzI0Mjk= 1F702800D1F7359958283DBCB45C0DD0        0B3681F195584EF1051B914EB63EBBCB        7D80E5C6E0C9EC246370E86B7E524F8C
-B6372CE9CE6325BA1ADBDD0500C73B8E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=75 1000    20      75      20      20      urn:base64:TlJDZWxsRFU6MENFMzMyMEU2QjQxRkMyM0I2QjBGQTRGRDIxMDNCMkM6VVNFUzpOUlNlY3RvckNhcnJpZXI6QjYzNzJDRTlDRTYzMjVCQTFBREJERDA1MDBDNzNCOEU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkI2MzcyQ0U5Q0U2MzI1QkExQURCREQwNTAwQzczQjhFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NTlBNzdGQkJEQzhFMTgxOTc0MUU0NzI4NTk2QzQzNUM= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QjYzNzJDRTlDRTYzMjVCQTFBREJERDA1MDBDNzNCOEU= 0CE3320E6B41FC23B6B0FA4FD2103B2C        59A77FBBDC8E1819741E4728596C435C        7D80E5C6E0C9EC246370E86B7E524F8C
-7F4FDA4338069682CC88AD745CB6C63D       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=76 1000    20      76      20      20      urn:base64:TlJDZWxsRFU6OTIxMjBENUVFNUMwODg1RDdFNTA4NjBCRDA1NUExRUU6VVNFUzpOUlNlY3RvckNhcnJpZXI6N0Y0RkRBNDMzODA2OTY4MkNDODhBRDc0NUNCNkM2M0Q=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjdGNEZEQTQzMzgwNjk2ODJDQzg4QUQ3NDVDQjZDNjNEOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QkRDOEU0RUFDNTNDOUMzOTgwMEI0QkRDMDMwOUM4QkI= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6N0Y0RkRBNDMzODA2OTY4MkNDODhBRDc0NUNCNkM2M0Q= 92120D5EE5C0885D7E50860BD055A1EE        BDC8E4EAC53C9C39800B4BDC0309C8BB        7D80E5C6E0C9EC246370E86B7E524F8C
-E9D5351FA08CF470205691591A57971C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=77 1000    20      77      20      20      urn:base64:TlJDZWxsRFU6RDcwNTU1NEU5ODEwMzQxMUIwMDVEMkUzQjRGNDJDODc6VVNFUzpOUlNlY3RvckNhcnJpZXI6RTlENTM1MUZBMDhDRjQ3MDIwNTY5MTU5MUE1Nzk3MUM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkU5RDUzNTFGQTA4Q0Y0NzAyMDU2OTE1OTFBNTc5NzFDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MzczMzIyOTlCRTEzOTgxOTNGN0I3NDUyQzE2NTIxRjg= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RTlENTM1MUZBMDhDRjQ3MDIwNTY5MTU5MUE1Nzk3MUM= D705554E98103411B005D2E3B4F42C87        37332299BE1398193F7B7452C16521F8        7D80E5C6E0C9EC246370E86B7E524F8C
-84C3806E28DDA395FB657466730E553F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=78 1000    20      78      20      20      urn:base64:TlJDZWxsRFU6NDYyRUY0NkFBMUM3NjQxQTg1MTBDN0M2MUQ2MEM4QjE6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODRDMzgwNkUyOEREQTM5NUZCNjU3NDY2NzMwRTU1M0Y=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjg0QzM4MDZFMjhEREEzOTVGQjY1NzQ2NjczMEU1NTNGOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6ODNCOEZDMzQwOUU5RTM0RjhENEIyMkNENTE0Q0MwNzg= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODRDMzgwNkUyOEREQTM5NUZCNjU3NDY2NzMwRTU1M0Y= 462EF46AA1C7641A8510C7C61D60C8B1        83B8FC3409E9E34F8D4B22CD514CC078        7D80E5C6E0C9EC246370E86B7E524F8C
-245B2FAC3BB11B00FAE447CABE698904       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=79 1000    20      79      20      20      urn:base64:TlJDZWxsRFU6MjY4MjVEOUNBQTkxQkFDMzg5REVCREYzNTcyRUY0MDg6VVNFUzpOUlNlY3RvckNhcnJpZXI6MjQ1QjJGQUMzQkIxMUIwMEZBRTQ0N0NBQkU2OTg5MDQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjI0NUIyRkFDM0JCMTFCMDBGQUU0NDdDQUJFNjk4OTA0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NTg3QURCRDQ2RkEwQTc3MEUxQzNBQkEyMTBEQjU3RUQ= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MjQ1QjJGQUMzQkIxMUIwMEZBRTQ0N0NBQkU2OTg5MDQ= 26825D9CAA91BAC389DEBDF3572EF408        587ADBD46FA0A770E1C3ABA210DB57ED        7D80E5C6E0C9EC246370E86B7E524F8C
-42855D46C847C3A8495357891130264E       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=80 1000    20      80      20      20      urn:base64:TlJDZWxsRFU6MzNGODJERTkxODZGMTUzOUQyRUQ5ODgxOEY0MUEwQzI6VVNFUzpOUlNlY3RvckNhcnJpZXI6NDI4NTVENDZDODQ3QzNBODQ5NTM1Nzg5MTEzMDI2NEU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjQyODU1RDQ2Qzg0N0MzQTg0OTUzNTc4OTExMzAyNjRFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NjA0QTIyQkZDNzJBOTYwMTE1RDZCMjFDM0YxODY4NDE= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NDI4NTVENDZDODQ3QzNBODQ5NTM1Nzg5MTEzMDI2NEU= 33F82DE9186F1539D2ED98818F41A0C2        604A22BFC72A960115D6B21C3F186841        7D80E5C6E0C9EC246370E86B7E524F8C
-03A4F1EB4E6F1981AA02DCD9A8433C93       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=81 1000    20      81      20      20      urn:base64:TlJDZWxsRFU6NDAxNzVBRjAwQTUyMjIxM0JBNjA1Mzc1MTlBNzE5Nzg6VVNFUzpOUlNlY3RvckNhcnJpZXI6MDNBNEYxRUI0RTZGMTk4MUFBMDJEQ0Q5QTg0MzNDOTM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjAzQTRGMUVCNEU2RjE5ODFBQTAyRENEOUE4NDMzQzkzOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MUQ0Q0JDNDNENjJBMDFCMjdGQTBDNzQ0MkY5QUQwRDg= urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MDNBNEYxRUI0RTZGMTk4MUFBMDJEQ0Q5QTg0MzNDOTM= 40175AF00A522213BA60537519A71978        1D4CBC43D62A01B27FA0C7442F9AD0D8        7D80E5C6E0C9EC246370E86B7E524F8C
-BF8B10BD381DFC02FF35CAEF21FF8BF9       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=82 1000    20      82      20      20      urn:base64:TlJDZWxsRFU6RUE4NjA4ODQ1NEI3NDkxRkIzQkVGRERDQTVGRTA5N0Q6VVNFUzpOUlNlY3RvckNhcnJpZXI6QkY4QjEwQkQzODFERkMwMkZGMzVDQUVGMjFGRjhCRjk=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkJGOEIxMEJEMzgxREZDMDJGRjM1Q0FFRjIxRkY4QkY5OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6ODkyQkFFMEI0NTg2NUQzRjREQzc3NjY2MkJCMzc2NTQ= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QkY4QjEwQkQzODFERkMwMkZGMzVDQUVGMjFGRjhCRjk= EA86088454B7491FB3BEFDDCA5FE097D        892BAE0B45865D3F4DC776662BB37654        BBB3C42A4F8AC94091B297DF708DD50B
-6D969214659F2A2CA9650AC208FBF457       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=83 1000    20      83      20      20      urn:base64:TlJDZWxsRFU6OUJDNjk5OEI4OEJBNEMxMDgxQ0Q1RjIxMTY4MUM5Q0Y6VVNFUzpOUlNlY3RvckNhcnJpZXI6NkQ5NjkyMTQ2NTlGMkEyQ0E5NjUwQUMyMDhGQkY0NTc=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjZEOTY5MjE0NjU5RjJBMkNBOTY1MEFDMjA4RkJGNDU3OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RUUxRUFBRkRCODUyMDYyNTlBQTlEOUQ0QkEwMUJEQTI= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NkQ5NjkyMTQ2NTlGMkEyQ0E5NjUwQUMyMDhGQkY0NTc= 9BC6998B88BA4C1081CD5F211681C9CF        EE1EAAFDB85206259AA9D9D4BA01BDA2        BBB3C42A4F8AC94091B297DF708DD50B
-365071A0DFF5B78304D2FA88D0843FBB       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=84 1000    20      84      20      20      urn:base64:TlJDZWxsRFU6ODM3N0VDQTEzN0ZGMDE4Qzk3MTZDMDU4N0Y2MTcxODI6VVNFUzpOUlNlY3RvckNhcnJpZXI6MzY1MDcxQTBERkY1Qjc4MzA0RDJGQTg4RDA4NDNGQkI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjM2NTA3MUEwREZGNUI3ODMwNEQyRkE4OEQwODQzRkJCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MTExQkQxMjNEQ0ExQjkzN0YwRTE1RTVCRUZERTA4RTk= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MzY1MDcxQTBERkY1Qjc4MzA0RDJGQTg4RDA4NDNGQkI= 8377ECA137FF018C9716C0587F617182        111BD123DCA1B937F0E15E5BEFDE08E9        BBB3C42A4F8AC94091B297DF708DD50B
-8307402BF7B31AF8574188E04561D3C8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=85 1000    20      85      20      20      urn:base64:TlJDZWxsRFU6MTU4OTBFRjZEMjE5NkQ5RTIxRDcwQkRDRTJBQTNBNzc6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODMwNzQwMkJGN0IzMUFGODU3NDE4OEUwNDU2MUQzQzg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjgzMDc0MDJCRjdCMzFBRjg1NzQxODhFMDQ1NjFEM0M4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6REY3ODM3RUVBQjY1QTA2ODU5MTEwMzY2RTVGNDUyOTc= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODMwNzQwMkJGN0IzMUFGODU3NDE4OEUwNDU2MUQzQzg= 15890EF6D2196D9E21D70BDCE2AA3A77        DF7837EEAB65A06859110366E5F45297        BBB3C42A4F8AC94091B297DF708DD50B
-9815C219A506825B396777C746C32CE8       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=86 1000    20      86      20      20      urn:base64:TlJDZWxsRFU6RjYwRjVCRDU0RkE5ODQyOTc5NzkwQjRCQkY4MEI4RDk6VVNFUzpOUlNlY3RvckNhcnJpZXI6OTgxNUMyMTlBNTA2ODI1QjM5Njc3N0M3NDZDMzJDRTg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjk4MTVDMjE5QTUwNjgyNUIzOTY3NzdDNzQ2QzMyQ0U4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RDBBQUU5NjMxQUYxNTU0QjhGMzkwOTMyRTM3N0VBMTk= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6OTgxNUMyMTlBNTA2ODI1QjM5Njc3N0M3NDZDMzJDRTg= F60F5BD54FA9842979790B4BBF80B8D9        D0AAE9631AF1554B8F390932E377EA19        BBB3C42A4F8AC94091B297DF708DD50B
-E04502AA9180D9BFE2BF1D3C7A9BC168       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=87 1000    20      87      20      20      urn:base64:TlJDZWxsRFU6MjY0MjU4NjA4NTEyMDA1OERGNTk2NzBGMzNGQTUwOTg6VVNFUzpOUlNlY3RvckNhcnJpZXI6RTA0NTAyQUE5MTgwRDlCRkUyQkYxRDNDN0E5QkMxNjg=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkUwNDUwMkFBOTE4MEQ5QkZFMkJGMUQzQzdBOUJDMTY4OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6ODlCOUZFNUQyRDRBMDdDQ0Q1NEU3MDVCRkUyRDEwRjA= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RTA0NTAyQUE5MTgwRDlCRkUyQkYxRDNDN0E5QkMxNjg= 2642586085120058DF59670F33FA5098        89B9FE5D2D4A07CCD54E705BFE2D10F0        BBB3C42A4F8AC94091B297DF708DD50B
-102AB1BB98BDBA7E7ED16D3D3CFFB6D4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=88 1000    20      88      20      20      urn:base64:TlJDZWxsRFU6QTM5QzczRDI4NzlEODZFRjQxODRCNjA1QzBBRTAxNkY6VVNFUzpOUlNlY3RvckNhcnJpZXI6MTAyQUIxQkI5OEJEQkE3RTdFRDE2RDNEM0NGRkI2RDQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjEwMkFCMUJCOThCREJBN0U3RUQxNkQzRDNDRkZCNkQ0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QTZFOTdCQTMwODMyQzFCN0FDMzZGNEQ3OUREMzhCNzE= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MTAyQUIxQkI5OEJEQkE3RTdFRDE2RDNEM0NGRkI2RDQ= A39C73D2879D86EF4184B605C0AE016F        A6E97BA30832C1B7AC36F4D79DD38B71        BBB3C42A4F8AC94091B297DF708DD50B
-DB5F86A12F44A382347C1FB4893ED9A6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=89 1000    20      89      20      20      urn:base64:TlJDZWxsRFU6RUVDODVBN0Y3NjAxNzI2MEY5NzIxQjY1QTE0NEQxOEU6VVNFUzpOUlNlY3RvckNhcnJpZXI6REI1Rjg2QTEyRjQ0QTM4MjM0N0MxRkI0ODkzRUQ5QTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkRCNUY4NkExMkY0NEEzODIzNDdDMUZCNDg5M0VEOUE2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6REZBNjIwMkZGOTZERDQxOEVBRDRDOTMwRjI3RjBDNzg= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6REI1Rjg2QTEyRjQ0QTM4MjM0N0MxRkI0ODkzRUQ5QTY= EEC85A7F76017260F9721B65A144D18E        DFA6202FF96DD418EAD4C930F27F0C78        BBB3C42A4F8AC94091B297DF708DD50B
-5C2AD66A4AB041C406D723CBAE50A132       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=90 1000    20      90      20      20      urn:base64:TlJDZWxsRFU6MUQ4MjU4ODFGMzc4RTA3MzUzNzhENDBCREVDQUMzRUM6VVNFUzpOUlNlY3RvckNhcnJpZXI6NUMyQUQ2NkE0QUIwNDFDNDA2RDcyM0NCQUU1MEExMzI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjVDMkFENjZBNEFCMDQxQzQwNkQ3MjNDQkFFNTBBMTMyOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MDE5NDVEN0I3RDJBRkIwQjNERkUyMzgyMkQyQzlDQ0I= urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NUMyQUQ2NkE0QUIwNDFDNDA2RDcyM0NCQUU1MEExMzI= 1D825881F378E0735378D40BDECAC3EC        01945D7B7D2AFB0B3DFE23822D2C9CCB        BBB3C42A4F8AC94091B297DF708DD50B
-A93CCC56481697761027BCDE211E1C60       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=91 1000    20      91      20      20      urn:base64:TlJDZWxsRFU6NzZFOUY2MDVENEYzNzMzMEJGMEI1MDVFOTRGNjRGMTE6VVNFUzpOUlNlY3RvckNhcnJpZXI6QTkzQ0NDNTY0ODE2OTc3NjEwMjdCQ0RFMjExRTFDNjA=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkE5M0NDQzU2NDgxNjk3NzYxMDI3QkNERTIxMUUxQzYwOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QkU1MEFDNTdBQjFGQUU3MzUzMUFERDE4MTMyNDA2N0Y= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QTkzQ0NDNTY0ODE2OTc3NjEwMjdCQ0RFMjExRTFDNjA= 76E9F605D4F37330BF0B505E94F64F11        BE50AC57AB1FAE73531ADD181324067F        4CFF136200A2DE36205A13559C55DB2A
-0BF78ED8A5CC93E9A94D0C26EE06E82C       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=92 1000    20      92      20      20      urn:base64:TlJDZWxsRFU6NjdBMUJEQTEwQjVBRjQzMDI4RDA3QzdCRTVDQjFBRTI6VVNFUzpOUlNlY3RvckNhcnJpZXI6MEJGNzhFRDhBNUNDOTNFOUE5NEQwQzI2RUUwNkU4MkM=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjBCRjc4RUQ4QTVDQzkzRTlBOTREMEMyNkVFMDZFODJDOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6ODJEMDU1REUxNUI5N0NEODY2Q0Y0NTRBOTY4OEY0REI= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MEJGNzhFRDhBNUNDOTNFOUE5NEQwQzI2RUUwNkU4MkM= 67A1BDA10B5AF43028D07C7BE5CB1AE2        82D055DE15B97CD866CF454A9688F4DB        4CFF136200A2DE36205A13559C55DB2A
-3A03407819295DB521A1E8B0FBCCE4A6       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=93 1000    20      93      20      20      urn:base64:TlJDZWxsRFU6QjNCMEExOTM5RUZDQTY1NEEzNzAwNUI2QTdGMjRCRDc6VVNFUzpOUlNlY3RvckNhcnJpZXI6M0EwMzQwNzgxOTI5NURCNTIxQTFFOEIwRkJDQ0U0QTY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjNBMDM0MDc4MTkyOTVEQjUyMUExRThCMEZCQ0NFNEE2OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6MzYyRUMzQjc3NThEODczREY5OEFFMkE5RUMyNDcyQjU= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6M0EwMzQwNzgxOTI5NURCNTIxQTFFOEIwRkJDQ0U0QTY= B3B0A1939EFCA654A37005B6A7F24BD7        362EC3B7758D873DF98AE2A9EC2472B5        4CFF136200A2DE36205A13559C55DB2A
-50CD521E55D12209A175020974A24AB4       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=94 1000    20      94      20      20      urn:base64:TlJDZWxsRFU6RjI2RjI3OUU5MUQwOTQxREI0RjY0NkU3MDdFQTQwM0E6VVNFUzpOUlNlY3RvckNhcnJpZXI6NTBDRDUyMUU1NUQxMjIwOUExNzUwMjA5NzRBMjRBQjQ=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjUwQ0Q1MjFFNTVEMTIyMDlBMTc1MDIwOTc0QTI0QUI0OlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6REE1RDhBM0QxQ0RDM0Q1NTQ0N0Y3Qzg2RUREOEZFNTA= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6NTBDRDUyMUU1NUQxMjIwOUExNzUwMjA5NzRBMjRBQjQ= F26F279E91D0941DB4F646E707EA403A        DA5D8A3D1CDC3D55447F7C86EDD8FE50        4CFF136200A2DE36205A13559C55DB2A
-EBF6DFD0DE8908C4CF01E834A5B7EFB1       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=95 1000    20      95      20      20      urn:base64:TlJDZWxsRFU6MjQzNzkxNDZGRTM0OUZCRjA0QkEzQjMwMTgwNzcyMTQ6VVNFUzpOUlNlY3RvckNhcnJpZXI6RUJGNkRGRDBERTg5MDhDNENGMDFFODM0QTVCN0VGQjE=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkVCRjZERkQwREU4OTA4QzRDRjAxRTgzNEE1QjdFRkIxOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6NkEzOUIxNTFDNTBGNzNGMDI5QjU3NzIyOTlEQ0YyODk= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6RUJGNkRGRDBERTg5MDhDNENGMDFFODM0QTVCN0VGQjE= 24379146FE349FBF04BA3B3018077214        6A39B151C50F73F029B5772299DCF289        4CFF136200A2DE36205A13559C55DB2A
-DA2FC8B45D346CFD1C9BB7F074CCA32F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=96 1000    20      96      20      20      urn:base64:TlJDZWxsRFU6NUU3RUExRDYzODBDMjFEMkMwMjQ1MjRDMkExOThBNUE6VVNFUzpOUlNlY3RvckNhcnJpZXI6REEyRkM4QjQ1RDM0NkNGRDFDOUJCN0YwNzRDQ0EzMkY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkRBMkZDOEI0NUQzNDZDRkQxQzlCQjdGMDc0Q0NBMzJGOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QjBGRTg4MERGOTQ3NEFBMjlDN0E0QkFBQTk0NkU1NUQ= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6REEyRkM4QjQ1RDM0NkNGRDFDOUJCN0YwNzRDQ0EzMkY= 5E7EA1D6380C21D2C024524C2A198A5A        B0FE880DF9474AA29C7A4BAAA946E55D        4CFF136200A2DE36205A13559C55DB2A
-1E0B268A6D8C40331AACEBED444FCC1F       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=97 1000    20      97      20      20      urn:base64:TlJDZWxsRFU6NURDM0ExMUE2OUQ4Q0RCMTc1RkM5RDQ5RDlFMEU3MjA6VVNFUzpOUlNlY3RvckNhcnJpZXI6MUUwQjI2OEE2RDhDNDAzMzFBQUNFQkVENDQ0RkNDMUY=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjFFMEIyNjhBNkQ4QzQwMzMxQUFDRUJFRDQ0NEZDQzFGOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6QzIzRDlEMDgwN0U0NUVGNTVEQzZCN0QzNUVFQjA4QjE= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6MUUwQjI2OEE2RDhDNDAzMzFBQUNFQkVENDQ0RkNDMUY= 5DC3A11A69D8CDB175FC9D49D9E0E720        C23D9D0807E45EF55DC6B7D35EEB08B1        4CFF136200A2DE36205A13559C55DB2A
-87670506C58610E1888B5BEBE2C9B21B       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=98 1000    20      98      20      20      urn:base64:TlJDZWxsRFU6OTg0MEFDMTU2Njc3NDU0NUNCRDdGRDQ0MDE1RUZGQTU6VVNFUzpOUlNlY3RvckNhcnJpZXI6ODc2NzA1MDZDNTg2MTBFMTg4OEI1QkVCRTJDOUIyMUI=     urn:base64:TlJTZWN0b3JDYXJyaWVyOjg3NjcwNTA2QzU4NjEwRTE4ODhCNUJFQkUyQzlCMjFCOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6Q0Y4RUY3MjNCQjQ2QzYxNzBEQjA0OTBEMUZBMjZCODU= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6ODc2NzA1MDZDNTg2MTBFMTg4OEI1QkVCRTJDOUIyMUI= 9840AC1566774545CBD7FD44015EFFA5        CF8EF723BB46C6170DB0490D1FA26B85        4CFF136200A2DE36205A13559C55DB2A
-A00B93EACEE32A938CD9A83446E1B3AE       SubNetwork=SolarSystem/SubNetwork=Earth/SubNetwork=Europe/SubNetwork=Hungary/NRSectorCarrier=99 1000    20      99      20      20      urn:base64:TlJDZWxsRFU6RjQ1MzFDMzEyMDVGMjhCQzg4MzBDQUQ3QTdDMkZEQTE6VVNFUzpOUlNlY3RvckNhcnJpZXI6QTAwQjkzRUFDRUUzMkE5MzhDRDlBODM0NDZFMUIzQUU=     urn:base64:TlJTZWN0b3JDYXJyaWVyOkEwMEI5M0VBQ0VFMzJBOTM4Q0Q5QTgzNDQ2RTFCM0FFOlVTRVM6QW50ZW5uYUNhcGFiaWxpdHk6RTFDMzQwREYwRkZBNTEyMTFEREI1RjgyOUUyQTI3RUU= urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpQUk9WSURFUzpOUlNlY3RvckNhcnJpZXI6QTAwQjkzRUFDRUUzMkE5MzhDRDlBODM0NDZFMUIzQUU= F4531C31205F28BC8830CAD7A7C2FDA1        E1C340DF0FFA51211DDB5F829E2A27EE        4CFF136200A2DE36205A13559C55DB2A
-\.
-
-COPY ties_data."OCUCPFUNCTION_REALISED_BY_CLOUDNATIVEAPPLICATION" (id, "OCUCPFunction", "CloudNativeApplication") FROM stdin;
-urn:base64:R05CQ1VDUEZ1bmN0aW9uOjA1MjU5MzAyNDkzMDJCOTY0OUZDOEYyMDFFQzRGN0ZDOlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246MzI1NjEyMEU3M0FERDQwMjZBNDNBOTcxRENFNUMxNTE=        0525930249302B9649FC8F201EC4F7FC        3256120E73ADD4026A43A971DCE5C151
-\.
-
-COPY ties_data."OCUUPFUNCTION_REALISED_BY_CLOUDNATIVEAPPLICATION" (id, "OCUUPFunction", "CloudNativeApplication") FROM stdin;
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOkJGRUVBQzJDRTYwMjczQ0IwQTc4MzE5Q0MyMDFBN0ZFOlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246QUQ0MkQ5MDQ5N0U5M0QyNzYyMTVERjZEM0I4OTlFMTc=        BFEEAC2CE60273CB0A78319CC201A7FE        AD42D90497E93D276215DF6D3B899E17
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOkYxQzMyQjlERUNBMjIzMEQ5NzY1QkUyRjU0RjFFREZFOlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246OTgwMEQ4MUM3NDNCRjQyNDZGRUI5NTA2M0Q2QjBGNkI=        F1C32B9DECA2230D9765BE2F54F1EDFE        9800D81C743BF4246FEB95063D6B0F6B
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOkExOEYzNDUyQzkxOEU4RjJDNTRFNjAwRjQyMDA1REJEOlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246Mzk4REQxOUE1RkQ5MDJDOTgxRTRENTlGNDRFMjdGMDc=        A18F3452C918E8F2C54E600F42005DBD        398DD19A5FD902C981E4D59F44E27F07
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOjZCM0U1NkI2Qzk5MUY0RTU2OTExNURFNTYzM0IwQUEwOlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246RTVFOEExMTQxOUUwOTk2NjYwNEMxNEZERTVFMDlERjU=        6B3E56B6C991F4E569115DE5633B0AA0        E5E8A11419E09966604C14FDE5E09DF5
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOjk5QkJBM0VDNjRCRTU5NjQwMEIzOEZFQkQ5Njc3RkM2OlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246NDEyMzREQkQzQ0NFQzAxMEUyRTkyNTg1MjcyMjk5NTA=        99BBA3EC64BE596400B38FEBD9677FC6        41234DBD3CCEC010E2E9258527229950
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOjk4MDZBQkUyOTg1QkRENEZFNkJEMkIzODU0OUM5NzNDOlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246QzRFMjg5MzIzNTdGQTAwNzZDQTk2Q0Y3RkYyQzUxQkQ=        9806ABE2985BDD4FE6BD2B38549C973C        C4E28932357FA0076CA96CF7FF2C51BD
-urn:base64:R05CQ1VVUEZ1bmN0aW9uOjlCMDA3ODgxQTFCOERFMzNEMUQzMDYzQkU2MDFENEI2OlJFQUxJU0VEX0JZOkNsb3VkTmF0aXZlQXBwbGljYXRpb246RUUyRDRBREExMEZGNjg3RkY2QTg2NUNDOUU1NkE0MzY=        9B007881A1B8DE33D1D3063BE601D4B6        EE2D4ADA10FF687FF6A865CC9E56A436
-\.
-
-COPY ties_data."ODUFUNCTION_REALISED_BY_CLOUDNATIVEAPPLICATION" (id, "ODUFunction", "CloudNativeApplication") FROM stdin;
-urn:base64:R05CRFVGdW5jdGlvbjo0Q0ZGMTM2MjAwQTJERTM2MjA1QTEzNTU5QzU1REIyQTpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOkM1NDk5MDVDRjNDQzg5MENFNTc0NkM1RTEwQUNGMDBE    4CFF136200A2DE36205A13559C55DB2A        C549905CF3CC890CE5746C5E10ACF00D
-urn:base64:R05CRFVGdW5jdGlvbjpCQkIzQzQyQTRGOEFDOTQwOTFCMjk3REY3MDhERDUwQjpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjlFMDI5MTY4OTQzNTIwMEFFMTMzMkZCQkI5OTJDMTUx    BBB3C42A4F8AC94091B297DF708DD50B        9E0291689435200AE1332FBBB992C151
-urn:base64:R05CRFVGdW5jdGlvbjo3RDgwRTVDNkUwQzlFQzI0NjM3MEU4NkI3RTUyNEY4QzpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjZCNjU1OTcxNTY0QzAyRjFGQjdFNUQ3RTg0RjlEREFG    7D80E5C6E0C9EC246370E86B7E524F8C        6B655971564C02F1FB7E5D7E84F9DDAF
-urn:base64:R05CRFVGdW5jdGlvbjo1QTU0OEVBOUQxNjYzNDE3NzZDQTA2OTU4MzdFNTVEODpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOkUxMjhDMzBEN0UyQURCN0RFRjkwNENFN0U5MzZBNTg2    5A548EA9D166341776CA0695837E55D8        E128C30D7E2ADB7DEF904CE7E936A586
-urn:base64:R05CRFVGdW5jdGlvbjo3RjE2RjkzRDg4MTZEOUVCQzc2RTUyQkI0NEEzQ0ZGNTpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjBEQkRBRjM1N0E2OUMzNzNGQzJBOThCNjg0ODVEREUz    7F16F93D8816D9EBC76E52BB44A3CFF5        0DBDAF357A69C373FC2A98B68485DDE3
-urn:base64:R05CRFVGdW5jdGlvbjo1QTMwODVDMzQwMEMzMDk2RTJFRDIzMjE0NTI3NjZCMTpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjNGMjU4MEU5RjQ2OUY5QTNDRDk3QjlGQ0Y2Q0Y0RkI3    5A3085C3400C3096E2ED2321452766B1        3F2580E9F469F9A3CD97B9FCF6CF4FB7
-urn:base64:R05CRFVGdW5jdGlvbjoyNUU2OTBFMjJCREE5MEI5QzRGRUUxRjA4M0NCQTU5NzpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOkQ4MEUwOTI0MzJFQTY3M0U2RDI2RjgzM0ZENDU2REFC    25E690E22BDA90B9C4FEE1F083CBA597        D80E092432EA673E6D26F833FD456DAB
-urn:base64:R05CRFVGdW5jdGlvbjpFNUZENUFDRDU1QzU1M0E5MjczODQ3N0VDQjA0NjVCOTpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjYwRTY4NUM1M0Y0QTFENzAwQUExMjQ5OUI4NTEzNzAw    E5FD5ACD55C553A92738477ECB0465B9        60E685C53F4A1D700AA12499B8513700
-urn:base64:R05CRFVGdW5jdGlvbjpCNkE2REU3RDA5NjVGMDJENDhFQ0E4NjcwNkE0NDU0RjpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjA3MjU0OUI2RjU1MjEwRUE5NjdENjZGQjM4REY0RDAy    B6A6DE7D0965F02D48ECA86706A4454F        072549B6F55210EA967D66FB38DF4D02
-urn:base64:R05CRFVGdW5jdGlvbjoxMDUwNTcwRUJCMTMxNUUxQUU3QTlGRDVFMTQwMEEwMDpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjQxNkYzMUU2RUIwOTA1NTMyNjYyMUY0OTE5RDM1QkZG    1050570EBB1315E1AE7A9FD5E1400A00        416F31E6EB09055326621F4919D35BFF
-urn:base64:R05CRFVGdW5jdGlvbjpEMzIxNUUwODU3MEJFNTgzMzlDNzQ2MzYyNkI1MEUzNzpSRUFMSVNFRF9CWTpDbG91ZE5hdGl2ZUFwcGxpY2F0aW9uOjcxOUJENUM3Q0Q4QTkzOUQ3NkE4M0RBOTVEQTQ1QzAx    D3215E08570BE58339C7463626B50E37        719BD5C7CD8A939D76A83DA95DA45C01
-\.
-
-COPY ties_data."ANTENNACAPABILITY_REALISED_BY_ANTENNAMODULE" (id, "AntennaCapability", "AntennaModule") FROM stdin;
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6QTMyREI5RTI3OEZDMURFNDFGQjRBM0I1MEY4MDI2NTA6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTo0MkI0RUVGMDlFOTczNzhCMEUzNjVGOUJBQUI1MEUxQg==        A32DB9E278FC1DE41FB4A3B50F802650        42B4EEF09E97378B0E365F9BAAB50E1B
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6NDkyMDU4ODFDOTEyMUYyMDhCRDc5MTQ5RkE3OTk4Nzc6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpBRjM4ODYxOUY4NTE3Q0JFQUYyM0QwNkI0RDM3NDRGRg==        49205881C9121F208BD79149FA799877        AF388619F8517CBEAF23D06B4D3744FF
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6MEJEQUQ1RERDMTlBNjk2MjQ0NTM2NDIxRTZEMjZGRTM6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTo0RUNBMDIxNjUyNzVGQTE3QkU2MEFGMUQyN0FBQjUyOQ==        0BDAD5DDC19A696244536421E6D26FE3        4ECA02165275FA17BE60AF1D27AAB529
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6QzM5OEQ2QzY3MzI2N0EwODFDNzgxRDg0NDM4RjRCNzQ6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTo0QzRFOTk5OERBRTMwQzk1NEE5M0Q3ODk1OUZENTExQg==        C398D6C673267A081C781D84438F4B74        4C4E9998DAE30C954A93D78959FD511B
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6MjhBRDNFRTg0NDc2NkRGNTA4RjYyODdDRDFDRTE4QTQ6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpBRDJERDE1QUM0RTFERTA1MDY4NDM4ODdCNDdDNTFBMw==        28AD3EE844766DF508F6287CD1CE18A4        AD2DD15AC4E1DE0506843887B47C51A3
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6RDMxNERBREFGQTNEODk2NDQ1RTc4RUJDQzE1QTE2Rjc6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTo3MkM3NkMwM0VEMEI0MkZBM0ZFNEY5RDIyQzRBRjlFMQ==        D314DADAFA3D896445E78EBCC15A16F7        72C76C03ED0B42FA3FE4F9D22C4AF9E1
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6OTE4OEQ5NzVEODM3QTFFMDM5NzE2N0EyM0U3MjFCMEM6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpCNDEyNUVGQjc5RDQ2QkY5ODk1NzA5Rjk4NUM5MkU5OQ==        9188D975D837A1E0397167A23E721B0C        B4125EFB79D46BF9895709F985C92E99
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6MTQ1QTFCRjU2MURCMjk3RjI1RkQzRjEyNDE3RDJBNTA6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpCRDBFMTBCQzU1QjcyODZGNjk5REIzNDAwNDUwNTNDQQ==        145A1BF561DB297F25FD3F12417D2A50        BD0E10BC55B7286F699DB340045053CA
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6N0RFOTFDNzhGOERDRTQyOTJGMkYwQzNCMzRERUFDQUI6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZToxMzE5RURDMEE5NTYwOTA4NDY4MkIzMzFGMEEwNUU4Mg==        7DE91C78F8DCE4292F2F0C3B34DEACAB        1319EDC0A95609084682B331F0A05E82
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6NzBBMUYxMjlFMTBFRTdEMzFERkUxRTFBQTZDNzQzN0Q6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpCRUIwMUI5MEFDMDA5OUNBN0M3MzBENTRDNkE5OUY1Ng==        70A1F129E10EE7D31DFE1E1AA6C7437D        BEB01B90AC0099CA7C730D54C6A99F56
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6N0ExQzZGRTkzNTEwMDhCM0Q1MzkxNjZEOTQyMjI3NjI6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTowMDJCMDIxOUI3MzlCODhDOEE4MTM1NTJFRjFFODk0Mg==        7A1C6FE9351008B3D539166D94222762        002B0219B739B88C8A813552EF1E8942
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6REYyNkFFNDQyMTEwREIwMjgxREFENDU0NTQzNkI3MjA6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpGRjIxRTIyNjZCMzZFOTJGM0MyOThDOUMzNDk3QkRBRA==        DF26AE442110DB0281DAD4545436B720        FF21E2266B36E92F3C298C9C3497BDAD
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6QzY4MjNEMkI3QUZBMDY0Q0U3NzQ3OTVFMDFENjIyOEI6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTowN0M2M0JBMDhCMEM0M0UxOENDOTY0RjBCNkY0RTI0RA==        C6823D2B7AFA064CE774795E01D6228B        07C63BA08B0C43E18CC964F0B6F4E24D
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6MDI0NDNERTA4MDdEODAxRDY2MTQ5NUQ5RUZCOEQ4MzY6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpBQTQ4OTk5MzAyREZDOEVDODg3OTU3MjYyM0MwMDg1QQ==        02443DE0807D801D661495D9EFB8D836        AA48999302DFC8EC8879572623C0085A
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6RDVCOTA5MEUzQjZBMTBEQkRDMjQzRUQxNEVGMjk0QkY6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTo3RUNFRDRCRThDRjQ3NjYxRDVEM0U4Njc0NTg2QTlCMQ==        D5B9090E3B6A10DBDC243ED14EF294BF        7ECED4BE8CF47661D5D3E8674586A9B1
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6MDQyNzNGQzY0NDM2REE1MjM4NjVDRjg0OUU1RjdDQzk6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpDQkFCNDBCRUYyNjQ2RDIwRjY2NTQyRTlEMTBEN0ZDQQ==        04273FC64436DA523865CF849E5F7CC9        CBAB40BEF2646D20F66542E9D10D7FCA
-urn:base64:QW50ZW5uYUNhcGFiaWxpdHk6NTgzNUY3N0JFOUQ0RTEwMjMxNkJENTkxOTVGNjM3MEI6UkVBTElTRURfQlk6QW50ZW5uYU1vZHVsZTpDQkFCNDBCRUYyNjQ2RDIwRjY2NTQyRTlEMTBEN0ZDQQ==        5835F77BE9D4E102316BD59195F6370B        CBAB40BEF2646D20F66542E9D10D7FCA
-\.
-
diff --git a/teiv/src/test/resources/pgsqlschema/data-v1.sql b/teiv/src/test/resources/pgsqlschema/data-v1.sql
deleted file mode 100644 (file)
index 4c769cf..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
---
--- ============LICENSE_START=======================================================
--- Copyright (C) 2024 Ericsson
--- Modifications Copyright (C) 2024 OpenInfra Foundation Europe
--- ================================================================================
--- Licensed under the Apache License, Version 2.0 (the "License");
--- you may not use this file except in compliance with the License.
--- You may obtain a copy of the License at
---
---       http://www.apache.org/licenses/LICENSE-2.0
---
--- Unless required by applicable law or agreed to in writing, software
--- distributed under the License is distributed on an "AS IS" BASIS,
--- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
--- See the License for the specific language governing permissions and
--- limitations under the License.
---
--- SPDX-License-Identifier: Apache-2.0
--- ============LICENSE_END=========================================================
---
-
-BEGIN;
-
-COPY ties_data."o-ran-smo-teiv-oam_ManagedElement" ("id", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9  ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10", "urn:cmHandle:72FDA73D085F138FECC974CB91F1450E"]     []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13", "urn:cmHandle:E5196035D0B49A65B00EAA392B4EE155"]     []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14", "urn:cmHandle:D67C0BD04FA613BBFD176B24B68FD6A4"]     []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16", "urn:cmHandle:453431CC154F900606657D584700827A"]     []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]     []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28", "urn:cmHandle:30C68865AF2F353F202056CB1921D418"]     []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_Sector" ("id", "geo-location", "sectorId", "azimuth", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-Sector=1       POINT(59.4019881 17.9419888)    1       1.1     []      []      {}
-Sector=2       POINT(60.4019881 18.9419888)    2       2.2     []      []      {}
-Sector=3       POINT(61.4019881 19.9419888)    3       3.3     []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_AntennaCapability" ("id", "eUtranFqBands", "geranFqBands", "nRFqBands", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1  ["123","456","789"]     ["123","4564","789"]    ["123","456","789"]     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1 ["123","456","789"]     ["123","4564","789"]    ["123","456","789"]     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]     []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-equipment_AntennaModule" ("id", "antennaBeamWidth", "antennaModelNumber", "electricalAntennaTilt", "geo-location", "mechanicalAntennaBearing", "mechanicalAntennaTilt", "positionWithinSector", "totalTilt", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_installed-at-site", "REL_ID_ANTENNAMODULE_INSTALLED_AT_SITE", "REL_CD_sourceIds_ANTENNAMODULE_INSTALLED_AT_SITE", "REL_CD_classifiers_ANTENNAMODULE_INSTALLED_AT_SITE", "REL_CD_decorators_ANTENNAMODULE_INSTALLED_AT_SITE", "REL_FK_grouped-by-sector", "REL_ID_SECTOR_GROUPS_ANTENNAMODULE", "REL_CD_sourceIds_SECTOR_GROUPS_ANTENNAMODULE", "REL_CD_classifiers_SECTOR_GROUPS_ANTENNAMODULE", "REL_CD_decorators_SECTOR_GROUPS_ANTENNAMODULE") FROM stdin;
-urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A       \N      5       11      POINT(39.4019881 67.9419888)    6       0       7       -900    ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]   []      {}      \N      \N      []      []      {}      Sector=2        urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=44F4F4FC906E9A7525065E4565246F7469CBD11FC7752C61EA6D74776845900AFF472DCAACA1F66443490B6CE0DD9AC9A5E1467022118599F6B4C6EC63400512  []      []      {}
-urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7       \N      5       11      POINT(49.4019881 68.9419888)    6       0       7       -900    ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]        []      {}      \N      \N      []      []      {}      Sector=2        urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_ANTENNAMODULE=CEEC51BE136D671D2101C09FEDD8A1D95E1E177A4818E9FC0D6E63E610BC8FE26FC9C729A1E58AD43D70472F4CD54403E25CB1E5D2BBA66966625C21435C4A78  []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_OCUCPFunction" ("id", "gNBCUName", "gNBId", "gNBIdLength", "pLMNId", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_managed-by-managedElement", "REL_ID_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION", "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION", "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION", "REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUCPFUNCTION") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUCPFunction=9  ocucp-9 9       1       {"mcc":"123","mnc":"82"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUCPFunction=9", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9   urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=0F7F3F3CEC7B3CDA05A7B7D2874D1EF39EBDAA18AD7D6F43CF219C087510114C59C6B78EC21F8E9C6F19B5F1999FBBA2DF8C3DDF76F416C874508303F0DA4AB4 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10        ocucp-10        10      2       {"mcc":"456","mnc":"83"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUCPFunction=10", "urn:cmHandle:72FDA73D085F138FECC974CB91F1450E"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=7053BF6EEB9769084BB91850C356BF20E3C9D6AD8F0D7212911DC827AD1B4D42AEDA0C43FD5715C94E14334EF49FA09405A976451B777B442BBF397DE89528A4 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,OCUCPFunction=13        ocucp-13        13      2       {"mcc":"789","mnc":"84"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,OCUCPFunction=13", "urn:cmHandle:E5196035D0B49A65B00EAA392B4EE155"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=C88ACE9CD7BA7E56FD059C027DA8E4D0ED0A3E13F9E358D5F4A66EE004FC3767A9D20B0512661B6D2F5F82F106725C04C5DC8826D990DECB4D5AD571BE402BE0 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,OCUCPFunction=14        ocucp-14        14      2       {"mcc":"123","mnc":"85"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,OCUCPFunction=14", "urn:cmHandle:D67C0BD04FA613BBFD176B24B68FD6A4"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=F23FADEDC45AE38DBC567C57FC4DD5D61D239B0BEF3C93DD54DF85545E6D0C8B9B26A1D3911B56A3F8C2EB148A4F276D1EBAF7EE2D2E35C8B37F008F572DF7B6 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUCPFunction=16        ocucp-16        16      2       {"mcc":"456","mnc":"86"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUCPFunction=16", "urn:cmHandle:453431CC154F900606657D584700827A"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=5ECE0941DDBC9B4DEE8492333129A0AB80720CB6005A80B54C4D9247029A41FA42DB6D2C709F71D7ED5D82F5EA90CE2C0B553AC1BD860D8A6DFA218E2E790F1C []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,OCUCPFunction=19        ocucp-19        19      2       {"mcc":"789","mnc":"87"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,OCUCPFunction=19", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=63EA5A9F77FE5DED61CF6DC30233AB17A57D6E04283365D7C1976FF646961FAAF1889BBA618029EA10DA8761F8DAA643B707B602D4E61898A2B5259AA0118887 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,OCUCPFunction=28        ocucp-28        28      2       {"mcc":"123","mnc":"88"}        ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,OCUCPFunction=28", "urn:cmHandle:30C68865AF2F353F202056CB1921D418"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUCPFUNCTION=CD564BF182FD6DE77816BA69F25B664374AD02D642DF05FF8991E1009E7E09C50E92F6858A1E1B025CFDA933AB769B8C68FBAE0DBBAA140AE321DC55AED6C2A3 []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_OCUUPFunction" ("id", "gNBId", "gNBIdLength", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_managed-by-managedElement", "REL_ID_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION", "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION", "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION", "REL_CD_decorators_MANAGEDELEMENT_MANAGES_OCUUPFUNCTION") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9  9       1       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,OCUUPFunction=9", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9   urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=5255F37093F8EB3763CE5F017DFC1E162B44FC9DF6E13744C04DC1832C5E754AB7BE440DBE1187EE8EEE42FD04E652BB8148655C6F977B1FFDDA54FE87C6411A []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUUPFunction=10        10      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,OCUUPFunction=10", "urn:cmHandle:72FDA73D085F138FECC974CB91F1450E"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=80D3B4C44B4F0BEFC7660AF0A4E91F89C8108DA814B09728F848C0C5C10E2D956A73FBC85EB2AE0A7EA4D95308A606856603B53C8C2669A50BCB58B9FC87D7F2 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,OCUUPFunction=13        13      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,OCUUPFunction=13", "urn:cmHandle:E5196035D0B49A65B00EAA392B4EE155"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=29DE1D3B8DA9C9FA1201C36F74FEBE14493F7C674E47E1FFCB6AADEED8EABB0460770EC21E7AC8EEBBB057ABC0E31269AB5C92D941E9BA53877164918C6EFB30 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,OCUUPFunction=14        14      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,OCUUPFunction=14", "urn:cmHandle:D67C0BD04FA613BBFD176B24B68FD6A4"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=4C571BDD5DF9B297C1B249D0242EB9DDC77052BB0A33E62DB851809A075259EE3A0C354FA3978276BD5EE0BBB8CFDBF19F7C3C7017F828B9A2EBAD020E7FDF98 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUUPFunction=16        16      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,OCUUPFunction=16", "urn:cmHandle:453431CC154F900606657D584700827A"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=DD5E12CB8D14C89E1C199BDABBCC71908F76AB04FE8FD7F7334A9A403B5BE0D8BB5DA69B4258C7AF4834BF2D3E00B6D5C263AD38A83A22E7EC673ACE1CAF0CF2 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,OCUUPFunction=19        19      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,OCUUPFunction=19", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=2AF48E294918A4EE0E3E7C783A70841E1DEEF72CDD43FE3CD1DF6531CCA06203B574BE02553254220A637632AECB719951DAE2A3D0487D24EA1A090843563603 []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,OCUUPFunction=28        28      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,OCUUPFunction=28", "urn:cmHandle:30C68865AF2F353F202056CB1921D418"]    []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_OCUUPFUNCTION=140E8C8C56B1E717CD992D3FF0C61C04C1633E1FEF17ABB92A9A17C53E18CFAF5D72C4C71415E0026C99671657FB3EC1BD394174DD306261ADA8A6CDF4D42748 []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_ODUFunction" ("id", "gNBDUId", "gNBId", "gNBIdLength", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_managed-by-managedElement", "REL_ID_MANAGEDELEMENT_MANAGES_ODUFUNCTION", "REL_CD_sourceIds_MANAGEDELEMENT_MANAGES_ODUFUNCTION", "REL_CD_classifiers_MANAGEDELEMENT_MANAGES_ODUFUNCTION", "REL_CD_decorators_MANAGEDELEMENT_MANAGES_ODUFUNCTION") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9    \N      9       1       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]        ["test-app-module:Indoor","test-app-module:Weekend"]    {"test-app-module:textdata":"ORAN"}     urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9   urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=9243B48F7D6A6CF471226915C74CF5FE4BDA6FA3CF7D897473007B46DF7FC50230BD6B8B4256116A6AFBF4D822CF9379EB56DE9490C1C0B54238263F2574B426   []      ["test-app-module:Indoor","test-app-module:Weekend"]    {"test-app-module:textdata":"ORAN"}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10  \N      10      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10,ODUFunction=10", "urn:cmHandle:72FDA73D085F138FECC974CB91F1450E"]      []      {"test-app-module:textdata":"Budapest","test-app-module:intdata":123}   urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=10  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=661A89AD3C2702233CD9E96E97E738C05C35EC5FDF32DC78D149B773726350067315B72448D004C938BCD0263F0C4BCCC8A5F9CDD145B9B740983D1523664328   []      ["test-app-module:Rural","test-app-module:Weekend"]     {"test-app-module:textdata":"Budapest","test-app-module:intdata":123}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13  \N      13      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13,ODUFunction=13", "urn:cmHandle:E5196035D0B49A65B00EAA392B4EE155"]      ["test-app-module:Indoor"]      {"test-app-module:textdata":"Stockholm","test-app-module:intdata":456}  urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=13  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=DD9259A1B57FF2BB9DEC77C29DBFA4A5C49960D80622F603809ACA47E786DDD5C7ABD267D554A7C796477A9B2E02E072A8E682E4ED38F331BFB6DC3827CE4DB7   []      []      {"test-app-module:textdata":"Stockholm","test-app-module:intdata":456}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14  \N      14      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14,ODUFunction=14", "urn:cmHandle:D67C0BD04FA613BBFD176B24B68FD6A4"]      ["test-app-module:Rural","test-app-module:Weekend"]     {"test-app-module:textdata":"Stockholm","test-app-module:intdata":123}  urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=14  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6F7BFBD3DA2A9A592084C75242210A33C9DCF10CFCD53B761A6ACCD385132921679EC3C16394A4DEEE5883712C9719511388230151BA84FBF209DFCFB639E2EA   []      []      {"test-app-module:textdata":"Stockholm","test-app-module:intdata":123}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16  16      16      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16,ODUFunction=16", "urn:cmHandle:453431CC154F900606657D584700827A"]      ["test-app-module:Indoor","test-app-module:Rural","test-app-module:Weekend"]    {"test-app-module:textdata":"Stockholm","test-app-module:intdata":123}  urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=16  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=D67357F682531C7B068486313B0FDAC3E719A166229520196FB9CE917E0236754226A5BCBF7BB7240E516D7ED3FEA852855EC3F121DD4BAFEC5646F2A37F57EE   []      ["test-app-module:Indoor","test-app-module:Rural","test-app-module:Weekend"]    {"test-app-module:textdata":"Stockholm","test-app-module:intdata":123}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19  \N      19      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=6BD25E5C8FB7842F69010736253CC47F43535D7238E9E9A03E8092E8C019C83270DE47C96EF1049C40B83A130F9F129AE93B9C8538B6B004AE89BD0A098E48DD   []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,ODUFunction=28  \N      28      2       ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28,ODUFunction=28", "urn:cmHandle:30C68865AF2F353F202056CB1921D418"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=28  urn:o-ran:smo:teiv:sha512:MANAGEDELEMENT_MANAGES_ODUFUNCTION=ADD4A82DFBAF0409FA9D3C929A09314088627B447C733429D4EE7AAE2FFAEE4894F90826B6814B63431EC07140783C7861E463C5AF8330E29469D704675EAB43   []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_NRCellDU" ("id", "cellLocalId", "nCI", "nRPCI", "nRTAC", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_provided-by-oduFunction", "REL_ID_ODUFUNCTION_PROVIDES_NRCELLDU", "REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRCELLDU", "REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRCELLDU", "REL_CD_decorators_ODUFUNCTION_PROVIDES_NRCELLDU", "REL_FK_grouped-by-sector", "REL_ID_SECTOR_GROUPS_NRCELLDU", "REL_CD_sourceIds_SECTOR_GROUPS_NRCELLDU", "REL_CD_classifiers_SECTOR_GROUPS_NRCELLDU", "REL_CD_decorators_SECTOR_GROUPS_NRCELLDU") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1 1       1       789     456     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]     []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9     urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=4E40BE000AFEA418CE1B9ED9E21D38DA51772175BD498BE825D9EA362F9B7393C36AB72F6FDEE702439143D578268A2E84719A9352C8EA70F847B7B7664E047C        []      []      {}      Sector=2        urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=4BBE73F685A98EF799968ACFE76F376D795F4CC3B56A6B867642048CDF4C1B8E323430EA7C6C38E4031FB891158763CC5459A8704E1A9FBFBD53CE8AD23BF463       []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2 2       2       789     456     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]     []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9     urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=78ECC09D4832328976EF0F9C19699EE05D98E3837368D386AE39AD027543494AC620086BD2A7403DACFAA7B474B3DEBD313E0906F1EDE7FA2B584E16542A706A        []      []      {}      Sector=2        urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=46AAB2CC5388BECD7B2180C89EEFA64B9A3BC197B614B57FD4BD9ADACE2475A89E16BA04291DE1674FAF2925483E23B8EDCAD4EE98759A9C08E2677CD88F4C43       []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3 3       3       789     456     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]     []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9     urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=714C1B73945C298CAA03FE0D800053CDD1C571BBF375DC647B9F23FDA861CEB369832A3593BB1AA4B8A7245AD187ED24ADDF6FB147130827CDC17BA8370C4838        []      []      {}      Sector=2        urn:o-ran:smo:teiv:sha512:SECTOR_GROUPS_NRCELLDU=F892571703F0E20A37F3950818DEFA9991ACF35828EEEBD3E43404218F947E1F522258A1F31F4C82A53E7E60D9E1A7AC7AC4219A0D9DD0D8FD192BC73BBB5101       []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91      91      91      789     456     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=91", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]  []      {}      \N      \N      []      []      {}      \N      \N      []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=92      92      92      789     456     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=92", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]  []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19   urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=DDECCEFB8831FA4EB21B121BA35EAB07ED8D841B5A38580C5F3AD11E66FE73D2FC42E823C6C73288860C7562B610C3D07B6C39FD386171A3BE622096F4B3D006        []      []      {}      \N      \N      []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=93      93      93      789     456     ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19,NRCellDU=93", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]  ["test-app-module:Rural"]       {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,ODUFunction=19   urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRCELLDU=7723E5D5B3332E0890EAA620C77A6A47065E15A2EA28AD83F3B3CFEA5A7E3BB5965AE78890F1BF000EAA89BF8DE209E506192BF5EA6871426603ED76CBFAF088        []      []      {}      \N      \N      []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_NRSectorCarrier" ("id", "arfcnDL", "arfcnUL", "bSChannelBwDL", "frequencyDL", "frequencyUL", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_provided-by-oduFunction", "REL_ID_ODUFUNCTION_PROVIDES_NRSECTORCARRIER", "REL_CD_sourceIds_ODUFUNCTION_PROVIDES_NRSECTORCARRIER", "REL_CD_classifiers_ODUFUNCTION_PROVIDES_NRSECTORCARRIER", "REL_CD_decorators_ODUFUNCTION_PROVIDES_NRSECTORCARRIER", "REL_FK_used-by-nrCellDu", "REL_ID_NRCELLDU_USES_NRSECTORCARRIER", "REL_CD_sourceIds_NRCELLDU_USES_NRSECTORCARRIER", "REL_CD_classifiers_NRCELLDU_USES_NRSECTORCARRIER", "REL_CD_decorators_NRCELLDU_USES_NRSECTORCARRIER", "REL_FK_used-antennaCapability", "REL_ID_NRSECTORCARRIER_USES_ANTENNACAPABILITY", "REL_CD_sourceIds_NRSECTORCARRIER_USES_ANTENNACAPABILITY", "REL_CD_classifiers_NRSECTORCARRIER_USES_ANTENNACAPABILITY", "REL_CD_decorators_NRSECTORCARRIER_USES_ANTENNACAPABILITY") FROM stdin;
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=1  507000  507000  10000   2535000 2535000 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=1", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9     urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRSECTORCARRIER=BE61426CAEA457C85D8B551A1A75BFA157BBCE6F143110661C4C9D406A7AAF22D8522515CE924CFB3A9E54E68588A45D3A51065BD24ADBA62CC0FDA761AEE2FC []      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1  urn:o-ran:smo:teiv:sha512:NRCELLDU_USES_NRSECTORCARRIER=7B9425BBD6977FEA6C180F6078CFBAEBE65400223B29E0EFA4F38424FAD66C690806778909177ECF1457CAC18E5BCF6FA4F24E3ECE524C89DE68108708D6D876        []      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1   urn:o-ran:smo:teiv:sha512:NRSECTORCARRIER_USES_ANTENNACAPABILITY=11EDFC31E2BE240D3CB15DB1A3FA3B78C828524BC8FCA3365A615129A61A627C21DA8EBF6DD788CDBDEC668344D1F79A371749083D6AE04DDDD57CB4FA8C3ECB       []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=2  507000  507000  10000   2535000 2535000 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=2", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9     urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRSECTORCARRIER=C0E73797DB4599AB9ECACFC1FFE3543C92926070ECFBE77E7C15BA99DAFBB1D69352533D3DE5EB2D3D3CC84DAD51B242CB0FC594FF9E8B73C3B42106B0F9AF46 []      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2  urn:o-ran:smo:teiv:sha512:NRCELLDU_USES_NRSECTORCARRIER=2F87CE31F38D38B993786E3D75D253984DA2842F71504958AAF052D0728B309C73BB3132D6BEA011748BB0B94F489725DB5765AB5366702B812D5C76A772BD9C        []      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1   urn:o-ran:smo:teiv:sha512:NRSECTORCARRIER_USES_ANTENNACAPABILITY=27DF07D016FE349EC565DE2FB09303EE7D8700346624046F79D8DAC176E7FA221E918E3030758B51931C430919E14FD7D16720460F6E1585000C72874A1641DA       []      []      {}
-urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=3  507000  507000  10000   2535000 2535000 ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRSectorCarrier=3", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9     urn:o-ran:smo:teiv:sha512:ODUFUNCTION_PROVIDES_NRSECTORCARRIER=BD87BC547A6731B2905A989EBA493810C74258337C49BBB288F4F55734D28B4E40D9C719EC3564348253905BD93EC78EB7C88F2297FF20778911635E94800F74 []      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=3  urn:o-ran:smo:teiv:sha512:NRCELLDU_USES_NRSECTORCARRIER=950ED4540349F9859CEA9E47884A28CD567BDD2505A3C5335C8851A7AADF2AF65542157BB42D607EE3847E4223D76DE88B90762D0590E48693822FD6DCAE60CD        []      []      {}      urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1   urn:o-ran:smo:teiv:sha512:NRSECTORCARRIER_USES_ANTENNACAPABILITY=1B891FCC4F5479BC71127ED2EB43EA26AC3452F8C47792786373442C10BBC408FE5B779BF1CF732C81220803342F4FB969E348F9C5CEEDEC78F9764E186C633F       []      []      {}
-\.
-
-COPY ties_data."CFC235E0404703D1E4454647DF8AAE2C193DB402" ("id", "aSide_AntennaModule", "bSide_AntennaCapability", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_ANTENNACAPABILITY=ABD52B030DF1169F9F41C898913EF30F7BB5741F53352F482310B280C90AC569B7D31D52A2BB41F1F0099AE1EDD56CACF0B285D145A5584D376DD45DED1E2D65      urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A        urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1   []      []      {}
-urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_ANTENNACAPABILITY=8940999E2069725B463052BC35572FDB888C7B734459EE78A01B9F91E2607D87356425BC8EFF0B1C9057D852A4D3F9E1B09479D32FEE68C65EF2821B65F7BD80      urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7        urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1  []      []      {}
-\.
-
-COPY ties_data."o-ran-smo-teiv-ran_NRCellCU" ("id", "cellLocalId", "nCI", "nRTAC", "plmnId", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_provided-by-ocucpFunction", "REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU", "REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU", "REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU", "REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU") FROM stdin;
-\.
-
-COPY ties_data."o-ran-smo-teiv-equipment_Site" ("id", "geo-location", "name", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-\.
-
--- Test specific entries --
-
-CREATE TABLE IF NOT EXISTS ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" (
-       "id"                    TEXT,
-       "6446B2D4BE5E367FB0396383C4BDEF42D51CF74F"                      TEXT,
-       "F03B534AFF0872651FED60C54AB56BEDADAB94B5"                      BIGINT,
-       "333177AA699C0DE6399503171DCF48FB396322B0"                      INTEGER,
-       "027B1A8019C6DEF04558B90D9D8B52253B82FEC6"                      BIGINT,
-       "478D043D81678134EF1C8BFB073A70F882C4AF12"                      DECIMAL,
-       "8252D18D44F633831557076D827993C45278024D"                      jsonb,
-       "68C48305AB6C3A30DD927F5D38562379374A4B31"                      jsonb,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "REL_FK_provided-by-entityTypeA"                        TEXT,
-       "REL_ID_F64052A4F8BB3CC533EC15BBFB5E224F600735B0"                       TEXT,
-       "REL_CD_F26C39EC1F710F3096BE0588F6783A03A378516A"                       jsonb,
-       "REL_CD_E2C3D598A06EA38133E23C1756ED58A66FE21386"                       jsonb,
-       "REL_CD_92559ED73C761B860682582A040E745ECEC194D5"                       jsonb
-);
-
-ALTER TABLE ONLY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ALTER COLUMN "REL_CD_F26C39EC1F710F3096BE0588F6783A03A378516A" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ALTER COLUMN "REL_CD_E2C3D598A06EA38133E23C1756ED58A66FE21386" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ALTER COLUMN "REL_CD_92559ED73C761B860682582A040E745ECEC194D5" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" (
-       "id"                    TEXT,
-       "aSide_EntityTypeA"                     TEXT,
-       "bSide_A85CE100A012A71EF2ABA306BABE484AC2AAE515"                        TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb
-);
-
-ALTER TABLE ONLY ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."FB1E124031A12CD85D3335194B39B193723A0490" (
-       "id"                    TEXT,
-       "aSide_C812C285BEFA4EC42026AB075D9C65200A00F815"                        TEXT,
-       "bSide_A85CE100A012A71EF2ABA306BABE484AC2AAE515"                        TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb
-);
-
-ALTER TABLE ONLY ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-CREATE TABLE IF NOT EXISTS ties_data."test-built-in-module_EntityTypeA" (
-       "id"                    TEXT,
-       "CD_sourceIds"                  jsonb,
-       "CD_classifiers"                        jsonb,
-       "CD_decorators"                 jsonb,
-       "REL_FK_B7E43411C5C5079D49856E74A9FA63BD20C522C5"                       TEXT,
-       "REL_ID_31A5B55158140557F09AE15589A8B8038416689B"                       TEXT,
-       "REL_CD_AB6BDADE3F6C750C9FDB6CAD6059C4CBCE67236C"                       jsonb,
-       "REL_CD_75B161E740A96ADBAE6F08D4F85684ECC29049B9"                       jsonb,
-       "REL_CD_6F7211CAF505AECF9A565BC7A4AF56E7032CCC54"                       jsonb,
-       "REL_FK_A86937FEBD025CFDF6EE5BC386B4C569EB2652DA"                       TEXT,
-       "REL_ID_A974AD6DD8C4CA281D45693D3A61AE98FEE82845"                       TEXT,
-       "REL_CD_3B43F80D423BF8F96A2906643B7B4712604FC28B"                       jsonb,
-       "REL_CD_74A44B167FDF37D6C8E79B5033FEF8BC384C881A"                       jsonb,
-       "REL_CD_F5B24D9A7273119D4D1519473D9EC88CB407E5CA"                       jsonb
-);
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "CD_sourceIds" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "CD_classifiers" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "CD_decorators" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "REL_CD_AB6BDADE3F6C750C9FDB6CAD6059C4CBCE67236C" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "REL_CD_75B161E740A96ADBAE6F08D4F85684ECC29049B9" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "REL_CD_6F7211CAF505AECF9A565BC7A4AF56E7032CCC54" SET DEFAULT '{}';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "REL_CD_3B43F80D423BF8F96A2906643B7B4712604FC28B" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "REL_CD_74A44B167FDF37D6C8E79B5033FEF8BC384C881A" SET DEFAULT '[]';
-
-ALTER TABLE ONLY ties_data."test-built-in-module_EntityTypeA" ALTER COLUMN "REL_CD_F5B24D9A7273119D4D1519473D9EC88CB407E5CA" SET DEFAULT '{}';
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '10B9F515756871D3EF6558FAF1F112BAE207945D',
- 'PK_7A421D526B36AA9EEF17964BC27011A12FF80DBB',
- 'ALTER TABLE ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ADD CONSTRAINT "PK_7A421D526B36AA9EEF17964BC27011A12FF80DBB" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '54110F8D085BBBA7BB6DE5CE71B511562090F7EE',
- 'PK_4C48AAFA2160D74F9D13364AA2BE4FDB8A60689D',
- 'ALTER TABLE ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ADD CONSTRAINT "PK_4C48AAFA2160D74F9D13364AA2BE4FDB8A60689D" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'FB1E124031A12CD85D3335194B39B193723A0490',
- 'PK_020B03AED5787D1B43ABBD9F2C26B494ADDBC7CD',
- 'ALTER TABLE ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ADD CONSTRAINT "PK_020B03AED5787D1B43ABBD9F2C26B494ADDBC7CD" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'test-built-in-module_EntityTypeA',
- 'PK_test-built-in-module_EntityTypeA_id',
- 'ALTER TABLE ties_data."test-built-in-module_EntityTypeA" ADD CONSTRAINT "PK_test-built-in-module_EntityTypeA_id" PRIMARY KEY ("id");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '10B9F515756871D3EF6558FAF1F112BAE207945D',
- 'FK_B0923C0CCED6CF47CFF759FFE1B810D6CA10D228',
- 'ALTER TABLE ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ADD CONSTRAINT "FK_B0923C0CCED6CF47CFF759FFE1B810D6CA10D228" FOREIGN KEY ("REL_FK_provided-by-entityTypeA") REFERENCES ties_data."test-built-in-module_EntityTypeA" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '10B9F515756871D3EF6558FAF1F112BAE207945D',
- 'UNIQUE_B1C2FC9A96300B2BE45785DE60E152D8E85FBE14',
- 'ALTER TABLE ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ADD CONSTRAINT "UNIQUE_B1C2FC9A96300B2BE45785DE60E152D8E85FBE14" UNIQUE ("REL_ID_F64052A4F8BB3CC533EC15BBFB5E224F600735B0");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '54110F8D085BBBA7BB6DE5CE71B511562090F7EE',
- 'FK_2839E6FFDF7F3DF2687DAC3E57082AD6B22E9B30',
- 'ALTER TABLE ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ADD CONSTRAINT "FK_2839E6FFDF7F3DF2687DAC3E57082AD6B22E9B30" FOREIGN KEY ("aSide_EntityTypeA") REFERENCES ties_data."test-built-in-module_EntityTypeA" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       '54110F8D085BBBA7BB6DE5CE71B511562090F7EE',
- 'FK_33B5669A341584011D9A73FB491FF2242A158057',
- 'ALTER TABLE ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ADD CONSTRAINT "FK_33B5669A341584011D9A73FB491FF2242A158057" FOREIGN KEY ("bSide_A85CE100A012A71EF2ABA306BABE484AC2AAE515") REFERENCES ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" (id) ON DELETE CASCADE;'
-);
-
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'FB1E124031A12CD85D3335194B39B193723A0490',
- 'FK_2A5C84A2226EE0FCAAA513CC5AF4CD78DDDAF49F',
- 'ALTER TABLE ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ADD CONSTRAINT "FK_2A5C84A2226EE0FCAAA513CC5AF4CD78DDDAF49F" FOREIGN KEY ("aSide_C812C285BEFA4EC42026AB075D9C65200A00F815") REFERENCES ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'FB1E124031A12CD85D3335194B39B193723A0490',
- 'FK_FBFE10B6F165A8EC2086B8DEAFA238E0DD6643F5',
- 'ALTER TABLE ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ADD CONSTRAINT "FK_FBFE10B6F165A8EC2086B8DEAFA238E0DD6643F5" FOREIGN KEY ("bSide_A85CE100A012A71EF2ABA306BABE484AC2AAE515") REFERENCES ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'test-built-in-module_EntityTypeA',
- 'FK_02592FFA6AFD7EAC7AFAD936E3CD50708E4533E0',
- 'ALTER TABLE ties_data."test-built-in-module_EntityTypeA" ADD CONSTRAINT "FK_02592FFA6AFD7EAC7AFAD936E3CD50708E4533E0" FOREIGN KEY ("REL_FK_B7E43411C5C5079D49856E74A9FA63BD20C522C5") REFERENCES ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'test-built-in-module_EntityTypeA',
- 'UNIQUE_7715FF94E14F99CE4994ABBD8C2583CBA9EAE5BD',
- 'ALTER TABLE ties_data."test-built-in-module_EntityTypeA" ADD CONSTRAINT "UNIQUE_7715FF94E14F99CE4994ABBD8C2583CBA9EAE5BD" UNIQUE ("REL_ID_31A5B55158140557F09AE15589A8B8038416689B");'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'test-built-in-module_EntityTypeA',
- 'FK_5CD9BCFA08278DA0BF902BAFBCFCDFCE4FF25FEF',
- 'ALTER TABLE ties_data."test-built-in-module_EntityTypeA" ADD CONSTRAINT "FK_5CD9BCFA08278DA0BF902BAFBCFCDFCE4FF25FEF" FOREIGN KEY ("REL_FK_A86937FEBD025CFDF6EE5BC386B4C569EB2652DA") REFERENCES ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" (id) ON DELETE CASCADE;'
-);
-
-SELECT ties_data.create_constraint_if_not_exists(
-       'test-built-in-module_EntityTypeA',
- 'UNIQUE_67DB5E4BC34AB83BDC069A5CAF73B57967D5C2D9',
- 'ALTER TABLE ties_data."test-built-in-module_EntityTypeA" ADD CONSTRAINT "UNIQUE_67DB5E4BC34AB83BDC069A5CAF73B57967D5C2D9" UNIQUE ("REL_ID_A974AD6DD8C4CA281D45693D3A61AE98FEE82845");'
-);
-
-COPY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ("id", "6446B2D4BE5E367FB0396383C4BDEF42D51CF74F", "F03B534AFF0872651FED60C54AB56BEDADAB94B5", "333177AA699C0DE6399503171DCF48FB396322B0", "027B1A8019C6DEF04558B90D9D8B52253B82FEC6", "478D043D81678134EF1C8BFB073A70F882C4AF12", "8252D18D44F633831557076D827993C45278024D", "68C48305AB6C3A30DD927F5D38562379374A4B31", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-LongEntityType1        someStringValue 9223372036854775807     2147483647      -9223372036854775807    1.1     ["1000", "2000"]        {"mcc":"01","mnc":"234"}        []      []      {}
-\.
-
-COPY ties_data."test-built-in-module_EntityTypeA" ("id", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_B7E43411C5C5079D49856E74A9FA63BD20C522C5", "REL_ID_31A5B55158140557F09AE15589A8B8038416689B", "REL_CD_AB6BDADE3F6C750C9FDB6CAD6059C4CBCE67236C", "REL_CD_75B161E740A96ADBAE6F08D4F85684ECC29049B9", "REL_CD_6F7211CAF505AECF9A565BC7A4AF56E7032CCC54", "REL_FK_A86937FEBD025CFDF6EE5BC386B4C569EB2652DA", "REL_ID_A974AD6DD8C4CA281D45693D3A61AE98FEE82845", "REL_CD_3B43F80D423BF8F96A2906643B7B4712604FC28B", "REL_CD_74A44B167FDF37D6C8E79B5033FEF8BC384C881A", "REL_CD_F5B24D9A7273119D4D1519473D9EC88CB407E5CA") FROM stdin;
-EntityType1    []      []      {}      \N      \N      []      []      {}      LongEntityType1 RelId_OneToOne_EntityType1_LongEntityType1      []      []      {}
-EntityType2    []      []      {}      LongEntityType1 Rel_ManyToOne_EntityType2_LongEntityType1       []      []      {}      \N      \N      []      []      {}
-\.
-
-COPY ties_data."10B9F515756871D3EF6558FAF1F112BAE207945D" ("id", "6446B2D4BE5E367FB0396383C4BDEF42D51CF74F", "F03B534AFF0872651FED60C54AB56BEDADAB94B5", "333177AA699C0DE6399503171DCF48FB396322B0", "027B1A8019C6DEF04558B90D9D8B52253B82FEC6", "478D043D81678134EF1C8BFB073A70F882C4AF12", "8252D18D44F633831557076D827993C45278024D", "68C48305AB6C3A30DD927F5D38562379374A4B31", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_provided-by-entityTypeA", "REL_ID_F64052A4F8BB3CC533EC15BBFB5E224F600735B0", "REL_CD_F26C39EC1F710F3096BE0588F6783A03A378516A", "REL_CD_E2C3D598A06EA38133E23C1756ED58A66FE21386", "REL_CD_92559ED73C761B860682582A040E745ECEC194D5") FROM stdin;
-LongEntityType2        \N      \N      \N      \N      \N      \N      \N      []      []      {}      EntityType2     Rel_OneToMany_EntityType2_LongEntityType2       []      []      {}
-LongEntityType3        \N      \N      \N      \N      \N      \N      \N      []      []      {}      \N      \N      []      []      {}
-\.
-
-COPY ties_data."54110F8D085BBBA7BB6DE5CE71B511562090F7EE" ("id", "aSide_EntityTypeA", "bSide_A85CE100A012A71EF2ABA306BABE484AC2AAE515", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-Rel_ManyToMany_EntityType1_LongEntityType1     EntityType1     LongEntityType1 []      []      {}
-\.
-
-COPY ties_data."FB1E124031A12CD85D3335194B39B193723A0490" ("id", "aSide_C812C285BEFA4EC42026AB075D9C65200A00F815", "bSide_A85CE100A012A71EF2ABA306BABE484AC2AAE515", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
-Rel_OneToOne_SameEntity_LongEntityType1_LongEntityType2        LongEntityType1 LongEntityType2 ["urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"]       ["test-app-module:Weekday"]     {"test-app-module:textdata":"ORAN","test-app-module:intdata":123}
-Rel_OneToOne_SameEntity_LongEntityType2_LongEntityType3        LongEntityType2 LongEntityType3 ["urn:cmHandle:C4388D6BB970EC663F88B46CC14F8617"]       ["test-app-module:Weekend"]     {"test-app-module:textdata":"ORAN","test-app-module:intdata":234}
-\.
-
-COMMIT;
-
index ee3b2bd..b9e2ce8 100644 (file)
@@ -22,9 +22,9 @@
 
 BEGIN;
 COPY ties_data."responsible_adapter" ("id", "hashed_id") FROM stdin;
-namespace-ran-topology-adapter 
-namespace:ran-topology-adapter \\xe7ed2726d18e3eb3c36fd1b932ab7b9a1def21ec
-test-namespace:test-adapter-id \\x866db960e7d78018cbdf401ff8c0db523f0e27bb
+orannamespace-ran-topology-adapter     \\xff10444ea1540885f3e34b3670be8bbfd6a780c6
+namespace-ran-topology-adapter \\x5f270b1ee231080eb5ffd2e04077cdcfe60e018a
+test-namespace-test-adapter-id \\x41131feea09d9620d911657a710803ea92414059
 ran-topology-adapter   \\x5b35d8c6c5f8e8acb48912b8f328ebc9b6924e03
 \.
 
@@ -107,6 +107,11 @@ urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_ANTENNACAPABILITY=ABD52B030DF1169
 urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_ANTENNACAPABILITY=8940999E2069725B463052BC35572FDB888C7B734459EE78A01B9F91E2607D87356425BC8EFF0B1C9057D852A4D3F9E1B09479D32FEE68C65EF2821B65F7BD80      urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7        urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1  ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]     []      {}      {"reliabilityIndicator":"OK"}
 \.
 
+COPY ties_data."o-ran-smo-teiv-rel-equipment-ran_ANTENNAMODULE_SERVES_NRCELLDU" ("id", "aSide_AntennaModule", "bSide_NRCellDU", "CD_sourceIds", "CD_classifiers", "CD_decorators") FROM stdin;
+urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_NRCELLDU=ABD52B030DF1169F9F41C898913EF30F7BB5741F53352F482310B280C90AC569B7D31D52A2BB41F1F0099AE1EDD56CACF0B285D145A5584D376DD45DED1E2D65       urn:o-ran:smo:teiv:sha512:AntennaModule=308D6602D2FE1C923DF176A0F30688B1810DFA7BC4AD5B8050BF9E27361ECA86E86B47B8582DC28E8CE92EB81822DE248845E87094557A953FD9F15BA508B03A        urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=1  ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,NodeSupport=1,SectorEquipmentFunction=1", "urn:cmHandle:C4388D6BB970EC663F88B46CC14F8616"] ["gnbcucp-gnbcuup-model:Weekend"]       {"gnbcucp-gnbcuup-model:metadata":"value1"}
+urn:o-ran:smo:teiv:sha512:ANTENNAMODULE_SERVES_NRCELLDU=8940999E2069725B463052BC35572FDB888C7B734459EE78A01B9F91E2607D87356425BC8EFF0B1C9057D852A4D3F9E1B09479D32FEE68C65EF2821B65F7BD80       urn:o-ran:smo:teiv:sha512:AntennaModule=971FCD28D02B78DDD982611639A0957140339C5522EAAF3FBACA1B8308CF7B0A870CFA80AE04E259805B2A2CB95E263261309883B4D4BF50183FA17AFBA47EA7        urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=9,ODUFunction=9,NRCellDU=2  ["urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaUnit=1,AntennaSubunit=1", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,Equipment=1,AntennaUnitGroup=1,AntennaNearUnit=1,RetSubUnit=1", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC", "urn:3gpp:dn:SubNetwork=Europe,SubNetwork=Hungary,MeContext=1,ManagedElement=19,NodeSupport=1,SectorEquipmentFunction=1", "urn:cmHandle:03661FA2E41EF3D12CAAD5954CD985AC"]     []      {}
+\.
+
 COPY ties_data."o-ran-smo-teiv-ran_NRCellCU" ("id", "cellLocalId", "nCI", "nRTAC", "plmnId", "CD_sourceIds", "CD_classifiers", "CD_decorators", "REL_FK_provided-by-ocucpFunction", "REL_ID_OCUCPFUNCTION_PROVIDES_NRCELLCU", "REL_CD_sourceIds_OCUCPFUNCTION_PROVIDES_NRCELLCU", "REL_CD_classifiers_OCUCPFUNCTION_PROVIDES_NRCELLCU", "REL_CD_decorators_OCUCPFUNCTION_PROVIDES_NRCELLCU") FROM stdin;
 \.