code: def render(self, name, value, attrs=None, **kwargs):
          
          min_score = zxcvbn_min_score()
          message_title = _('Warning')
          message_body = _(
              'This password would take '
              '<em class="password_strength_time"></em> to crack.')
  
          strength_markup = """
          <div class="progress-bloc" style="margin-top: 10px;">
              <div class="progress" style="margin-bottom: 10px;">
                  <div class="progress-bar
                              progress-bar-warning
                              password_strength_bar"
                       role="progressbar"
                       aria-valuenow="0"
                       aria-valuemin="{min_score}"
                       aria-valuemax="4"
                       style="width: 0%%">
                  </div>
              </div>
              <p class="text-muted password_strength_info hidden">
                  <span class="label label-danger">
                      {title}
                  </span>
                  <span style="margin-left:5px;">
                      {body}
                  </span>
              </p>
          </div>
          """
  
          strength_markup = strength_markup.format(
              title=message_title,
              body=message_body,
              min_score=min_score)
  
          try:
              self.attrs['class'] = '%s password_strength'.strip() % self.attrs['class']  # noqa
          except KeyError:
              self.attrs['class'] = 'password_strength'
  
          return mark_safe(super(PasswordStrengthInput, self).render(  # nosec
              name, value, attrs) + strength_markup)
docs: Widget render method.