code: def origination(self):
          
          if not hasattr(self, '_origination'):
              data = self.tagged_blocks.get_data('VECTOR_ORIGINATION_DATA', {})
              self._origination = [
                  Origination.create(x) for x
                  in data.get(b'keyDescriptorList', [])
                  if not data.get(b'keyShapeInvalidated')
              ]
          return self._origination
docs: Property for a list of live shapes or a line.
  
          Some of the vector masks have associated live shape properties, that
          are Photoshop feature to handle primitive shapes such as a rectangle,
          an ellipse, or a line. Vector masks without live shape properties are
          plain path objects.
  
          See :py:mod:`psd_tools.api.shape`.
  
          :return: List of :py:class:`~psd_tools.api.shape.Invalidated`,
              :py:class:`~psd_tools.api.shape.Rectangle`,
              :py:class:`~psd_tools.api.shape.RoundedRectangle`,
              :py:class:`~psd_tools.api.shape.Ellipse`, or
              :py:class:`~psd_tools.api.shape.Line`.