module check {
   yang-version 1;
   namespace "modelObjectTest";
   prefix nd;
   container cont50 {
       leaf leaf51 {
           type int32;
       }
   }
   list list52 {
       key leaf52;
       leaf leaf52 {
           type int32;
       }
   }

   container cont53 {
       leaf-list leaf54 {
           type string;
       }
       leaf leaf55 {
           type string;
       }
   }

   list list56 {
       config false;
       leaf-list leaf57 {
           type string;
       }
       leaf leaf58 {
           type string;
       }
   }

   augment /list56 {
       container cont56 {
          leaf cl56 {
              type int32;
          }
      }
   }

   augment /list56/cont56 {
       container cont57 {
          leaf cl57 {
              type int32;
          }
          uses group1;
      }
   }

    grouping group1 {
        container cont58 {
            leaf cl58 {
               type int32;
            }
        }
        list list57 {
            key "gl57";
            leaf gl57 {
                type string;
            }
        }
    }
}